そういうわけ、やりたいことがいっぱいありすぎて困ってます。
まず自作の車ゲームであるところのUntenkunをOculusRiftDK2で満喫しようと思ったわけですが、最初はうまく出来ませんでした。ただ単にカメラを差し替えるだけではダメかと思いましたが、別名で保存したシーンで作業してて、ビルド時にそっちを読み込んでないだけでした。早速やってみたけど、すごく酔う。1分保たなかった。死にそう。
そういうわけ、やりたいことがいっぱいありすぎて困ってます。
まず自作の車ゲームであるところのUntenkunをOculusRiftDK2で満喫しようと思ったわけですが、最初はうまく出来ませんでした。ただ単にカメラを差し替えるだけではダメかと思いましたが、別名で保存したシーンで作業してて、ビルド時にそっちを読み込んでないだけでした。早速やってみたけど、すごく酔う。1分保たなかった。死にそう。
昨日の続きです。
まず、Unitychanは展望台みたいなオブジェクトの上に立っていまして、そこまでOculusRiftDK2を装着して、WASDキーで移動方向をコントロールし、マウスで向きを変えつつ階段を登っていくんです。(全部標準的な機能です)
階段を登ろうとすると引っかかってしまうため、板でコライダーを作って階段の傾斜に合わせて配置します。MeshRendererをOFFにして見えないようにします。これで引っかからずにすいすい登ります。展望台の上には落下防止のため、同じように見えないフェンスを配置します。
ところがいくつかのコライダーに接触すると引っかかってそれ以降移動できなくなりました。試行錯誤した結果、コライダーの向きの問題と分かりました。下の図のようにZ軸が向こうを向くようにすれば大丈夫でした。
カメラはOVRPlayerControllerていうのを使うみたいです。これはOculusのパッケージを読み込むと作られるOVRフォルダの中のPrefabsフォルダの中にあります。
設定項目はOVR PlayerController(Script)の中にあります。
WASDキーでの移動速度はAccelerationで設定します。マウスでの回転速度はRotationAmountで調整します。
RotationAmountは初期設定値よりかなり小さくして、ゆっくりカメラが回転するようにしました。
そういうわけで、3D酔いが怖くて全然触ってなかったOculusRiftDK2ですが、Unity5で作ったシーンにOculusRiftのパッケージを読み込んで使えるようになりました。Unitychanも読み込みました。
酔わないようにするには、時々目をつぶるとか、マウスで急に向きを変えないとか、階段やスロープを登り降りする時はゆっくり動くようにするとかでしょうか。