VRをやりたいなとゴーグルを買ってから1か月近くたってて少し焦った。
今回はUnityでちょっと動作確認を兼ねて動かしてみる。
まずはこういう時の味方「”Unity-chan!” Model」をアセットストアからインポート。
プレハブのユニティちゃんはスクリプトにGUIが含まれているので2つとも無効にしておいて、カメラを正面に持ってくる。
カメラを複製して2つ目からAudioListenerを削除。
Viewport Rectをいじって左右に半分ずつ映るように設定する。
最後に2つのカメラの位置を左右にずらして視差を作る。
焦点とか考えて(LookAt等で)回転させてもいいけど今回は割愛する。
出来たものをアプリにしてゴーグルにセットする。
暗い方が没入できそうだったので電気は消してます。
コードをつけっぱなしで閉められるので更新は楽。
固定が弱いのでコード引っ張りでもずれるのと、アームで側面ボタンが長押し状態になることを気を付ければ問題なく使える。
この状態でかけてしばらくするとユニティちゃんが浮かび上がってくる。
せっかくなので動きが欲しくなり、次のスクリプトをユニティちゃんに付けた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CTRL : MonoBehaviour { Animator anim; private AnimatorStateInfo currentState, previousState; float time = 0; void Start () { anim = GetComponent<Animator>(); currentState = anim.GetCurrentAnimatorStateInfo (0); previousState = currentState; } void Update () { time += Time.deltaTime; if(time > 1){ time = 0; anim.SetBool ("Next", true); } if (anim.GetBool ("Next")) { currentState = anim.GetCurrentAnimatorStateInfo (0); if (previousState.nameHash != currentState.nameHash) { anim.SetBool ("Next", false); previousState = currentState; } } } } |
これで1秒ごとにポーズを変更する。
これでゴーグル付けて見てみると「やっぱり粗が目立つというかいまいちだなー」みたいに思ったけど、しばらく見てると脳が補正しだすのか凄い存在感が出てきた。
重度の近視+乱視でメガネなしだったのでどうも慣れるのに時間がかかるみたい。
画素が足りてないのが気になるけど家電量販店でもっとお高いVRを見た時よりも
のめり込みそうな感じがする。部屋が暗いのがいいのかな。
この見たままの楽しさを伝えるのが難しい。
実際にやってみてVRがいまいち普及しないのはこのせいかなーと思った。
次は視点変更とかカメラ使ったARとか試してみたい。