Controllerスクリプトを張り付けたところ妙な挙動を見せたのでメモ。Controllerを使えば簡単にできそうじゃん!と試したところ、つまずく点が多々あったのでその記録です。Controllerスクリプトを貼ったアバターの視点が上向きにずれてしまう問題が発生しました。Inspectorを見ると、CameraRigのY座標に妙な値が入っていました。OVRPlayerController.csの中身を調べると、CameraRig.transform.localPositionの値に固定のオフセットが掛かっている箇所がありました(UpdateController()の処理)。trueのときに、Controllerの座標に合わせてCameraRigのY座標にオフセットをかける処理のようです。useProfileDataをfalseにすることでこの処理を無効にできます。Dataチェックボックスを外すことで、アバターの視点位置のズレは解消しました。無効にしたところ、今度は視点がアバターの上空に飛ばされてしまいました。本体のTransformのPositionを見ると、本来アバターが存在するはずの座標からY軸方向とZ軸方向に定数値のオフセットが掛かっていることが分かりました。ControllerのCenterの座標に入れてあげることで視点の位置を調整することができました。Controllerの仕様を調べてみようと思います。GrabberのColliderがズレるカメラは正常に設定できましたが、次はLocalAvatarWithGrabの子オブジェクトであるAvatarGrabberLeft(Right)のColliderがずれてしまいました。確認したところUpdateTransform()の処理(HmdRotatesYがtrueの時に実行される個所)が原因であることが分かりました。Yのチェックボックスを外すことで無効化できます。無効にするとGrabberのColliderの位置がしっかり手の動きに追従するようになりました。備考AvatarGrabberの子であるGrabVolumeが把持範囲のColliderを持っているんですね。Transformの値を変えることでColliderの位置や角度を自由に決めることができました。Sのtouchコントローラーで操作するキャラクターが動くところを見てみたい、というモチベーションで、Unity公式モデルのユニティちゃんを動かします。株式会社イーディーエーこちらのサイトを参考にしてユニティちゃんモデルのアニメーションを試してみます。DOWNLOADから、Unityちゃんの3Dモデルデータをダウンロードします。UnityChan_1_2_1.unitypackage)をUnityのProjectビュー内にあるAssetにドラッグアンドドロップしてインポートします。インポートが完了したら、Projectビューより、UnityChan/PrefabsにあるunitychanのprefabをHierarchyビューにドラッグアンドドロップします。これでSceneにUnityちゃんが出現します。このままでは静止するUnityちゃんを眺めることになるので、アニメーションを追加します。Controller」を作成し、適当な名前を付けてからダブルクリックで「Animator」画面を開きます。StateからEmptyを選びます。State」が追加されます。名称はInspectorビューより変更可能です。なり、状態遷移の方向や遷移のトリガをプログラムできます。シーン開始時の初期状態はEntry(緑のボックス)です。Stateを全部で3つ用意し、名前を「Wait」「Run」「Jump」に設定します。状態の遷移先を定義します。Stateを右クリックしてTransitionを選択すると、カーソルに追従して矢印が伸びるようになります。遷移先のStateに矢印をつないでいく形で状態遷移を作っていきます。今回は次のように遷移先を定義しました。状態遷移するトリガを設定します。Animator画面の左側にあるParametersタブから、+ボタンを押して状態遷移のイベントを作成します。今回はWaitを初期状態としているため、Runに遷移するためのフラグisRunと、Jumpに遷移するフラグisJumpを作成します。isRunフラグとisJumpフラグはBool型で用意しましょう。クリックして、矢印方向に状態遷移するためのイベントを設定します。選択したTransitionのInspectorビューにConditionsリストがあります。Emptyとなっているので、+ボタンを押してフラグを追加します。WaitからRunに遷移するTransitionでは、Conditionsを「isRun:True」と定義することで、Bool型のisRunフラグがTrueになった場合に、WaitからRunに状態を遷移させます。Time」というチェックボックスがありますが、オンにするとアニメーションの再生が完了するまで次の状態に遷移しません。遷移フラグがTrueになった瞬間に状態を遷移させたい場合は、チェックを外しましょう。・アニメーションの定義StateのInspectorビューから、Motionの項目クリックします。ここでState中に再生するアニメーションを選択します。今回はWaitのStateに「WAIT02」、Runに「RUN00_F」、Jumpに「JUMP00」を適用します。以上でAnimatorの設定は完了です。ProjectビューのAnimatorファイルをHierarchyビューに設置したunitychanにドラッグアンドドロップすることで、モデルのアニメーションが適用されます。これでキャラクターにアニメーションを追加することができました。CS0234)アニメーション用のスクリプトファイルを実行しようとしたとき、以下のエラーが発生しました。(アセンブリ参照があることを確認してください)。2.0」から「4.x」に変更することで解決しました。SettingsからPlayerタブを開きます。