内容
WinMR Immersive device 向けにUnityでSceneを作って自作の世界に入ると感動的に楽しいです。
MRTKのExampleを再現できるようになると、当然、一つのProjectの中でいろいろなSceneに飛びたくなります。そのやり方を記します。
手順
MRTKのExampleでサンプルシーンをいろいろ見てると、「SceneLauncher」なる、それっぽいシーンがあり、SceneLauncher prefab に Scene Launcher (Script)が付いています。
Air tap a scene to load it.
When finished with a scene, say "Scene Launcher" or press the Backspace key to return the this scene list.
Edit the scenes in this list in Unity > File > Build Settings > Scenes in Build.
If you would like to use all scenes in the project, search for t:Scene in the Project tab, select all, and drag all scenes into Scenes in Build.
After adding scenes to the build, you can use the Scene Mapping setting in the SceneLauncher prefab to control which scenes are included or notincluded in the SceneLauncher menu.
・・・とのこと。とりあえずこれに従い、使いたいSceneをBuildに追加する。(え?これドラッグできたんだ。)
(ってか、検索でシーン一覧とか出せんのか。t:ってタグを検索してるのかな?)
ここでBuildすると、VR空間でさっきの英語文の下に、「SceneLauncher」というテキストが追加された。他のSceneは表示されていない。
Sceneの追加は Scene Mapping から行う。BuildにSceneを追加すると、いつの間にかScene Mappingが出現している。ここにチェックが入ってなかったので入れる。
VR空間でSceneを選択すると紫の世界になる。 よく見るとポインタだけは立体的に動いていて、オブジェクトは存在してそう。
この紫世界問題は、**Scene移動時にカメラを引き継いでいて、移動先のSceneでカメラが複数になっていることが原因っぽい。**移動先のカメラを削除すれば問題解消する。インポートしたPackageはそのまま残しておきたいので、改めて以下のSceneを作り、Exampleから中身をコピペして、移動先Sceneのカメラを削除する。
・Launcher →カメラ残す
・InteractableObject →カメラ削除
・ObjectCollection →カメラ削除
読み込み順番があるので、Launcherを一番上にしてBuildする。
これでランチャーから別のSceneに移動できました。
今日はブレイクスルーがあって、 #WinMR で #Unity でつくったシーンの移動ができるようになった!よっしゃー! pic.twitter.com/dLpgiwQjRH
— 大熊 元気 (@JNTEST23) 2018年2月8日
残る課題
・カメラ残したSceneLauncherを選択すると、相変わらず紫世界になる。(カメラ有Sceneからカメラ有Sceneに移動するとNG)
・移動先にもSceneLauncher prefab を設置してみたが表示されない。
・移動先のSceneからLauncherに戻る方法が不明。
・いちいちBuildしないと動作確認できないのでしんどい。(簡単なSceneでも3分くらいかかる)
・・・というわけで実用化にはまだ遠く、デバックが続きます