VRでLightningTalkやってみた


研究室内のLightningTalkでFinalIKを紹介する際、せっかくなのでVRでやろうと思って色々調べた時に参考にさせて頂いたサイトをまとめました。誰かの参考になれば&備忘録として

参加者に見せる画面用カメラの用意

「UnityでOculus側とディスプレイ側に別々の視点の映像を表示する」
https://qiita.com/Rauziii/items/5fc45844b551f33184b3
こちらを参考にさせて頂きました
この方法で自分はキャラクター目線、ディスプレイはスライドを正面に捉えたカメラに設定できます

「コントローラを使ったスライドの変更」

スライドごとにMaterialを作成してPlaneに貼り付け、適宜切り替える
いちいちMaterialを作る手間がかかるため他にもっといい方法がありそうですが
1.Materialに張り付けるスライドをJPG出力します
2.UnityでMaterialを作成
3.MaterialのShaderを"LegacyShader/Diffuse"に変更
4.JPGをMaterialのInspectorの赤丸部分へドラッグ&ドロップ

5.Materialのリストを作成する
  Planeにつけたスクリプト内でpublic Material[] _slids;のように宣言し、PlaneのInspectr内でリストのサイズを指定し、手順4で作ったMaterialをドラッグ&ドロップ

6.コントローラの入力などに応じてリスト内のMaterialを切り替えます

if(OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger))
        {
            if(i<5)
            i++;
            //スライド進める
            this.GetComponent<Renderer>().sharedMaterial = _slids[i];
        }
        else if (OVRInput.GetDown(OVRInput.RawButton.LIndexTrigger))
        {
            if(i>0)
            i--;
            //スライド戻す
            this.GetComponent<Renderer>().sharedMaterial = _slids[i];
        }

その他細かい点など

・指示棒はCylindarをキャラの右手の子オブジェクトとして作成し、色を付けてます 
・指示棒などを使う場合はカメラのすぐ後ろに鏡を置くとどこを指しているかわかるので便利です僕は"Magic Mirror"というAssetを使いましたアセットストアのURL
・UnityのGameウィンドウを会場のスクリーンに映したためにスライドの文字が小さいと文字がつぶれてしまうので、文字サイズを大きくしたり太字を活用したりが必要です

やって思ったことなど

Vtuberが流行っているからか、そこそこ反応は良かったです
ただ今回声はOculusのマイクではなくスマホで通話しながらマイクで拡散するというかなりの力技だったので、もし機会があれば次回は恋声なども使ってみたいですね