CRI Sofdec2(Unreal Engine4)
入門編07 VRムービ再生方法

この章では、UE4でVRムービを再生する方法をご紹介します。

VRムービ再生

下図のように、スフィアに360度パノラマVRムービを貼り付けて再生することが可能です。
具体的な手順は以下のとおりです。

1.Sofdec2ムービーをインポートして、Manaアセットを準備

チュートリアル 入門編01 Sofdec2 ムービーの単純再生」の手順に従って、VR用のムービーををUE4にインポートしてください。


2.Sphereをインポートする

UE4には、球面座標を持つプリミティブスフィアが組み込まれていません。

自身でプリミティブスフィアを作成することはできますが、今回は広く使われているモデル "Sphere100.fbx"を使います。
このモデルはインターネットからダウンロードできます。
https://github.com/makoto-unity/PanoramaVideoWithUnity/blob/master/Assets/MyGame/Models/Sphere100.fbx

このモデルをUE4にインポートします。

コリジョン、マテリアル、テクスチャなどの不要なインポートを除くようにオプションを変更します。

3.レベル内のSphereにムービを貼り付けて再生する

スフィアアセットをレベルに配置し、位置を原点(0,0,0)に、スケールを (100,100,100)に調節します。

アクター「Sphere100」の詳細パネルで「ブループリント/スクリプトを追加」をクリックします。

作成されたブループリントを開きます。
「StaticMeshComponent」の詳細パネルで「Materials > エレメント0」に、ムービーマテリアルを設定します。

「コンポーネントを追加」ドロップダウンリストから、[Mana Component]を選択します。

Manaコンポーネントの詳細パネルで 「Rendering > Movie」にManaTextureを設定します。

レベルブループリントを下図のように、ゲーム開始時にムービー再生を開始するように編集します。

こちらからブループリントコードをコピーできます:https://blueprintue.com/blueprint/hs736f1k/

ライティングの反射を起こさないようにマテリアルを変更します。

  • ムービーマテリアルを開き、マテリアルレンダーノードを選択して、「shading model」を”unlit”に設定します。
  • 「Mana Color Space Converter」のノードのRGB出力を「エミッシブカラー」にリンクします。

ムービーはスフィアの内側に表示されるので、テクスチャ座標のUタイリングを反転する必要があります。

  • マテリアルで「TextureCoordinate」ノードを追加します。
  • 「TexCoord」ノードを、全ての「TextureSample」ノードにリンクします。
  • 「TexCoord」の詳細パネルで「UTiling」を"-1.0"に設定します。
  • 「Mana Color Space Converter」ノードの「Gamma」入力で、ムービーのガンマ値を調整することもできます。

4.プレイヤーがスフィアの外側に移動するのを防く

新しい「GameMode」を作成します。


新しい「Pawn」を作成します。



Pawnのブループリントを開き、Pawnにカメラを追加します。

ワールドセッティングから「ゲームモード」を変更してください。

ユーザーは操作できないPawnを使うようになります。

5.実行

サンプルをVRで実行するために、「VR プレビュー」ボタンを押してください。


Unreal Engine マニュアル参照

VRやコンテンツのインポートの詳細については、UE4のドキュメントを参照してください。

VR http://api.unrealengine.com/JPN/Platforms/VR/
コンテンツのインポート http://api.unrealengine.com/JPN/Engine/Content/ImportingContent/
Actor Component http://api.unrealengine.com/JPN/Programming/UnrealArchitecture/Actors/Components/