前回説明したOculus RiftのTuscanyという家と庭を歩けるデモを少し変更しました。OVRパッケージを見たのが初めてだったので試行錯誤しましたが、最終的に変更するスクリプトは一つで済みました。
変更手順を解説します。
1. 変更手順
OVR/Scripts/OVRPlayerController.csを開いて、 以下を追加または変更します。
追加するもの
変数
public float jumpForce = 100.0f
private float FallSpeed = -10.0f
public virtual void UpdateMovement()関数の以下を追加または変更
bool変数
bool moveBack = false; の下に bool moveJump = false; を追加
構文
if(Input.GetKey(KeyCode.RightArrow) moveRight = true; の下に
if(Input.GetKey(KeyCode.F)) moveJump = true; を追加
if (moveRight)
MoveThrottle += DirXform.TransformDirection(Vector3.right * moveInfluence) * BackAndSideDampen;
の下に、
if (moveJump)
MoveThrottle += DirXform.TransformDirection(Vector3.up * JumpForce) * BackAndSideDampen;
を追加
ここの時点でビルドすると、Fキーを押すとjumpするのが確認できると思います。 しかしその場jumpしかしません(=柵を越えられません)。
指定方向へ進みながらjumpするには、下記を変更します。
変更
if ( (moveForward && moveLeft) || (moveForward && moveRight) || のif文の最終行に、
(moveForward && moveJump ) || (moveBack && moveJump)
を追加
これでビルドし、Fキーを押しながら十字キーの上や下を押せば、jumpしながら前進や後退ができるようになります。
2. 動作確認
このようになりました。
屋根に登ってみる
柵の上に立ってみる
ということで、あとは柵の先までjumpするだけです。しかしjumpすると、
のように、無限落下してしまいました。Tuscanyシーンでは、庭までしかplaneが貼ってなかったということですね。
3. 今後の予定
ひとまず基本動作は確認できたので、何かしら自分でもアプリを作ることに挑戦してみたいと思います。