2015年10月16日

[Unity 5] FPS移動のためのクラッチ操作のテスト [DK2]

ダンジョン探索系のコンテンツで、視点変更にマウスを使うものがあります。あれはもう駄目ですね。酔います。しかし、後ろを振り向きたい場合、現状のOculus Rift DK2ではトラッキング範囲の限界などもあり何か工夫しないと難しいです。

可動範囲が決まっているマウスの場合、持ち上げている間はマウスカーソルが動かず、領域の端に来たら持ち上げて可動範囲内に戻す、というのを繰り返します。これをクラッチ操作と呼ぶこともあるようです。

今回は、このクラッチ操作を導入してみるテストです。左を向いて、これ以上後ろを向けない場合、キーを押しながら首を前向きに戻す、というのを繰り返す感じです。

仕様
・キーボードを押している間は、Y軸回転を無効化する
 →押した瞬間の向きを保存しておき、押している間はY軸回転の逆回転を親ノードに適用する
 →トラッキングを無効化する操作なので、ユーザが能動的に行わないと酔いそうなため
・キーボードを押している間は、画面を暗くする
 →トラッキング無効化中であることを認識しやすくするためと、酔いを軽減するため

というわけで、カメラに適用するスクリプトは下記のものになります。mainCameraはHMDの位置姿勢で上書きされますので、その親にdummyのGameObjectをつけています。
HMDWalkScript.cs

実行結果

首を限界まで回して、これ以上回らないところでキーを押して前を向く、ということをやっているのですが、動画だとさっぱり伝わりませんね。

感想

慣れると違和感なく操作できました。それ以前に、ただ単に前進しているだけでも体が動いていないのに視点が動くせいで酔ってしまったので、FPSは酔いやすい自分には厳しそうです。以前やったテレポート移動+今回のクラッチ操作が良さそうですかね。適用できるゲームが減ってしまいそうですが。
posted by シンドラー at 20:40 | Comment(0) | TrackBack(0) | Unity 5 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/427953711
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック