6.Code ​Demos – コードデモ

UnityでVAQSO VRの開発を行う場合の簡単なサンプルコードを紹介します。

    a. Proximity ​based ​Activation – モノを近づけたときのアクティベーション

Colliderのトリガーイベントを使用します。

    private void OnTriggerEnter(Collider other)
    {
        string name = other.GetComponent().gameObject.name;

        if (name == "a")
        {
            int value = 100;
            SerialPort.WriteLine("fan 0 " + value.toString());
        }
                
    }

    b. Event ​based ​Activation – イベントベースのアクティベーション

キーイベントやボタン押下イベントを使用してアクティベートすることも可能です。

    void Update()
    {
         
        if (Input.GetKeyDown("1"))
        {
            int value = 100;
            SerialPort.WriteLine("fan 1 " + value.toString());

        }

    }

    c. Timing ​based ​Activation – タイミング(時間)ベースのアクティベーション

時間経過を利用してアクティベートできます。

    private float timeOut;
    private float time;


    void Update()
    {
        time += Time.deltaTime;

        if(time >= timeOut)
        {
                int value = 100;
                SerialPort.WriteLine("fan 1 " + value.toString());
                time = 0f;

        }

    }

    d. Environmental/area ​based ​activation – 環境/エリアをベースにしたアクティベーション

例えばシーン切り替えなどを利用してアクティベートできます。

    string currentSceneName = SceneManager.GetActiveScene().name;

    if (currentSceneName == "hoge") {
        
        int value = 100;
             SerialPort.WriteLine("fan 1 " + value.toString());

    }

    e. 360Video ​Contents ​(Timing ​Based) – 360度映像コンテンツ(タイミング制御)

360度立体視映像のキャプチャのタイミングや、動画再生のタイミングでアクティベートできます。

    private MovieTexture texture;

    void Start()
    {
        MovieTexture.Play();
        int value = 100;
        SerialPort.WriteLine("fan 1 " + value.toString());

    }