Unity+Oculus+MMD とりあえず書き留めておく場所

Unity+Oculus+MMD VRでキャラクターと遊ぶ

5. HeadLook機能の実装(準備編)

前回までで、なんとなくですがUnity内の操作方法がわかったのではないかと思います。

次は、HeadLookControllerというスクリプトを使って、モデルに「いつも体験者の方を向く」機能を実装しましょう。

準備として、これから必要になるであろうものをいくつか先にダウンロードし、Unity内にインポートしておきます。

UnityPackageやスクリプトの入手

①UnityのStandardAsset

https://www.assetstore.unity3d.com/jp/#!/content/32351

Unityを使用する上で色々と役立つものが入っている標準的なPackageです。

アセットストアから入手できます(旧バージョンのものも現在まだストアにありますので、間違えないよう気をつけてください。リンク先はUnity5以上を使用している場合向けのPackageです)

アセットストアへは、普通にブラウザからアクセスしても構いませんし、Unityのメニューバーから「Window」→「Asset Store」でタブ表示することも出来ます。

f:id:emifuwa:20171123220043j:plain

タブ小さすぎて見にくい!と思ったら、タブ名のあたりを左ドラッグで掴んで、画面上の方にぐーっと押し上げると、独立タブにすることも出来ます。

f:id:emifuwa:20171123220111j:plain

もちろん他のビューもこんな感じで独立タブにすることが出来ますし、コンパクトにしまっておきたければどこかのタブの脇にでもドラッグすれば、その場所に置いておくこともできます。

アカウント・ログイン・インポート手順などに関しては、こちらの記事を参照のこと。

www.atmarkit.co.jp

 Standard Assetを正しくインポートできれば、Assetフォルダの中身はこんな感じになっていると思います。

f:id:emifuwa:20171123191852j:plain

こうやって様々なアセット(Unityでは3Dモデルや画像、音楽ファイルなど、使用する全ての素材のことをアセットと言います)をAssetフォルダにインポートし、そこからHierarchyに乗せてSceneに表示していくことになります。

②Oculus Utilities for Unity

Oculus固有の機能を使うためのものです。

以前はこの中の専用カメラがないとVR対応出来なかったのですが、現在はUnity側がチェック一つでVR対応できるようになったため、一応はなくても作業は可能です(今回の作業では使用していません)。

ただ、中に入っている「OVRPlayerController」などをカメラの代わりに使用すると、キーボードの矢印キーで空間を移動したりすることが簡単にできます。

また、touch対応のコンテンツを作りたい場合などは、OVRのカメラを使った方が楽です。

Unity | Developer Center | Oculus

このページの一番上の「Core Packege」から「Oculus Utilities for Unity」の方をクリックすると、ダウンロードページに飛びます。チェックを入れてダウンロードしてください。

f:id:emifuwa:20171124111020j:plain

ファイルをどこか任意の場所に展開しておき、Unityを起動した状態で、メニューバー→「Asset」→「Import Package」→「Custom Package...」から開きましょう。

※もしかすると「バージョン違うけど大丈夫?」とかそんな感じのダイアログが途中で出るかもしれませんが、とりあえずそのまま進んでしまってください。

③Head Look Controller

https://www.assetstore.unity3d.com/jp/#!/content/4

モデルの目・顔・上半身などが、特定のオブジェクトを追いかけるようにできるスクリプトが含まれています。

こちらもStandard Assetと同様にインポートしましょう。

  

それと、忘れないうちに、画質維持のためのUnity全体のセッティングを行っておこうと思います。

Quality設定

 メニューバー「Edit」→「Project Setting」→「Quality」を選択してください。

Inspectorにクオリティのパラメータが表示されます。

一番上のQualityLevelはそのまま「Fantastic」に。

f:id:emifuwa:20171127142323j:plain

「Rendering」の「Anti Aliasing」「8×Multi Sampling」に。

 アンチエイリアスの精度を上げます。

「Shadows」の「Shadow Resolution」「Very High Solution」に。

「Other」の「Blends Weights」「4 Bonesに。

 特にpmx形式のモデル使用時には必ずこの項目にしてください。

f:id:emifuwa:20171127142417j:plain

以上の設定が終了したら、次回、ようやく実作業です。

 アセットストア使用上の注意 

※アセットストアでアセットを入手する場合、アセットの推奨バージョンに十分注意してください。

単純な3Dモデルだけのものの場合は問題ないことも多いのですが、インポートしたものの中に「Unity4では動くがUnity5では動かないスクリプトなどを含んでいた場合、インポートしただけでSceneの再生が出来なくなったりすることがままあります。

そんな時は必ずインポートの際に赤文字でエラーが出ます。原因となったファイルの場所や名前が表示されますので、それをUnity上で削除してしまえば元に戻ったりします。

推奨バージョンは「新しすぎても古すぎてもダメ」だったりするので、エラーが出て、当該スクリプトを削除しても再生が出来なくなってしまった場合は、原因となったアセットはとりあえずAssetフォルダから削除しましょう。

Projectのおおもとのフォルダについて

重要なことなのですが、UnityのProjectから何かを削除したい時は、必ずUnityの画面内で削除をしてください(Hierarchyビュー、Projectビュー、Assetフォルダなど)。

Projectが保存されているおおもとのフォルダを開いて削除をしてはいけません。かなり高い確率で、Projectが壊れます。

f:id:emifuwa:20171123214146j:plain

f:id:emifuwa:20171123214208j:plain

このモデルはもう使わないから…とか、このファイルは要らないよね?ということで、Projectの中身を整理したくなることはあると思うのですが、オブジェクトを足すのも削除するのも、全てUnityの作業画面内で行いましょう。

もとの保存場所は基本開かないくらいでいいと思います。ご注意を…

4. オブジェクトの移動とCameraの設定~出力まで

前回は、モデルをSceneに配置し、モーションを再生するところまで行きました。

今回は、カメラを配置してみましょう。

カメラの配置

まず、Sceneの中でモデルが見えやすいようにビューを調整します。

前にもやったように、Hierarchy上のモデルの名前をダブルクリックしてみてください。

これでモデルがSceneの真ん中に見えるようになります。

f:id:emifuwa:20171121132144j:plain

※前の状態によりけりで、ダブルクリックすれば必ず上の画像のような位置に来るわけではありません。自分の見えやすい位置にあればOKです。

Hierarchyを見ると、「Main Camera」「Directional Light」は既にこの場にあるはずですね(この2つの名前が表示されていない場合は、Hierarchy欄一番上、UnityアイコンのScene名のツリーを開いてください/グレーの▶をクリック)

どこにあるのか今ひとつわからないので、「Main Camera」をダブルクリックしてみましょう。

f:id:emifuwa:20171121132801j:plain

…どこ…( ;∀;)

最初のモデルの向きによっては、Cameraがどこにあるのかわかりにくいかもしれません。

Scene右上の「シーンギズモ」で、画面の向きを変えてみましょう。

f:id:emifuwa:20171121133743j:plain

XかYのコーンをクリックすると、どうやらCameraらしきものが見えてきました。

Sceneビューの上でマウスホイールを回すと、ズームイン・ズームアウトが出来るはずですね。それで、もうちょっと近づいてみましょう。

アップになるとこんな感じ。

f:id:emifuwa:20171121134344j:plain

これがUnityのカメラです。

カメラから2本伸びている白い線は、いまこのカメラが映している方向と画角を表しています。

現時点では、モデルのかなり後ろの方から、背中を映している状態です。

せめてモデルの正面に持ってこないといけません。

オブジェクトの移動

 オブジェクトの移動にはざっくり2つのやり方があります。

①Sceneビュー上にある操作ツール「移動」で動かす

②Inspectorビューの「Transform」コンポーネントで動かす

まず①からやってみましょう。

操作ツールはSceneビューの上にある、5つ並んだアイコンです。

f:id:emifuwa:20171121142912j:plain

ここで使うのは、左から二番目の「移動」ツール(ショートカットW)。

動かしたいオブジェクトをHierarchy上で選択し、このアイコンを押すと、Scene上に赤・黄・緑のそれぞれの方向に向けた矢印が出現します。

この矢印の上にカーソルを持っていき、ドラッグして引っ張るとオブジェクトが移動します。

f:id:emifuwa:20171121143002j:plain

実際に出てきた矢印を、モデルの方向に引っ張ってみましょう。

f:id:emifuwa:20171121143409j:plain

幾分移動し、Sceneビューに表示されたカメラのプレビューでも、下のGame画面でもモデルにだいぶ近づきました。

でもこれじゃまだ足りないですね。

見た目わかりやすいように、もっとSceneの真ん中にモデルを持っていきましょう。

ここでまたHierarchy上のモデルをダブルクリックしてSceneの真ん中に持ってきてもいいですし、操作ツールのてのひらアイコン(ハンドツールと言うらしい)を押して(ショートカットQ)、画面をドラッグして視点を移動しても構いません。

少しずつUnityの画面操作に慣れていきましょう。

さて、更に引っ張って、やっとモデルの前まで来ました。

f:id:emifuwa:20171121144245j:plain

モデルの体をすり抜けて移動し、映している方向は逆なので、右下のカメラプレビューにモデルが映っていません。

カメラの向きを180度変えないといけませんね。

ここで使うのは、「回転」ツール(ショートカットR)。

f:id:emifuwa:20171121144624j:plain

真ん中のアイコンです。

ここを押すと、Sceneに白い球と色のついたラインが現れますので、ラインのあたりをドラッグすればオブジェクトが回転します。

f:id:emifuwa:20171121144932j:plain

この状態から、黄色のラインのあたりを大きくドラッグすると

f:id:emifuwa:20171121145220j:plain

…だいたい…いい位置に来たでしょうか?カメラプレビューにも、Gameビューにも、正面にモデルが映っています。

ですが、キレイに180度ぴったりには回せていない気がします。

数値ぴったりにしたい場合は、

②Inspectorビューの「Transform」コンポーネントで動かす

こちらの方法を使っていきます。

まず、動かしたいオブジェクトをHierarchyで選択。

f:id:emifuwa:20171122093749j:plain

すると、Inspectorにオブジェクトの情報が表示されます。

どんなオブジェクトでも、一番上に「Transform」というコンポーネントがあり、ここでオブジェクトの位置・角度・大きさを数値で制御できます。

f:id:emifuwa:20171122093846j:plain

Position:オブジェクトの位置

Rotation:オブジェクトの角度

Scale:オブジェクトの大きさ

MMDで言うところのアクセサリファイル(xファイル)のような感じで制御できます。

モデルの大きさも簡単に変えられるので、PMXエディタ等でスケールを変更する必要はありません。

直接数値入力できる(※半角数字)のは無論のこと、それぞれの数値入力ボックスの「X・Y・Z」の文字の上にカーソルを重ねると、◁ ▷のマークが表示され、ドラッグで数値を動かすことが出来ます。

f:id:emifuwa:20171122095234j:plain

筆者はオブジェクトの移動はほぼこの機能と直接数値入力で行っており、①で説明した操作ツールでの移動は、画面で他のオブジェクトのバランスを見ながら移動したい時などに使用しています。

場面場面で使いやすい方を使ってみてください。

また、数値入力ボックスにはマイナスの値も入力出来ますし、現在の位置から「0.5だけ移動した場所に動かしたい」という場合などには「1+0.5」という数式入力も可能です。

さて、現時点でのカメラの位置・角度ですが、モデルの方を向いてきっちり180度ではなく、中途半端な数値で回転配置されてしまっているようです。

f:id:emifuwa:20171122102030j:plain

こういう場合はキーボードから直接数値入力した方が良さそうですね。

ボックスを選択し、Rotation(角度)のYの値を-180に入力し直します。

f:id:emifuwa:20171122102351j:plain

角度Yの数値が-180になり、カメラがモデルの正面を向くようになりました。

スケールの変更

今度は、モデルの大きさも変更してみましょう。

Unityでは、MMDモデルをインポートすると、実物よりやや小さく表示されます。

なので、Hierarchyに読み込んでからScaleを変更しましょう。だいたい1.2~1.3倍くらいの大きさにするとちょうどいいです。

Hierarchyでモデルを選択し、InspectorのTransformコンポーネントのScale数値を、手入力でXYZ全て「1.2」にしていきます。

半角英数入力モードで、Tabキーでボックスを移動していくと早いですね。

モデルの大きさが変わったことが、SceneやGameビューでも視認できます。

f:id:emifuwa:20171122103252j:plain

モデルを間近で見るには、Cameraはかなり近い位置に持っていく必要があります。

また、カメラの位置が低すぎるな?と思ったら、Main CameraのPositionのY数値(高さ)を1.4くらいにしてみるといいかもしれません。

視野角とカメラの描画距離

次は、Main Cameraの「Camera」コンポーネントを見てみてください。

f:id:emifuwa:20171122112121j:plain

様々な設定項目がありますが、とりあえず重要なのは3つ。

Field of ViewMMDで言うところの視野角

※デフォルトでは60になっていますが、30にすると良いでしょう。値が大きすぎるとモデルを眺めるには不向きですし、小さすぎると周囲の背景に影響が生じます。

Clipping Planes:カメラがどこまで描画をするかの距離

※デフォルトではNearが0.3になっていますが、この値ではモデルに近づいた際、カメラがモデルに埋まってしまい、モデルの中身が見えてしまいます。Nearは0.01が推奨値です。

Farは逆にどこまで遠くまで描画するかという数値です。デフォルトの「Far 1000」は1キロ先まで描画するということなのですが、FarとNearはあまり差があるとバランスが崩れるため、広大な空間を描画するのか、狭い部屋の中なのかなどを考え、数値を変えてみてください。

とりあえず、このくらいの数値にしてみました。

f:id:emifuwa:20171122114209j:plain

この辺まで来たら、また「再生」を押して、じっくりモデルを眺めてみるのもいいんじゃないでしょうか!

ちなみに、再生状態でもコンポーネントの数値を操作することが出来ます。

なので、VRで実際にモデルを見ながら数値をドラッグで操作する機能を使用し、モデルを近づけたり遠ざけたりして、ちょうどいい間合いを測ることができます。

ただし、注意すべきなのは「再生状態で動かした数値は再生を解除すると全て元の状態に戻る」ので、「このくらいの数値がちょうどいい!」と思ったら、その数値を覚えておいて、再生解除してからあらためて入力し直す必要があります。

こういったことがあるので、先の記事で「再生状態とそうでない状態を区別するためにインターフェイスに色をつける」ことを推奨しました。

もしくは、再生状態で数値を変えたあと、これでOK!と思ったら、該当コンポーネントの右上・歯車マークの上で右クリックをすると、コンポーネントの値をリセットしたりコピー&ペーストしたり出来るメニューが出てきます。

f:id:emifuwa:20171203135459j:plain

ここで「Copy Component」を選択しておいて、再生を解除し、再び歯車マークの上で右クリック→「Paste Component Values」を選択すると、再生状態でコピーしておいたコンポーネントがペーストされます。

再生状態での数値変更時は、そのまま解除してしまわないよう気をつけましょう。

buildの設定

とりあえず見られるものが完成したので、一つのデータとして出力してみましょう。

メニューバー「File」→「Build Setting...」で、build(出力)の設定画面が出てきます。

f:id:emifuwa:20171205094802j:plain

「Platform」で、どんなプラットフォーム向けにbuildするかを選択します。

ここでは、PC,MacLinux Standaloneを選択しましょう。

Target Platformにそれぞれの対象OS(ここでは「Windows」)を、Architectureは、ここでは「×86_64」を選択し(※ビルドに失敗してしまう時「×86」を選択するとうまくいく場合もあります)「Build」を押します。

保存用のダイアログが開きますので、保存場所を選択します。

Assetフォルダには保存できません。大きめのデータになりますので、余裕のありそうな場所に新しくフォルダを作り、そこに保存するのが良いでしょう。ここではローカルのDドライブに「DEMO1」というフォルダを作りました(※フォルダ名は半角英数で)。

いくつも違う種類のデータを作る予定があれば、「DEMO1」フォルダの中にまた新しいフォルダを1つ作り、Sceneがわかるような名前を(半角英数で)付けておくと良いでしょう。

Unityで何かを保存する時は、フォルダ名もファイル名も必ず半角英数にしてください。

f:id:emifuwa:20171205100308j:plain

「DEMO1」の中に「MIKU」というフォルダを作り、そこに「Miku」というファイル名で保存することにしました。exeという拡張子で保存されます。

出力は最初の一回がやや時間がかかり、修正した後同じ場面を出力する際はもう少し早くなります。

出力が終了すると、保存されているフォルダが自動的に開きます。

出力データを再生

f:id:emifuwa:20171205100701j:plain

フォルダの中のUnityアイコンのデータをダブルクリックすると、実行ファイルが起動します。

f:id:emifuwa:20171205101638j:plain

このようなダイアログが出てきますので、基本そのまま「Play!」を押して構いません。

Windowedにチェックが入っていれば、デスクトップに実行中の画面がミラーされます。

再生を中断する場合は、デスクトップでウィンドウの×をクリックするか、Escキーを押しましょう。

※中断がうまくいかない時は、Altキー+Escキーでうまくいくかもしれません。

※再生しようとすると「データがクラッシュしたよ!」のようなダイアログが出る場合は、保存場所が適切でないか、フォルダやファイル名が半角英数でないことが考えられます。 

3. Sceneへのモデル配置・モーション再生

前回、ついにモデルを変換することが出来ました。

今回はまず、メインの作業場所であるHierarchy+Sceneにモデルを持っていくことにします。

Sceneビューにモデルを表示する

Unityの画面内は、いろんなものをD&Dでファイル移動できます。

変換されたモデルを、そのままSceneビューもしくはHierarchyビューまでぐいっとD&Dしてください。

f:id:emifuwa:20171117174619j:plain

Hierarchyにモデル名が表示され、Sceneにモデルが表示されていることがわかります。

厳密に言えば、モデルを移動するというよりは、コピーするというか…

Assetフォルダという絵の具箱から、Hierarchyというパレットに色を乗せるような感じ…と筆者は思ってます。

 Sceneビューでの視点移動など

前回やったように、Hierarchy上のオブジェクト…ここではモデルの名前をダブルクリックすると、Sceneビューの中心にモデルが来ます。

自分から見にくい位置にモデルが居るなあ…と思ったら、少し視点を変えてみましょう。

まずSceneビュー右上にある「シーンギズモ」で表示方向を変更します。

f:id:emifuwa:20171117180403j:plain

X(赤)Y(青)Z(緑)は、MMDユーザーならごく見慣れたものだと思います。

それぞれの色の付いたコーン(円錐)の部分をクリックすると、方向がぐるぐると変わります。

そして、シーンビューの左上には、丸っこい手のひらのようなアイコンがあります。

ここを押した状態でScene内を左ドラッグすると、視点を移動することが出来ます。

(ショートカット:Q)

f:id:emifuwa:20171117181419j:plain

MMDで言うところの「右上の緑の十字架」と似たようなやつ…(あっちはアイコンドラッグで、こっちはボタン押してドラッグですが)

また、Sceneビューを右ドラッグすると、視点が回転します。

これはMMDとまったく同じですね。

Sceneビュー上でマウスホイール回転→ズームイン・ズームアウトMMDと同じ。

最初はMMDと勝手が違ってかなり使いにくいと思いますが、

モデルをダブルクリックで真ん中+手のひらで移動+ホイールでズーム+回転はギズモ…この辺に慣れてくれば、問題なく使えるようになります。

アニメーションを再生する

変換されたモデルは、モーションデータの最初のポーズを取っていると思いますが、まだ再生ボタンを押しても動きません。

アニメーションを再生するために、「Animator Controller」を設定しましょう。

まずHierarchy上でモデルの名前を選択すると、画面右の「Inspector」にモデルのプロパティが表示されます。

f:id:emifuwa:20171118100931j:plain

いくつかのパネルで構成されていますが、これらのパネルをコンポーネントと呼んでいます。

モデルの位置情報(Transform)や、MMD4Mechanimによって変換されたモデルであることがわかります。

その中に「Animator」というコンポーネントがありますね。

ここの「Controller」という箇所、今は「None」となっていますが、ここに、このモデルを動かすための「Animator Controller」を設定します。

やり方はいくつかありますが、一番簡単で手っ取り早い方法を紹介します。

まず、Project内・Assetsフォルダの中にある、おおもとの変換後モデルの方に注目します。 

水色のキューブのアイコンの左横にある、グレーの「▶」をクリックしてツリーを開くと、その中には変換済のモーションデータが入っていることがわかります(ここでは「1基本モーション」という名称)

f:id:emifuwa:20171118101108j:plain

このモーションをクリックして選択し、そのままInspector上のモデルの名前めがけてD&Dします。名前の上に乗っける感じ…

f:id:emifuwa:20171118101335j:plain

設定に成功すると、InspectorのAnimatorコンポーネントの「Controller」に、モデルと同じ名前の「Animator Controller」が設定されているのがわかります。

少しわかりにくいのですが、フォルダの中にAnimatorControllerファイルが自動生成されていますね。

f:id:emifuwa:20171118164054j:plain

では、モーションがちゃんと設定されているか、ほかの場所からも確認してみましょう。

現在、このUnity画面には、まだ登場していないタブがいくつかあります。

それらを画面に追加していきます。

タブの追加

画面左下、Gameビュータブの名前が表記されているあたりにカーソルを持っていき、右クリックして出て来るメニューから「Add Tab」→「Animation」を選択します。 

f:id:emifuwa:20171118102703j:plain

すると、Gameビューの横に「Animation」というタブが表示されました。

f:id:emifuwa:20171118102923j:plain

モーションのファイル名も確認でき、モーションキーらしきものも見えます。

(※ちなみに、ここでキーをいじってモーションを変更することはほぼ不可能なので、ここで修正することはあきらめてMMDで作り直しましょう)

必要ない時はGameビューのタブをクリックして、そちらを表示させておいて構いません。

あともう一枚追加します。

以前は右クリック→Add tabで追加できた気がするのですが…このバージョンで確認したらメニューになかったので、別の場所から。

メニューバー→「Window」→「Animator」を選択してください。

f:id:emifuwa:20171118103456j:plain

すると、たぶんSceneタブの横に「Animator」タブが出来ていると思います。

f:id:emifuwa:20171118103808j:plain

中に、モーション名が表記された黄色いかたまり(ステートと呼ばれます)があるのがわかりますね。

ここは複数のモーションデータをくっつけたりなんだかんだする場所なのですが、とりあえずは「こういうところがあるんだな~」程度で構いません。普段は使わないので、Sceneタブの方をクリックしてSceneを表側に表示しておいてください。

Hierarchyタブでモデルを選択した状態で、Animatorタブで黄色いステートが表示されていなかったら「モーションが登録できていない」ということです。

Animatorタブに黄色いステートもあるし、Animationタブにもキーが表示されているので、モーションはちゃんと登録できているようです。

再生ボタンを押してみましょう。

f:id:emifuwa:20171118110149j:plain

モーションを登録できていれば、問題なく動いてくれるはずです。

「AnimatorControllerを設定する」のが一番忘れがちなのでご注意を。

現時点では、カメラがまだ遠くにある上にモデルが向こうを向いているので、Riftで覗いてみても「遠くにいるな~」って感じですよね…

とりあえず、ProjectとSceneをこの辺で一回保存しておきましょう。

音声の追加

ダンスモーションを適用したので、音声も入れたい!という場合。

まず、音源ファイル(wavでいいと思います)をProjectに読み込みます。
D&Dで構いません(ここでは、とりあえずモデルのフォルダの中にD&Dしました)。

すると、オレンジ色の波形のようなアイコンのファイルが読み込まれました。

f:id:emifuwa:20171206101940j:plain

ダンスモーションに合わせたい場合は、モデルを選択し、MMD4Mechanimのコンポーネントから「Anim」タブの中の「Audio Clip」というところに音源ファイルをD&Dします。

ここに音源ファイルを設定すれば、モデルは自動的に音源に合わせて踊ってくれる…はずなのですが…

稀に、モーションと音源がズレてくることがあります。

キー数の多いモーションなどで、たまに生じる不具合なのですが…対策としては

MMD側で不要キー削除を行ったモーションを使う

②音声ファイルの方を加工する

といった感じになります。

それ以外の音声の追加や、基本的なUnityの中での音源の扱いなどに関しては、いくつかリンクをはっておきますのでそちらをご参照ください。

その1 Unityのサウンドの根っこ

[Unity] Unity×音についてざっくりまとめ - Qiita

※なお、配布されているダンスモーションにもたいてい利用規約が存在します。そちらをよく確認の上ご使用ください。

動かしてみて、モーションを修正したくなったら(モデルの再変換)

実際にVRで動かしてみると「ああ~ここのモーションはもうちょっとこうした方が…」っていうのが必ず出てくると思います。

Animationタブでモーションキーらしきものが出てきますが、あれをどうにかしてモーションを修正するのは無理なので、諦めてMMDでモーションを作り直してください。

保存の際は、最初のモーションと区別出来るように、またUnity上で判別しやすいような名前をつけていくといいと思います(日本語でOKです)。

モデルに新しいモーションを入れて変換し直す必要が出て来るのですが、この際にHierarchy上のモデルは削除しないでおいてください

なぜなら、「おおもとを削除しても、Hierarchy上から削除しない限り、このモデルがここにあったという情報がまだ残っているから」です。

f:id:emifuwa:20171118111838j:plain

今後作業をしていく上で、Inspectorでモデルの位置や大きさ、向きを調整したり、モデルに必要なコンポーネントをどんどん足していくことになると思います。

Hierarchy上からモデルを削除してしまうと、それらの情報は残りません。

また一から全部設定し直しです。めんどくさいです。

ですが、Hierarchy上では削除せずおおもとのモデルだけを変換し直せば、完全に同じモデルを変換し直した場合に限り、自動的にScene上に同じ状態で現れてくれます。

なので、モーションを変更するためには、とりあえず

MMDで新しいモーションを作成する

→AssetフォルダにD&Dする

→MMD4Mechanimファイルを選択し、新しいモーションを入れ、Processを押す

→新しいモーションを含んだモデルが生成される

という流れになります(その先もあります)。

では、新しいモーションをAssetフォルダにD&Dしたとして、その先を解説します。

f:id:emifuwa:20171118114554j:plain

上図の通りに新しいモーションを入れてProcessを押すと、変換後モデルが2つに増えるわけではなく、以前作成した変換後モデルの中身が自動的に新しいモーションに変わります

一見なにも変わっていないように見えますが、モデルのツリーを開いてみると、モーション名が変更されているのがわかります。

f:id:emifuwa:20171118120514j:plain

ですが、このまま新しいモーションを再生できるわけではありません。

Hierarchy上でモデルを選択し、さきほど追加した「Animatorタブ」をクリックして見てみると、モーション登録は以前の「1.基本モーション」のままになってます。

f:id:emifuwa:20171118121049j:plain

モーションを再登録する必要があります。 

まず、一番最初にモーションを登録する時に自動生成された「AnimatorController」をフォルダの中から削除してしまいます。

f:id:emifuwa:20171118170402j:plain

同じようなアイコン・同じような名前が並んでわかりにくいですが、変換後モデルの下にあるファイルです。

フォルダの中にある方を選択して削除してしまえば、InspectorのAnimatorコンポーネントに登録されている方も消えます。

f:id:emifuwa:20171118170959j:plain

あとは、一番最初にモーションを登録したのと同じ手順を繰り返します。

変換後モデルのツリーを開いた中に入っている新しくなったモーションを、Hierarchy上のモデルにD&Dします。このページの「アニメーションを再生する」の項目で説明していますね。

そうすれば、また新しくAnimatorControllerが自動生成し、モデルに新しいモーションが登録されます。

ですが…これでも何かうまくいかない時があります。

「新しいモーションにしたはずなのに新しい動きが反映されてない…」

「表情モーションだけ消えちゃってる…」

なんてことが、ままあります。

こんな時は慌てず騒がず、Hierarchy上のモデルを選択し、モデルのInspectorを表示させます。

モーションがモデルにちゃんと登録されているかどうか確認する箇所は、AnimatorControllerが適切に設定されていることと、「Anim」タブ内にanimファイルがちゃんと登録されているかどうかです。

f:id:emifuwa:20171118172214j:plain

Inspectorの「MMD4Mechanim Model(Script)」というコンポーネントがあります。

ここでモデルの様々な設定ができるのですが、ここでは「Anim」をクリックします。

Animタブの中を見てみると、ここに設定されているanimファイルが、前のままになっているのがわかりました。

(よくあるんだこれが…)

f:id:emifuwa:20171118173115j:plain

animファイルは、モーション変換時に自動生成されるファイルです。

f:id:emifuwa:20171118173633j:plain

フォルダの中にありますので、それをD&Dで「Anim File」のところに持っていきましょう。

(「Anim File」欄の一番右の◎部分をクリックすると、ファイル選択ウィンドウが開きます。そこからファイルを選択することもできます)

そうすれば、まず問題なく新しいモーションを再生できるはずです。

「めんどくさいな~~!!」と思った方も居ると思いますが、慣れです。

 修正したモーションに変更する手順をまとめると、

①新しいモーションをAssetフォルダに入れる

②変換後モデルとAnimatorControllerは一旦削除する

(※変換したモデルを削除しなくても再変換すれば勝手に入れ替わるんだけど、私は一旦削除してからまた新しく変換し直します~)

③新しいモーションをMMD4Mechanimに入れて再変換

④変換後モデルのツリーを開いて新しいモーションをHierarchyのモデルに乗せる

(すると新しいAnimatorControllerが自動生成・設定される)

⑤InspectorのMMD4MechanimコンポーネントのAnimタブに、新しいanimファイルがちゃんと設定されてるか確認する

わかってしまえばこれだけの作業です。「あ~~やっぱanimがちゃんと入ってない~~」とか言いながら作業できます。

なにごとも最初は慣れですので…!!頑張りましょう!! 

あとねUnityはたまに表示がバグったり、正しい操作をしてもうまくいかないことがまれによくあります!そんな時は一旦保存して、Unity再起動!それでも駄目ならPC再起動!すればなんとかなります!(ず~っとUnity開きっぱなしで一日作業してると調子が悪くなる気がする)

最初はもろもろめんどくさいかもしれませんが、めげずに進みましょう!

2. MMD4Mechanimのインポート・モデルの読み込み

今回は、UnityにMMDモデルを読み込むというあたりまでやっていこうと思います。 

MMD4Mechanimのインポート

UnityにMMDモデルを読み込める状態にするには、専用のプラグインが必要です。

Noraさんが開発された「MMD4Mecanimを以下のサイトからダウンロードします。

少し下の方の「MMD4Mecanim Beta~」と書いてあるzipファイルのリンクから。

Stereoarts Homepage

f:id:emifuwa:20171117101644j:plain

ダウンロードする場所はどこでもいいですが、中にはチュートリアルのpdfも入っているので、すぐに参照できる場所に置いておくのが良いでしょう。

ダウンロードしたフォルダを開くと、中にUnityアイコンのパッケージが入っています。

「MMD4Mecanim」(Standardじゃない方)をダブルクリック・もしくはUnity画面のProjectビューの中の「Assets」フォルダに直接D&Dします。

(メニューバー「Assets」→「Import Package」→「Custom Package...」からでもOK)

f:id:emifuwa:20171117104303j:plain

するとPackageの内容が表示されたウィンドウが表示されますので、「Import」を押せば、インポートが始まります。

インポートが終わると、ProjectビューのAssetsフォルダの中に「BulletXNA」「MMD4Mechanim」の2つのフォルダが増えているのがわかりますね。

f:id:emifuwa:20171117104915j:plain

この2つのフォルダに関しては、何か特別な用がない限りは何もいじらず(※中身の移動やフォルダ名の変更などをしない)放っておいてください。うっかり削除などをしてしまうと、当然使用できなくなってしまいます。

 MMD4Mechanimのインポートが終わったら、これでもうUnityにMMDモデルを読み込める状態になっています。 

MMDモデルを読み込む 

いよいよMMDモデルを読み込みます。 

※なお、MMDモデルは、当たり前ですが「Unityに読み込むことを前提に作られていない」です。

また、「Unityに読み込むこと・VRで鑑賞すること」などを許可していないモデルもあります。

使用する前には、必ずモデルに同梱のReadMeなど、取扱に関する規約を確認してください。よろしくお願いします。

 

MMDモデルとモーションを準備する

まずMMDモデルを用意します。モーションはvmd形式のものを用意します(モーションがなくても読み込み可能)。

今回は、「Tda初音ミク・アペンドVer1.00」モデルを読み込み、モーションは筆者がMMDで作成したものを使用します。

モデルはダウンロードして解凍した、フォルダそのままの状態です。

②UnityにモデルをD&Dする

MMDモデルを、フォルダごとProjectビューのAssetsフォルダにドラッグ・アンド・ドロップします。

f:id:emifuwa:20171117112648j:plain

モーションはモデルフォルダの中に同梱しておいても良いですし、あとから単体でAssetsフォルダの中に直接D&Dすることも出来ます

また、音楽ファイルや画像ファイルなども、このようにAssetsフォルダに直接D&Dして使用することが出来ます。

筆者は、同梱するにしてもあとから入れるにしても、モーションを見失わないよう該当のモデルフォルダの中に入れておくようにしています。

(なにせUnityは字が小さい!上にデータの数がたくさんあって、目当てのものを見失いやすいのです…)

 

さて、問題なく読み込めれば、Assetsフォルダの中にモデルフォルダがそのまま入っているのがわかりますね。

f:id:emifuwa:20171117112948j:plain

モデルをD&Dしたらエラーが表示された時

さて、稀にですがモデルの読み込みに問題が生じることがあります。

例えば「テクスチャやtoonが読み込めないエラー」

このようなエラーが生じた場合、モデルフォルダをUnityにD&Dした時点でUnityの下部にエラーメッセージが表示されます。

f:id:emifuwa:20171117114635j:plain

エラーメッセージをダブルクリックすると、メッセージを表示するConsole画面が現れます。

f:id:emifuwa:20171117115053j:plain

(※モデル名の部分を白く塗りつぶしています)

エラーメッセージを読むと、toonのbmpファイルが読み込めなかったよ…という内容。

このように画像データが上手く読み込めなかった場合、実際にモデルをUnityで表示させてみると、テクスチャがまったく反映されず全身グレーになってしまったり、透明になってしまったりということがあります。

:なぜこのようなことが起きるか。

bmpという保存形式は、実は種類が非常に多いです。

そのため、Unity側で数多いbmp保存形式をすべてフォローしきれないことがあります。

なので、bmpで保存されたテクスチャやtoonがMMDでは表示されるけどUnityでは表示されない…」ということが、たまにですがあります。

Unity用に作られたモデルではないので、これは仕方のないことです。

 

 このようなエラーが出た場合の対応策は以下の通り。モデルをUnityに読み込む前に、処理をしておきましょう。

Windowsの「ペイント」で該当するbmpファイルを開き、そのままbmpで保存し直す。

ファイルを開いて上書き保存、開いて上書き保存を繰り返すだけです。

80%はこれでうまくいきます。それでも駄目だった場合は②へ。

Photoshopで該当するbmpファイルを開き、そのままbmpで保存し直す。

これでだいたいうまくいきます。Photoshopだと自動処理も出来るので、ファイルが複数あってもサッと終わるのが楽です。

③該当するbmpファイルをpngファイルなどに保存し直し、PMXエディタでテクスチャを貼り直す。

①で駄目→Photoshopを持ってない…などの場合の最終手段はここ。

私は今まで何百体というモデルを使ってきましたが、ここまで行ったのは本当に1体くらいしかないです。たいてい①でうまくいきます。

今まで経験したケースで③までいっても駄目だったのは、「モデルの情報MMDにモデルを読み込むと最初に表示されるやつ)の英語バージョンの方に機種依存文字が使われていて、そこで処理がひっかかりテクスチャを変換できなかった」というのが一度だけありました。

どうしても駄目!となった場合は…ご相談ください…

また、MMD4Mechanim開発者のNoraさんはとても頼りになる方なので(めちゃくちゃお世話になってます)、Twitter等で直接聞くのが早いかもしれません。

 

モデル変換の前に

特にエラーメッセージも出ずAssetフォルダにモデルファイルを読み込めたら、フォルダを開いてみましょう。

Assetフォルダの中のモデルフォルダをダブルクリックすると、最初はフォルダの中身がこんな感じで表示されると思います。

f:id:emifuwa:20171117124527j:plain

アイコン表示が大きすぎて使いにくいので、リスト表示に変更しましょう。

Projectビューの右下にあるスライダーを左右に動かすことで、フォルダ内のアイコン表示の大小を調節します。

フォルダ内のファイルの視認性が高くなるので、一番アイコンが小さい状態にします。

f:id:emifuwa:20171117125128j:plain

また、各ビューの大きさも、境目のあたりを左ドラッグすることで広さを変えられるので、その時々で都合のいいよう調節しましょう。 

MMDモデルの変換

読み込んだモデルフォルダの中にある、自動生成されたMMD4Mechanimファイルを選択します(もともとpmx/pmdファイルだったものです)。

Inspectorビューには、モデルファイルに同梱されている利用規約が表示されます

f:id:emifuwa:20171117135909j:plain

利用規約を確認後、利用に問題がなければ、一番下までスクロールし、チェック欄を確認・チェックを入れ「同意する」をクリックします。

f:id:emifuwa:20171117135840j:plain

すると、Inspectorビューがvmdファイルを登録・変換画面に遷移します。

モーションを準備してある場合は「VMD」の「None(Object)」と書いてある場所に、直接ファイルをD&Dします

f:id:emifuwa:20171117170352j:plain

モーションが登録されると、「VMD」のところにモーション名(ここでは「1基本モーション」という名前のファイル)が表示されます

間違えて登録してしまった場合は、vmd欄左の「-」のマークを押すと消えます。

f:id:emifuwa:20171117171311j:plain

モーションの登録が終わったら、「Process」のボタンを押すと、変換が開始されます。

f:id:emifuwa:20171117171808j:plain

こんな感じに処理が走ります。しばらく待ちましょう。

モーションが長かったりすると、やや時間がかかることもあります。

無事変換が終了すると、モデルのフォルダの中に、水色のキューブの形をしたアイコンが増えています。

f:id:emifuwa:20171117172904j:plain

(※ちなみに、フォルダ内のアイコン表示を大きくした状態だと、以下のようにモデルの姿が映ったものになります)

f:id:emifuwa:20171117172846j:plain

これが、Unity表示用に変換されたMMDモデルです。

また、上の方には「1基本モーション」という名のvmdファイルがanim形式のファイルに変換されたものもあります。

f:id:emifuwa:20171117173044j:plain

右下の画面を見ると、どうやらテクスチャはちゃんと反映されているようです。

(※この時点でUnity画面左下にメッセージが出ることがありますが、ちゃんと変換されていたらとりあえず無視してください。赤い「!」メッセージは何かしらまずいですが、白い「!」メッセージは「処理終わったよ~」的なアレだったりします)

 

では次回、変換が終わったモデルを遂にSceneビューに表示させてみましょう。

 

1. Unityの画面構成

今回は、Unityをダウンロードした状態から始めます。

使用しているバージョンは5.6.2p4です。

(p4はパッチです。パッチはここからダウンロードできます)

 

Unityのアカウントを取得し(この部分の説明は省略しますが、アカウントとパスワードはのちのち必要になるので、忘れないよう控えておいてください)、「新規Projectを作成」するところからです。

新規Projectを作成する

Unityを起動すると、下のようなダイアログが出てきます。

(もしくは、画面上部メニューバーの「File」→「New Project」を選択します)

f:id:emifuwa:20171116102705j:plain

①Projectに名前を付ける(Project name)

Projectとは、これから作業をするための大きな場所になります。

名前を付ける際は、必ず「半角英数字」で付けましょう。

これから、Project/Scene/exeなどいくつか保存時に名前を付ける場面があると思いますが、日本語は避け、半角英数字で付けるようにしてください。

データを出力した時に「開けない?エラーが出る?」って時は、日本語または全角で名前を付けている時だったりします…

また、Unityはバージョンが変わるとProjectを開く際の互換性を失いますので、Projectの名前にはUnityのバージョン名を入れておくと、のちのち命拾いするかもしれません…(うっかりバージョンの違うUnityでデータを開いてしまうと、Projectがぶち壊れて二度と戻らないこともあります…)

Unityはもともとゲーム開発用エンジンなので、ゲームを作るための材料を全部Projectにぶち込んでおき、そこで複数のSceneを作成して組み合わせて1個のゲームを作り上げるのですが、このブログでは大掛かりなゲームを作りたいわけではないので、とりあえずは1個のSceneの中に作りたい世界を作りましょう、という感じです。 

②Projectを保存する場所を指定する(Location)

Projectには、使用するモデルデータやその他もろもろ全てをインポートします。

必然的にかなり大きく重いデータになるので、それを踏まえて保存する場所を選びましょう(水色の●●●マークをクリックすると、選択画面が開きます)。

右上、形式が「2D」ではなく「3D」になっていることを確認したら、

③「Create project」をクリックし、新規Projectを作成します。

 

Projectを作成すると、Unityの画面が開きます。

こちらが初期画面。

f:id:emifuwa:20171116115657j:plain

レイアウトが少し使いにくいので、変更します。

f:id:emifuwa:20171116120116j:plain

画面右上の「Default」をクリックし、「2 by 3」を選択。

f:id:emifuwa:20171116121939j:plain

レイアウトが変更されます。

また、画面上部のメニューバー「Window」→「Layout」からも変更が可能です。

Unityのレイアウトはタブを引っ張って色んな場所に持っていくことができ、かなり自由がきくので、おいおい自分の使いやすい形に変えていくのが良いでしょう。

とりあえず、今後の解説はこのレイアウトで行います。

Unityの画面構成 

Unityの画面は、おおまかに以下の5つに分けられます。

f:id:emifuwa:20171116125612j:plain

①Sceneビュー

メインの作業画面です。MMDの作業画面に近い場所です。

この画面にモデルやその他のオブジェクトを配置し、照明やカメラを配置していくことになります。

「Scene」がMMDで言うところの「pmm」に近いものだと思っていただけるといいかなと思います。

②Gameビュー

Sceneに配置したカメラが映している場所を映すビューです。

VRの場合、カメラ=体験者の視界になるので、体験者の視界がここに映し出されます。

③Hierarchyビュー

④Projectビュー

Projectビューには「Asset(アセット)」と書いてある青いフォルダがありますね。この画像ではアセットフォルダを選択した状態になっています。

今のところ何も入っていないので、「This Folder is empty」と表示されています。

Unityの世界では、モデルやオブジェクト、音楽データやモーションデータ、エフェクトデータなど、Sceneを構成するものを全てひっくるめて「Asset」と呼んでいます。

Unityでの作業は、

「アセットフォルダに使用するオブジェクトやデータをどんどんインポートしていく」

(アセットフォルダめがけて直接D&Dすることでインポートできますし、アセットストアで手に入れたものをインポートしてもここに保存されます)

→「アセットフォルダから、Sceneに使用するものをHierarchyに乗せる」

→「Sceneにオブジェクトが現れる」

→「SceneビューとInspectorビューでオブジェクトを操作・編集する」

という流れになります。

 

いま現在、Sceneには何も映ってないように見えますが、実は2つのオブジェクトが存在します。

Unityの画面真ん中上部あたり、Hierarchyビューのところに、白黒のUnityマークのアイコンがありますね。

今はまだSceneの保存がされていないため「Untitled」という名前になっていますが、アイコンの左部分のグレーの▶を押し、ツリーを展開すると

f:id:emifuwa:20171116150711j:plain

「Main Camera」「Directional Light」というオブジェクトが、このSceneの中に最初から存在していることがわかります。

「Main Camera」はそのまま、VRにおける私たちの目となるカメラです。

Sceneビューの下のGameビューに映っている映像は、そのカメラから映した映像になります。

「Directional Light」は、Unityの世界を照らす基本になる照明です。MMDのデフォルトの照明とだいたい同じ役割です。

クリックして、Hierarchy上の「Main Camera」を選択します。

また、Hierarchy上でオブジェクト名をダブルクリックすると、Scene上でそのオブジェクトが真ん中に来ますので、やってみてください。

広い空間の中でオブジェクトを見失った時などに便利です。

f:id:emifuwa:20171116152725j:plain

そして、オブジェクトを選択したことによって、今まで空白だった画面一番右の⑤Inspectorビューに、選択したオブジェクトのプロパティが表示されました。

Inspectorビューでは、選択したオブジェクトの要素が表示されることに加え、要素を追加したり、編集したりすることが出来ます。

AviUtlを使ったことがある方には、馴染みのあるインターフェイスかもしれません。

 

五種類のビューの主な特徴がわかったところで、試しに「Main Camera」「Directional Light」を同時に選択してみましょう。

※Shiftキーを押しながらで、複数選択が可能です。

f:id:emifuwa:20171116173602j:plain

選択した状態で右クリック→出たメニューから「Delete」を選ぶ

…もしくは、選択した状態でDeleteキーを押すのでも構いません。

f:id:emifuwa:20171116154210j:plain

すると、世界から光が消えたことで空と地面の色が変わります。

また、カメラが消えてしまったので、Gameビューには何も映らなくなります。

この状態のままだと困るので、ショートカットのCtrl+Zで、削除する前の状態に戻りましょう。

また、Hierarchy上の空いたスペースで右クリックすることによって、球形や平面のオブジェクトや、カメラやライトをSceneに簡単に追加することができます。

f:id:emifuwa:20171116154819j:plain

こちらも是非試してみてください。

このように、Unity上では、おなじみの右クリック、デリート、アンドゥ、コピーアンドペーストあたりは、それほど悩まずに出来るのではないかと思います。

 

さて、この状態でもうUnityの世界をVRで見ることが出来るのでしょうか?

Oculus Rift CV1を既に接続し、使える状態にしている方は、ちょっと試してみましょう。

その前に、UnityがVRモードになっているのか確認します。

f:id:emifuwa:20171116160741j:plain

Unity画面上部メニューバー「Edit」「Player Setting」「Player」で、Inspectorに表示された部分を下にスクロールし、「Other Setting」「Virtual Reality Supported」という項目にチェックが付いているかどうか確認します。

f:id:emifuwa:20171116160034j:plain

また、下の「Virtual Reality SDKs」という部分に「Oculus」という名前が表示されていることも確認してください。

ついでにですが、「Color Space」という項目。

初期設定では「Gamma」になっていますが、「Linear」に変えておいてください。

f:id:emifuwa:20171203123510j:plain

※これは、Sceneの明るさをなるべく正しく表示するための項目です。ガンマ補正をするかしないかということなのですが、なぜか「Gamma」はガンマ補正しない・「Linear」はガンマ補正する…なので、Linearにしておきましょう。

 

これで、もうUnityの世界をVRで見ることが出来るようになったはずです。

Unity画面上部の真ん中あたりにある、▶のマークの再生ボタンを押し、Oculusをかぶって見てみましょう。

f:id:emifuwa:20171116161324j:plain

何もオブジェクトがないと、空と地面しか映らないので、Hierarchy上で右クリック→3DObject→Cube あたりにして、何か置いておいてもいいかもしれません。

ちなみに、再生モード解除は、もう一度再生ボタンを押してください。一時停止ボタンはありますが、停止ボタンはありません。

 

さて、上の画像では、再生時にUnityの画面の全体の色が薄い緑色に変わっています。

今後作業をしていく上で、今は再生中なのか・再生中でないのかをパッと見でわかりやすくした方が便利だからです。

デフォルトでは再生時もそうでない時も色が変わらず不便ですので、今の時点で「再生中は全体の色が変わる」ように設定し直しておきましょう。

Unity画面上部メニューバー「Edit」→「Preferences...」にすると、「Unity Preferences」のダイアログが表示されます。

f:id:emifuwa:20171116162447j:plain

左のバーで「Colors」のタブを選択し、「Playmode tint」の色のついたバー部分をクリックすると、カラーピッカーが表示されます。好きな色を選びましょう。

また、見ていただけるとわかる通り、その他の部分も色を好きなように変更できます。

慣れてきたら、自分の好きな色にカスタマイズしてもいいかもしれません。

 

以上、おおまかなUnityの主な画面構成の説明でした。

 

最後に、いまSceneビューに表示されている「Scene」を保存しておきましょう。

Unity画面上部メニューバーから「File」→「Save Scenes」で、保存のダイアログが開きます。

f:id:emifuwa:20171116163024p:plain

 保存場所は初期設定では「Assets」のフォルダ内になります。

ここには今後モデルフォルダやらなんやらたくさんのデータが保存されていくはずなので、あまりとっ散らかっていると使いにくい+あとからあまりデータを移動したくない…ので、私の場合はそのまんま「Scene」というフォルダをここに作成し、そこにSceneデータを保存しています。参考までに。

それと、最初の方でも注意しましたが、名前を付ける際は必ず半角英数字で

 

とりあえずここでは、アセットフォルダの中に「Scene」というフォルダを作成し、その中に「First」という名前でSceneを保存しました。

f:id:emifuwa:20171116165405j:plain

そうすると、Hierarchy上のSceneの名前が「First」に変わり、Projectの中のアセットフォルダに「Scene」フォルダが出来ているのがわかります。

そして、Projectも保存した方がいいですね。こちらもメニューバーから保存できます。

Scene/Projectの保存範囲についてはこちらをご参照ください。

docs.unity3d.com

※この記事の一連の流れをid:izm_11さんが動画にしてくださいました。実際のUnityの挙動がわかりにくいという方はこちらをご参照ください!

www.youtube.com

お疲れ様でした。

次回はようやく、MMD4Mechanimのインポート+モデルの読み込みの予定です。

Oculus Rift CV1とUnityを使用して、MMDモデルをVRで見る ー環境の構築と、MMDユーザーからのよくある質問

  普段、こんな感じでMMDモデルをVRで眺める」体験会をやっております。

bvillage.hatenablog.com

bvillage.hatenablog.com 

いつか詳細な記事を書くとして、「できるかな?やりたいかも?」と思っている、主にMMDユーザーへの「私がやってる作業の流れはこんな感じ」記事です。

※なお、当コンテンツはMMDに対する知識がある程度あり、それなりに扱える」つまりMMDユーザーが読むことを前提に書かれています。

MMDの操作に関する知識が無い方はこちら、初心者向けMMD操作解説ブログをご参照ください。こちらのブログも筆者が運営しております。

mikumikud.hatenablog.com

MMDにあまり詳しくない方へ

MMDモデルの多くは商用利用が不可となっております。商用利用を念頭に置いている方は必ずモデルに同梱の利用規約の確認をお願いします。

また、MMD以外での利用が不可のモデル・保存形式変換不可のモデル・VR不可のモデル・性的な表現や暴力的な表現不可のモデルなどもありますので、繰り返しますが必ず利用規約を確認してから使用してください。

規約を無視してモデルを使用しても、要らぬトラブルを招くだけで、あなたにとっていい結果には決してなりませんので、おすすめしません。

自分の好きなことを文句言われずにやりたい場合は、無料配布のMMDモデルを使わずに、お金を出してモデルを発注するか、自分でモデリングするのが良いでしょう。

また、基本的にここではスクリプトをあまり使用しません。

モーションも、MMDで作成できるモーション(vmd形式)のものを使用する前提で説明します。

vmdの再現性を重視するため、Animationの形式はHumanoid(vmd以外にもHumanoidモーションに対応)ではなく、Generic(vmdの再現性重視、ただし Humanoidモーションは再生できない)前提で解説します。

なので、 Humanoidモーションに関する説明は一切しません。Final IKとかも使いません。完全にガラパゴスですのでよろしくお願いします。 

概要としては

①Unityの画面構成のおおまかな説明・使い方

MMDのモデルを読み込み、vmd形式のモーションを再生する

③HeadLookControllerを使用した「モデルがカメラの方を向く」状態の実装

④照明についての解説・ Post Processing Stackを使用したエフェクト効果の解説・余裕があればパーティクルシステムとか・その他ビジュアル回りの解説を簡易に(自分のためにも英語の項目を全部日本語化して説明した資料を作りたい)

といった内容になると思われます。

MMDモデルをSceneに配置し、モーションを再生できる状態にし、場面の照明効果や色調補正のやり方がわかる…といったあたりがゴールでしょうか。

それ以上やりたい方は、ご自身でいろいろ調べて先に進むと良いと思います。

(余裕があればもうちょっと色々解説したいです…書いてみて、ここでこういうのやりたい!と思ったらやるかもしれない…)

まずは、環境構築から。

①ハイエンドHMDを手に入れる

 現在、VRを楽しむためのガジェットとして、主に

1.モバイルVR・スマートフォンを装着して映像を見る

※¥1000~¥10000以上・スマートフォンが必要・安価で手軽、位置トラッキングなし

2.デスクトップVR・PCに接続して映像を見る

※¥50000~¥80000以上・対応PCが必要・高価だが没入感が高い・位置トラッキングがあり空間の中で移動ができる

以上の二種類があります。

今回は、2番目の「PCに接続して映像を見るヘッドマウントディスプレイ(HMD)」を使用する場合のお話になります。

筆者が使用しているのはOculus Rift CV1(2017年11月現在、5万円にて購入可能)

Oculus touchと呼ばれるコントローラも同梱でこの値段なので、だいぶ安くなりました…

www.oculus.com

※購入は必ず上の本家サイトから!現時点では残念ながら家電量販店などでは購入できません。Amazonなどで高額転売されているケースあり・保証も受けられず割高でメリットなし!

Rift以外に入手しやすいのは「HTC Vive」(2017年11月現在8万弱。やや高価だが入手しやすい。VRアトラクション施設などで良く利用されている。一番売れていたがCV1の値下げにより拮抗状態らしい)Windows MR」(2017年11月現在5~6万。発売したてで情報が少ないが、比較的安価で入手が容易。日本語対応。まだあんまりおすすめしない…)など。

Riftのセットアップは英語ですが、たくさんのウェブサイトでセットアップ方法を記事にしているので、そちらを参照しながら臨めば引っかかる部分はあまりなく、スムーズ。

しかしながら発売当時と現在では同梱物が異なったりしているため、比較的新しめの記事を探すのがいいと思います。

こちらは発売当時の記事です。

www.moguravr.com

現在は「Remote」と「XBOXコントローラ」は付属しておらず、「Oculus touch」が付属しています。

こちらは「touch」のセットアップについて。

www.moguravr.com

また、Oculusには無料で楽しめるVRコンテンツがいくつか用意されています。

自作のコンテンツに向かう前に、プロが作った質の高いコンテンツを楽しむのもおすすめです。※英語のみのコンテンツが多いですが、ここで紹介したものは英語がそれほどわからなくてもなんとかなるレベルです。

VR初心者向け

「Oculus Dreamdeck」(一番最初に流れるVRコンテンツ詰め合わせ)

「First Contact」(touchのチュートリアル。かなりいい出来)

Google Earth VR」(世界の上空を思う様飛び回れます)

「COCO VR」(「リメンバー・ミー」というディズニー・ピクサー映画の宣伝用コンテンツですがものすごく良く出来ていて超おすすめ!ガイコツキャラクターになって死者の街を散策できます)

「Bullet Train」(銃を手に取り敵を撃つゲーム。特徴的なのは、「敵の弾がものすごくスローに見えるので、避けたり取ったり出来る」というところ。ビジュアル表現が面白いし、判定も甘々で簡単にクリアできると思いますので是非!)

 

現在テスター募集中の「Play Animaker」も、MMD者には馴染みのあるTda式ミクさんが登場しており、ミクさんになったりミクさんを動かしたりして楽しめます。

PlayAniMaker : Miku ver.(テスター登録ページ)

www.moguravr.com

Steam経由で無料ダウンロードできる「The Lab」も、とてもおすすめです。いくつかのミニゲームの詰め合わせ。個人的には矢を射るゲームが好きです。

store.steampowered.com

有料のものでは、「AirTone」(全身使える音ゲーRez Infinite」(映像が美しい音楽シューティングゲーム「Tilt Brush」(空間に絵を描ける)あたりが個人的におすすめです。

音ゲー2つは難度も低く(高い設定にも出来ます)、ゲーム苦手な私でもハマって楽しめました。

「Tilt Brush」は絵心ある無いに関わらず、ただ落書きをするだけで楽しいです。

 

それと、これからUnityを使用して自分でコンテンツを作るにあたって、「Oculusで自作のコンテンツを見られる設定」にしましょう。

Riftの設定をする際に使用した、Oculusのアプリケーションを開きます。

ここでは「Store」でコンテンツを入手したり、入手したものを「Library」から見たり、その他セッティングなどが出来るようになっています。

右上の歯車アイコンから「Setting」を選択し、左の「General」のタブを選択。

一番上の「Unknown sources」をオンにします(デフォルトではオフ)。

f:id:emifuwa:20171124104734j:plain

これは、端的に言えば「ストアで流通してるやつだけじゃなく、野良で作られたアプリも見られるようにする」ということです。

これをオンにしないと、自分で出力したコンテンツが見られないことになりますのでご注意を。

※歯車アイコン「Setting」からは、「Devices」タブでRift本体やセンサーの接続状況を確認したり、「Devices」タブの右上「Configure Rift」から、センサーのセットアップ・touchのペアリング、床からの距離の計測などが出来るようになっています。

 ②CV1を使用できるPC環境を手に入れる

基本的には「高い性能のグラフィックボードを積んだWindowsPC」が必要です。

BTOパソコンを買えるショップなどでは「VR対応」と銘打って発売されている機種も多数あり。「VR Ready」などの表示がされています。

Oculus Rift CV1推奨環境は以下の通り。

グラフィックボード:NVIDIA GTX 970及びAMD 290 以上
CPU:Intel Core i5-4590 以上
メモリ:8GB 以上
映像出力:HDMI 1.3
USB端子:USB3.0が3つ(+USB2.0が1つ)
OS:Windows 7 SP1以降(できればWindows10で64bit推奨)

満たさない場合は視聴クオリティに問題が生じたり、そもそも見られなかったりするので注意。

基本的にはデスクトップでの使用になると思われますが、外でデモをしたいなどの理由からノートPCを購入したい場合は特に注意。ショップに確認するが吉。

推奨スペック確認ページ

(↑自分のPCが推奨スペックに達しているか確認できるツールがDLできる)

2017年11月現在で、最も安価なデスクトップモデルで10万円くらいから購入可能。

G-GEAR おすすめパソコン

ノートPCの場合はそれより割高になるでしょう。

おすすめノートパソコン

OcuFes監修PC ゲーミングPC 

↑ここで紹介されてるLITTLEGEARは、持ち運びに便利な取っ手がついててコンパクトなので、デスクトップですがデモ用に使用してる人も居ます。

③Unityを入手する

Unityは現在広く使われているゲーム開発エンジンです。ゲームを作れるアプリケーションだと思ってもらえば差し支えありません(ちなみにポケモンGOスーパーマリオランなどもUnityで作られている)

Proでなければ無料で使用可能。趣味で使うなら問題ありません。

(※Personal(無料版)の使用条件は、個人:制作物の年間総収入$200,000以下/法人:$100,000以下であること。Unityでの制作物の売り上げが生じないホビー用途ならPersonalでOK、売り上げがあったとしても個人利用は2000万超えなければPersonalを使用してOKということになります)

Unity - Store

↑上のページの「Personal(無料)」からダウンロード…ですが、同ページを下にスクロールして「詳細→過去のバージョンのUnity」からダウンロードするのがいいかも。

筆者は現在、比較的安定している「ver.5.6.2p4」をメインに使用しています。

Unity.5.xのタブの一番上から入手できます。

Unityを開くと「ぜんぶえいごだよおお…しかもなんかすっごいすっごいいっぱい色々あるよお…」となるかもしれませんが、「いっぱい色々あるやつ」を全部わかって仕事してるプロもそうそう居ないレベルなので、気にしないでください。わかるとこだけわかればいい。

MMD4Mecanimを入手する

UnityにMMDモデルを読み込むためのプラグインMMD4Mecanimを以下のサイトからダウンロードします。

スクロールしていって下の方にある「MMD4Mecanim Beta~」と書いてあるzipファイルのリンクから。

Stereoarts Homepage

Unityを起動した状態でインポート(色んなやり方があるけど、とても簡単。同梱のチュートリアル基本編のpdfにやり方が書いてある)。

インポートが終了すると、Riftが既に接続されセットアップ済なら、とりあえずこれで「RiftでMMDモデルを見られる」状態になる。

 

この後の流れをざっくり書くと(本当にざっくりなので、後の記事でうるさいくらい解説します) 

MMDモデルとモーションを準備する(モーションはなくても読み込むだけでも出来る)

→モデルのフォルダにモーションデータ(vmdファイル)を入れておき、フォルダごとUnityの画面上にドラッグアンドドロップする

→Unity上でMMDモデル(+モーションデータ)を表示できる状態に変換する(この時モデルの利用規約が表示され、「規約に同意した上で使用してください」などのチェック項目にチェックを入れます)

→作業画面に変換したモデルを乗せる

→モデルと一緒に変換されたモーションデータを作業画面のモデルに乗せる(D&D)

→再生する

ウゴイタアアア!!しかもRiftで見られる!!

(※UnityをVRモードにしていれば、出力しなくても作業画面上で再生すればVRで見られる)

 

という感じになっております。

よくある質問 

MMD動画をそのままVRで見られるの?

2Dムービーとしてアップロードされている映像を3Dで見ることは出来ません。出来たらすごい…

VR用のデータはVR用に作成する必要があります。

通常の2Dムービーと違い、体験者がどこを見るかわからない(360度どこでも見られる)のに見た場所すべてをレンダリングしないといけないので、非常に重いデータになります。なので、ハイスペックなPCが必要なのです。

・MMEは使えないの? 

Unity上でデータを作っているので、当然ながらMMDのエフェクトは使えません。

Unityの中で使えるエフェクトは使えます。

パーティクル系などは、「パーティクルシステム」と呼ばれる機能を使い、自分で作ることが出来ます。

ただし、使用している変換プラグインは「MMD上で表示されるのと同じように表示する」ことになっているため、SSAOのようなエフェクトをUnity上で使用しても、モデルに反映されないことがあります(Unity上でシェーダ変更をすることで適用可能)。

オーバーレイや色調補正などに関しては、ある意味MMDよりかなり自由に設定することが出来ます。

参考:Unity - マニュアル: Post-processing スタック

また、照明の自由度はMMDより遥かに高いですが、もちろん度を越せば重くなります。

カスタマイズすれば、ビジュアル表現の自由度はかなり高いです。

(私はトゥーン系にもフォトリアルにもあまり魅力を感じないのでビジュアルはそっち系に寄せませんが、もちろんやろうと思えばそういう描写も出来ます)

MMDのステージは使えるの?

MMD4Mechanimが「pmd/pmxモデルを変換するプラグイン」なので、pmd/pmxモデルならそのまま変換して使えます。xファイルは使用できませんが、pmd/pmxファイルやfbxファイルやobjファイルに出力し直せば使えることになります。

参考:Unity - マニュアル: 3D アプリケーションからモデルをインポートする方法

大きいファイルは当然重くなります。

(ちなみに、pmxファイルのステージのモーフなどは再現されないことが多いです…)

また、Unityには「アセットストア」と呼ばれるストアがあり、ユーザーが作った3Dモデルが無料/有料で販売されています。

私が現在作成しているデータの背景のほとんどは、こちらで購入した部屋や建造物のアセットを使用しています。

https://www.assetstore.unity3d.com/jp/

もちろん、自作できる方はガンガン自作するといいと思います。

空に関しては、MMDで言うところの「スカイドーム」と似たような「スカイボックス」というものがあります。

スカイドームを転用することはできませんが、こちらもアセットストアで様々な種類のものを入手することが出来ます。

ちなみに、パーティクルやエフェクト、テクスチャなどもこちらで入手することが出来ます。

あえて気をつけるとすれば、Unityのバージョンによって使えたり使えなかったりするものがあるので、そのあたりでしょうか(古すぎて使えない・新しすぎて使えない両方ある)。

MMDモデルはちゃんと表示されるの?

だいたい良い具合に表示されますが、ものによってはテクスチャやtoonが反映されないなどの不具合が生じることがあります(※対応策あり)。

また、モーフなどもものによっては再現できない場合があります(通常の表情モーフなどはほぼ再現可能)。

どうしても解せない不具合が出る場合は、相談に乗れます。

MMD世界よりも少し小さく表示されるため、Unity内ではモデルの大きさを1.2~1.3倍くらいにするとちょうど良いです(モデルの大きさは簡単に変えられます)。

・視野角は調整できるの?

Riftの視野角は110度固定ですが、これは「映像の見える範囲」という意味で、MMDで言うところの視野角とは意味が違います。

なのでもちろんMMDでの視野角110度の状態で見えるわけではありませんが、やはりMMDユーザーからするとやや広角気味には見えます。体感で言えば40度くらいでしょうか。

では顔が歪んで見えるか…と言えば、VRでの見え方と2Dムービーでの見え方を同一に語ることはなかなか難しいです。

モデルの着ているアウターとインナーの隙間が広めに感じられたり、全体的に奥行きを強調された感じに映ります。

 ・モーションはちゃんと再現できるの?

現在かなり再現性は高いですが、完全に完全です!ということではないです。

IKがらみで引っかかることがたまにあります。腕IKとかは避けた方がいいかも…

・外部親機能は使えるの?

MMDじゃないので使えません。

剣を持ったアクションなどをやりたい場合、pmxエディタなどでモデルの手に剣をくっつけてしまう方をおすすめします。

・物理演算は?

MMDの物理の完全再現は無理です><

袖や裾がバサバサ系は辛いかもしれません…

MMMなどを使用して、モーションで物理焼き込みをしてしまえばOKです。

・モデルに触ることはできるの?

「触って質感を感じる」ことが出来るようになれば、すごいことになるでしょうね…

現在可能なのは「Riftに付属している左右コントローラー(Oculus touch)に左手右手を割り当て→コントローラを手にしてモデルに触れ、髪や服の裾を揺らす」といった感じになりますが、個人的にあまり魅力を感じないのと作業量が増えるので体験会用のデータにはやっていません。

やろうと思えば「任意の箇所に触れると表情を変える・モーションを変える」なども出来ます。

YouTubeにアップされている360度動画とどう違うの?

違うところは色々ありますが、最も大きいのは「位置トラッキングがある/ない」でしょう。

RiftなどのハイエンドHMDは、センサーによって体験者の位置を把握します。

なので、目の前に居るモデルに近づこうとすれば近づけますし、自分が後退すればモデルは遠ざかります。

ですが、センサーなしのVRスコープで見た場合、体験者が動けば映像もそのままついてきてしまいます。

個人的には位置トラッキングがある方が好きなので、こちらの道には進みませんでした…

ただ、重いPCを持ち歩かなくてもよく、気軽にどこでも楽しめるという点では優れています。

・メガネをかけていても使える?

一応メガネは中に入ります。あまり横幅の広いものだと入らない可能性もありますが、ほぼ大丈夫かと…

最近の作業はずっとメガネでやってます。とは言え、コンタクトにした方が楽ではありますが…

ちなみに、ViveはRiftよりもゴーグル内のスペースが広く、メガネが中に入りやすいです。

のちのちはメガネなしでも使えるようにしてほしいところ。

 

 

(とりあえずこんなところですが、「こういうことが知りたい!」「これ書き方が間違ってない?」「これも書き足した方が…」などあれば是非お寄せください)

 

お台場・VR ZONEに行ってきた

お台場ダイバーシティに期間限定でオープンしたVR体験施設「VR ZONE」体験して参りました!

いろいろと興味深かったので、記事として残しておこうと思います。

 

台場駅から5分ほど歩き、ダイバーシティの入り口入ってすぐ、わかりやすいところにあります。

こちらは予約制で、予約をしていない人は(少なくとも今のところ)入れません。

一ヶ月前くらいまで埋まってしまっていますが、まめにチェックしていると、かなり変動します。キャンセルする人が居るからです。

今回は日曜日の朝にチェックしたら、偶然空いた瞬間に遭遇し、ひとり分滑りこむことが出来ました。

 

指定された時間に施設の前に集合。

受付の前に並んでスタッフの指示を待ちます。

 

5分前くらいにスタッフから「こういう方は体験できません」という注意事項。

年齢制限や体調不良、その他もろもろの体験制限事項の説明を聞き、専用のカードにバナコインという通貨をチャージして、雪崩れるように施設内へ。

 

写真を撮ってもOK、ネットにアップしてもOKということで、何枚か写真も。

f:id:emifuwa:20160509075244j:plain

入ってすぐの場所はこんな感じで、パックマンのグッズなどが置いてあります。

白と黒を基調にしたスタイリッシュな内装は、セレクトショップの一角にも見える佇まいです。

荷物を持っている方は預けられるコインロッカーも中にありますが、私はハンドバッグ一つ持ったまま回りました。特に問題はないです。

 

さて、私が体験したコンテンツは3つ。

なお、この先の感想にはコンテンツのネタバレを含みますので、まだ体験していない方は承知の上でご覧になってください。

 

1. 高所恐怖SHOW!

 

行った方々からの評判が非常に良かった+料金も1番高いということで、期待をもって最初に並びました。

他の方々も下馬評を耳にしていたのか、数人が施設に入ると同時にそこへ並び、私はだいたい3かたまり目の体験に。

 

f:id:emifuwa:20160508224021j:plain

 ちなみに、今回の体験施設に使われているHMDは全てHTC Vive

没入感には定評のあるHMDです。

 

体験前にカードを指定の場所にかざして料金を支払います。黒いカーテンの仕切りからスタッフに案内されて中に入ると、二人分の体験スペースが。

f:id:emifuwa:20160509062055j:plain

この手前にノートPCが置いてあり、その画面などは映すのはやめてください、と言われました。

まず、靴を履き替えるよう促されます。何かはめ込んであるクロックスみたいなのを履く。

そして命綱を模したベルトを腰に装着、両手に何か黒い物体を付けられ、配布されていた目のまわりを覆うシートを付けたら、その上からViveをかぶります。

 

全体の流れとしては

 

エレベーターのホールの前に立っている

エレベーターに乗ると、よくある外の風景が見えるエレベーターだとわかる。地上からビルの最上階にのぼっていくところを目の当たりにしながら上昇。

足が震えるような高い場所に板が置いてあるのが見え、板の向こう側に猫。

その猫を助けに行くため、細い板の上を進まなくてはならない。

 

ちなみに、板から下りてしまったら終了。

下に落ちるようなグラフィックがあるわけではなく、そこで画面が白くなっておしまいだそうです。

 

感想

思っていたほどではなかったかな…という印象でした。

1番気になったのは解像度。もっと精細な映像ならもっと恐ろしかったかも。

なんとなく、体験していて映像の見え具合のクオリティがいまひとつに感じました。重いのかな?ちゃんとfps出てんのかな?って感じ(※普段しょっちゅうHMDを使用している人間の感想なので、普通の人が見たらそんなに感じないごくごく小さい違和感だと思います…)。

とは言え、やはり目は騙されるものです。怖いことは怖いです。

私はしばらく辺りを見渡した上で、瞬時に心にフタをし、すり足超スピードで板の先まで行き猫さんを救出しました。やっぱり、下はあんまり見ないようにしたよ!

それに、板の先まで行って、そこから方向転換するのはだいぶ怖い。ちょっとウゴウゴっとしました。

板は盤石ではなくて、ちょっとギイギイガタガタします。このガタガタ具合は絶妙でした!

板の広さなど、あまり狭くすると多くの人が渡れなくなってしまうため、調整が難しいそうです。

(たぶん思いついてはいて、あえてやっていないんだろうけど)扇風機で横から風を当てると、更に怖いんじゃないかという気はしました。

 

私がそこまで没入できなかったのは、自分でもよくビル系のアセットをいじっていたことも原因のひとつとしてあるのかなと…

最初に1番上に来た時、ビルの風景にものすごい既視感を感じたんですよね。ああ、これ何度も見たことあるやつ…!!と…(※同じものを使っているという意味ではありません)

なのでその分リアリティと没入感が削がれ、驚きや怖さが薄れた部分があります。

 

ですが、全体的に見て、導入・演出・セットともに非常に良くできていると感じました。

友達同士で来たら、とっても盛り上がると思います!

 

2. 脱出病棟Ω

f:id:emifuwa:20160509063836j:plain

f:id:emifuwa:20160509063840j:plain

2~4人で体験できるホラー系アトラクション。

ちなみに、ひとりで来てもスタッフさんが入ってくれるので、2人プレイが出来ます(私も今回スタッフさんに一緒していただきました、ありがとうございました)。

待ってる間もものすごい悲鳴が響き渡っていて、いったいどんななんだよ!と思いながら待つことしばらく。

スタッフさんからコンテンツの説明を受け、怖いけど大丈夫ですかと念を押され、被験者3の席へ(一度やった人でも、座る席によって内容が変わるそうです)。

車いすに乗って動く」という設定のため、適度にすわり心地の良い黒い四角いソファが用意されています。この施設、空間使いもちょっと気がきいていて良かった。

レバーを前に倒すと前に進みます(前に進むことしか出来ない)。また、手に持ってViveのハンドコントローラを「懐中電灯」として、ダンジョンの中を照らしたりフラグになっている箇所を選択、確定できたりします。

 私はゲームの操作というものが非常に苦手な人間なので、そのあたりがちょっと不安ではあったのですが、ほぼ問題なく操作することが出来ました。

 

感想(ネタバレあり)

あー、私って、思ったよりホラーコンテンツ大丈夫なんだな~っていう…

いやまあ…もともとバイオハザードが大好きですし…ついこの間アイアムアヒーローを観てきたばかりで、素晴らしくてもう一回観たい!と思ってたくらいだからそうだよね…

悲鳴をあげるようなところは特にありませんでした。

お化け屋敷的な怖さ…急に上からお化けが出てきてキャー!みたいなのって、びっくりはするけど別に怖くはないよな~と思いながら先に進みます。

「前に進む」してる分には、別に細かい操作をしなくても決まったルートを進んでいけます(ところどころ分岐はある様子)。

最初「酔いそう…!」と思ったけど、意外と全然酔う感じしない。スピードかな?

ただ、一緒してくださったスタッフさんは「二回連続でやると自分は酔う」と言ってました。私は3D酔いに非常に強いので、あまりあてにならないかも。

 

右手に持った懐中電灯で、中を照らして眺めることが出来ます。

ビジュアルはとても良く出来ていて、あ~バイオハザードっぽい世界だ~って感じ。

高所恐怖SHOWで感じた映像クオリティへの違和感もなく、よく見えました。

個人的には、家でプレイして、もっとゆっくりまわりを眺めて「そこに居る感」を味わいたいかな…時間制限があるのでとにかくどんどん先に進んじゃってたので…アトラクションなので仕方ないけど。

一緒にプレイをしてくださっているスタッフさんとは、リアルタイムでちゃんとお互い声が聞こえます(なんでリアルタイムでって強調したかっていうと、去年の東京ゲームショーで体験したGREEの「サラと毒蛇の王冠」では、なぜかお互いの声にタイムラグが生じてて聞きにくかったからw)。

「あ~ビジュアルがいいですね~」とか全体的に怖がってない感想の私にいろいろお話してくださり、ひたすらレバーを倒して先に進みます。

途中で私が広い部屋に入り、横には5人くらい縛られ椅子に座った異形の人たちが並んでて、斧を持った人がその人たちを順番に殺していく展開に。

ホエ~これは「猿の電車」みたいなシチュエーションでちょっといいな…!!これ待ってると私もやられちゃうんだよね??なんか奥にレバーみたいのあるけど操作してみても動かないしどうなっちゃうの??

前方には地図が表示されており、途中でようやくもう一人のプレイヤーがそこに映っていて、いまどこに居るかをあらわしていると気づく私。

「そのまま真っ直ぐ進んでください!」と指示を出し、ギリギリで間に合った!部屋の奥の左側のドアからスタッフさんがあらわれ(車いすに乗ったアバターの姿)、九死に一生を得ます。ここらでようやくおー、面白い!となってくる。すごいねこのシステムねこれね!?

そして最後に迫り来る刃を前にしながらスタッフさんとやりとりして、なんとかクリア!嬉しかった!

スタッフさんお世話になりました~

 

これもやっぱり友達同士で行ってきゃあきゃあするには最適のアトラクションかもな~って思いました。システムが面白くて、どうなってるのか何度かやりたくなりますね!

私が怖いって思うシチュエーションだと「後ろから追っかけられていて、声が聞こえる」とか、「隠れているそばをゾンビが通り、こっちを探している」とかかな…アトラクションとおうちでやるコンテンツとでは驚かせ方も変わるでしょうから、時間を贅沢に使えるおうちバージョンもいつかはやってみたいですね。

 

3. アーガイルシフト

 

今回、個人的に1番面白かったコンテンツ!!

 

動画撮ったので置いておきます。

 巨大ロボットのコクピットに乗り込み、操縦できるアトラクション。

この動画の通り、いい具合にシートもガタンガタンと動きます。

 

シートに座り、Viveとヘッドホンを装着、スタッフのお姉さんの説明というか前説を聴きながら待機。

お姉さんがスゲーいい声で、世界観を朗々と説明してくれます。

最初の映像は「いかにもそれっぽい」インターフェイス描写。いいよいいよー

視線を何箇所かに合わせてレバーを操作するチュートリアルを経て(首を回して色んな場所が見えますよー、っていう導入かな?)、世界に入っていきます。

細かいところは忘れましたが(…)

とにかくなんか巨大ロボットに乗り込むよ!!グイーン!!!(コクピットまで上昇する音)ガシャン!!ガシャン!!

 

何これたのしい。

 

私はいわゆる巨大ロボットものにさほど思い入れのない人間(オタクなので基礎教養としてのロボットものの知識はあるが、ちゃんと作品を見てもいないしつまり良く知らない)なのですが、それなのに!!楽しい!!これ楽しいわー!

唯一まともに見ているロボットもの(そうか?)パトレイバーで主人公が最初にレイバーに乗り、おー、ちょっとグラグラするな~なんてシーンを思い出したりして、なんだかわかんないけどとにかく楽しいやつだぞこれ!

 

なんか人工なんたら言うおねーちゃんキャラがいろいろ説明してくれるのを適当に聞き流しながら、ロボットに乗り込み、飛んでくる敵をバンバン打ってワー!!単純に楽しいわ~!!!ビジュアルも違和感まったくなく(思い入れがないからかもしれないが)、没入して楽しめました!!

アトラクションなので難度高いってことも全然なくて、まー打ったらなんとなく当たるべさ~みたいな感じ(たぶんゲームオーバーとかはないと思う)で、とても楽しく体験できました。

巨大ロボット好きの人は、絶対やった方がいい!!!

 

もしかしたら、こだわりのある人には色々気になるところがあったりするのかもしれないですが、今までこういったものとあまり縁なくやってきた(ゲーセンとかも全然行かない)者には、とてもおもしろかったです。比べる対象がないからわからないんだけど。

先日巨大ロボットモデルをOculusで見たい!という要望をいただいて、単に突っ立っているのを下から眺めるだけのものを作ったんですが、それでも多くの男性たちはすごく興奮していました。

やっぱり、コクピット体験できるものをショボくてもいいから作ってみようかな?歩行モーションをつけた上でそこに乗ると、どんな感じになるかな?

とは言え、私はこだわりも知識もないから絶対中途半端なものになるんだよな…(←知らないものに手を出して中途半端なものを作ることに嫌悪感のある面倒なオタク)SEも適切なものを選ぶ自信がないな…

などと、帰りの電車でつらつらと考えておりました。

 

 そのほか、幾つか施設全体への感想。

 

全部のアトラクションをやりたい気持ちで行ったのですが、結果的に今回は3つしか体験することが出来ませんでした。

 私は最初の高所恐怖待ちで20分、病棟待ちで15分、実際の体験時間もあるので時間は思ったより早く過ぎます。

時間配分に気をつけて!!

 

待っている間に感じたこと。

 

・人口密度が薄い。

予約した人たちだけしか居ないので(印象ではせいぜい20人前後といったところでした)、それらの人たちがふわっとバラけて、いい意味で空いてる感がある。

人がギュウギュウ詰めのアトラクション施設の中で並ぶ…といった感じはなく、空間に余裕がある。これはかなりのストレス軽減になると感じました。過ごしやすかったです。

・悲鳴がこだまする。

待ってる間、ホラー系アトラクションに入った人たちの悲鳴が聞こえてきます。

サクラかよ!?っていうくらいのガチ悲鳴です。男の人の本気の悲鳴ってあまり聞く機会ないので、面白いっちゃ面白い。否が応でも期待が高まります。そういうのも含めておもしろかった。

 

全体の感想としては「行って損はない」んじゃないかと。

料金はそれなりにかかりますが…事前の注意事項を良く読み、自分が「体験できない条件」に合致していないか確認した上で予約を入れるのがいいと思います。

ものすごく3D酔いに弱い!という人には…おすすめは出来ないかな。

(行ったのに楽しめなかったら辛すぎるでしょ!)

私が今回やった高所と病棟は、特に複数人で行った方が楽しめると思います。

(アーガイルシフトはひとりでまったく問題ない。それ以外のトレインマスターやスキーのも、ひとりでも楽しいんじゃないかと想像)。

 

もう一回行きたいか?と問われると…群馬在住なのでそうホイホイは行けないのですが、まだチャージも残ってるし、アーガイルシフトもう一回やってみたいかも…

って感じでしたね。

これから、ノウハウをたくさんためて更に面白い施設が誕生することを期待しています!!