アセット機能 その4 映画館を作る
プレハブを用意しましたので、作るというより一つ一つの構成要素を確認する感じになります。
確認した後、座席数を調整したり、好みの3Dオブジェクトへ差し替えるなどして 自分なりの映画館に作り変えて楽しんでいただければと思います。
前半はプレハブをダウンロードしてアセットファイルを作るところまでを説明します。
後半は映画館の構成要素を説明します。
Unityの使い方やアセットファイルの作り方を理解されている方は 後半だけ見てください。
1.映画館の作り方 前半:ダウンロードからビルドまで
(1) プロジェクトの準備
最初にUnity 2021.1.1f1でアセット作成用のプロジェクトを用意します。
アセットの作成が初めての場合は「アセット機能 その2 基本的なアマレコVR用アセットの作成」を参照して asset_projectsを用意してください。
以下、asset_projectsを例に説明します。
(2) プレハブのダウンロードとコピー
映画館作成用のプレハブファイルを用意しましたので ダウンロード してください。
ダウンロードした sset_sample_theater_prefab.zip を解凍してできるフォルダ内にある「Sample_Theater」をプロジェクトのAssetsフォルダ「asset_projects\Assets」へコピーします。


(3) Unityで ゲームオブジェクトにする
Unityでasset_projectsを開いて (2)でコピーしたSample_Theaterフォルダ内にあるsample_theater.prefabをヒエラルキーへドロップします。
自動的にゲームオブジェクトが作成され シーンビューへ表示されます。

ゲームオブジェクトの名前をわかりやすいようにtest_theaterに変更します。

(4) 他のゲームオブジェクトを無効にする
シーンビューで確認する際に邪魔になったり、照明の影響を受けるため、他のゲームオブジェクト(この例では Directional Lightと Test_Cube)を無効にします。
なお、Main Cameraは影響が無いので無効にしなくて大丈夫です。
無効の仕方は ヒエラルキーでゲームオブジェクトを選択して 右側のインスペクターでチェックボックスをOFFにします。

(5) Unity Editorの照明設定
Unity Editorの環境照明等を無効にします。
これもシーンビューで確認する際に影響を受けて Questで実際に使うときの見た目と違ってきてしまうため 無効にします。
ツールバーのWindowのRenderingにある「Lighting」を選択して Lighting設定画面を表示します。

■ Lighting設定画面
「Environment」タブを選択し 以下を設定します。
・SkyBox Materialを None
・Sun Sourceを None
・Environment LightingのSourceを Color
・Environment LightingのAmbient Colorを 黒

以上を設定したら 試しにゲームオブジェクト「test_theater」内の照明を無効にし シーンビューの表示が真っ黒になればOKです。
test_theaterの照明を有効にもどして次に進んでください。

真っ黒にならない場合は 何かしらの照明が残っています、test_thater以外のゲームオブジェクトを確認したり、 Lighting設定画面を確認してください。
(6) ゲームオブジェクトを プレハブ化する
ゲームオブジェクト「test_theater」を画面下部のAssetsフォルダへドロップして新しいプレハブ「test_theater.prefab」を作成します。
プレハブのタイプはオリジナルで結構です。

(7) プレハブをAsset Bundle Browserへ登録
Unityのツールバーの「Window」からAssetBundle Browserを表示します。
AssetBundle Browserの「Configure」タブを選択した状態で Assetsフォルダから(6)で作った「test_theater.prefab」をドラッグし AssetBundle Browserの左側の「アセットリスト」部へ ドロップします。

既にtest_cubeが登録されているので、test_cubeとtest_theaterの2つのアセットが登録された状態となります。
このままでも問題ないですが、test_cubeが不要な場合は test_cubeを選択して右クリックのメニューから 「Delete test_cube」で登録を解除できます(ここではtest_cubeを登録したまま説明を続けます)。
【注意】
AssetBundle Browserの右側の「アセットの構成要素」部へ プレハブをドロップすることができます。
その場合、一つのアセットファイルの中に複数のプレハブを格納することになってしまうため 今回は誤りです。
間違えた場合は 左のアセットリストの間違えたアセットを選択して 右クリックのメニューから アセットの登録を解除し 再度プレハブをアセットリストへ登録してください。
(8) アセットのビルド
AssetBundle Browserの「Build」タブを選択し、Build Targetを「Android」とします。
最後に下部にあるBuildボタンを押したら アセットファイルが作成されます。
test_cubeとtest_theaterの2つのアセットが登録されている場合は それぞれのアセットファイルが作成されます。
なお、構成要素に更新がなかったアセットに関しては ビルド処理は行われません。
※ 「Force Rebuild」をONにすると 更新が無くても常にビルドするようにできますが、特に理由がなければOFFでいいと思います。
(9) 確認
「 アマレコVRサーバーからアセットファイルを使う方法 」を参照してください。
2.映画館の作り方 後半:構成要素
Sample_Theaterは次の5つで構成されています。
・照明
・座席
・フロア
・スクリーン オブジェクト
・視点 オブジェクト

(1) 照明
最初に Unity Editorのシーンビューの見た目と Questで実際に使った場合の見た目をできるだけ近づけるために Unity Editorの照明を無効にしてください。
Sample_Theaterの照明が暗いようなら 強くしたり(Intensity)、範囲(Range)を広げてください。

全体的に明るくしたい場合はDirectional Lightを追加してください。

※ 照明を増やすとパフォーマンスが低下する(アマレコVR全体のFPSが低下します)ので気を付けてください。
(2) 座席
3DソフトのBlender等で自作するか ネットで公開されている3Dモデル(主にFBX形式)をダウンロードして使うことができます。
Meta Questのスペックは非常に低いためポリゴン数を節約する必要があります。
Sample_Theaterでは 座席一つが約1000ポリゴンとなっています。
映画館全体では 65席となっています。
ざっくりですが 視界内のポリゴン数が10万を超えると 60fpsの維持が難しくなる印象です。
後で座席の数を調整するために 何個かの座席を一つのゲームオブジェクトへ配置してそれをプレハブ化します。
Sample_Theaterでは3席「Chairs3.prefab」と7席「Chairs7.prefab」のプレハブを作っています。
そのプレハブを3席、7席、3席と並べたゲームオブジェクトを作り 1列分のプレハブ「ChairsLine.prefab」としています。
Sample_Theaterでは これを5列並べて 完成です。
(3) フロア
Sample_Theaterでは 3Dオブジェクトのキューブを組み合わせて作っています。
(4) スクリーン オブジェクト
アマレコVRの動画を表示するスクリーンになります。
3DオブジェクトのQuadを追加し 名前を「#AMScreen」としてください。

アセット内に複数のスクリーン オブジェクトを配置することができます。
スクリーン オブジェクトはサブプレイヤーで動画が再生されていないとき ゲームオブジェクトが無効(非表示)になります。
基本的には3DオブジェクトのQuadを使いますが、立体的なメッシュも可能です。
ただし 現状 再生する動画のアスペクト比に応じてゲームオブジェクトのスケール値が変更されますので、そのあたりを考慮してください。
(5) 視点 オブジェクト
ヘッドマウントディスプレイの位置へアセットを移動するための 視点を指定します。
映画館の前列に座って映画をみたり、後列へ移動したりといった使い方をします。
名前を「#AMHeadPositon<home>」としたゲームオブジェクトの位置が視点となります。
Sample_Theaterでは3Dオブジェクトのキューブを使っていますが、空のゲームオブジェクトでも構いません。
位置のほかに回転も反映されますが Y軸だけ設定してください(Y軸以外は0にしてください)。
カッコ内でメニューや視点ボタンへ表示する 視点名を設定できます。homeは初期視点となります、そのほかは好きな名前を設定してください。

視点オブジェクトは読み込んだ際 自動的にゲームオブジェクトが無効(非表示)になります。
スロット1へ読み込んだアセットに「#AMHeadPositon<home>」が含まれている場合は 読み込んだ際に自動で移動します。
スロット1以外や 「#AMHeadPositon<home>」が含まれていない場合はメニューや視点ボタンから指示された時だけ移動します。
- 関連記事
-
- アマレコVR Ver2.3.1 for Pico4 アルファ版 背景透過EX
- アマレコVR Ver2.3.2 背景透過EX Quest版
- アマレコVR Ver2.3.3 for Pico4 アルファ版 背景透過V2
- アマレコVR Ver2.3.3 背景透過V2 Quest版
- アマレコVR Ver2.3.4 背景透過微調整 Quest版
- アマレコVR Ver2.4.0 アッセット機能 アルファ版
- アセット機能 その1 Unityのセットアップ
- アセット機能 その2 基本的なアマレコVR用アセットの作成
- アセット機能 その3 ピンクになるモデルの修正作業
- アセット機能 その4 映画館を作る
- アセット機能 その5 スクリーンオブジェクトとVR動画
- アセット機能 その6 物理処理
- アマレコVR ダウンロードページ
- アマレコVR Ver2.4.1 クロマキーとアルファ付き動画
- アルファ付きVR動画作成ツール rvm_alpha公開
trackback
コメントの投稿