本日はMRDLのSurfaceを勉強していきます。
前回までで[Cube(Volume)]シーンのマテリアルを調査しました。
このSurfaceは計9つの各体験がシーンごとに分けられていますが、実際には起動時の最初の[Startup Scene]内ですべてが完結しており、各体験のシーンが[Startup Scene]にロードされる形で使用されています。
今回はこの[Startup Scene]を調査していきます。
〇Startup Scene
シーンには[MixedRealityToolkit]、[MixedRealityPlayspace]の基本的なMRTKコンポーネントのほかに[Tutorial]オブジェクト、[SurfacePlacement]オブジェクト、[ShaderTimeUpdater]オブジェクト、[HandMenu]オブジェクトが存在します。
〇Tutorialオブジェクト
[Tutorial]オブジェクトはアプリケーション起動時にユーザーにHandMenuを使用させるために表示するテキストです。
[HoldUpPalmText]がそれにあたります。
[Tutorial]オブジェクトには[Tutorial]コンポーネント、[Development Tool]コンポーネントがアタッチされています。
[Tutorial]コンポーネントではアプリが起動してからの時間をTimeで取得し、[StartTime+ initialDelay]の間 holdUpPalmTextが表示されないようにしています。
デフォルトでは2秒後に holdUpPalmTextがアクティブになり、テキストが表示されます。
private void Update() { if (Time.time < startTime + initialDelay) { holdUpPalmText.SetActive(false); return; } if (menu.ActivatedOnce) { enabled = false; return; } holdUpPalmText.SetActive(true); }
また、
if (menu.ActivatedOnce) { enabled = false; return; }
によって一度HandMenuが表示された後は以降表示されなくなります。
[DevelopmentTools]コンポーネントは以下のようになっています。
public class DevelopmentTools : MonoBehaviour { void Update() { Debug.developerConsoleVisible = false; } }
[Debug.developerConsoleVisible]はデバッグ等の開発ログにかかわる機能です。
本日はここまで、明日以降続きも見ていきます。