VR:レイキャスト

keita_nakamoriです。視線と地面オブジェクトとの交点を検出するスクリプトを書いていきましょう。

ポイントは下記スクリプトのコメントへメモっておきました。

LookMoveTo スクリプト

当該スクリプトは、前回やったWalkTargetと同様にWalkTarget2というオブジェクトをAIThirdPersonControllerが追跡するように、walkTarget2へアタッチします。

よって、名称もLookMoveToという追跡対象っぽいスクリプト名にします。

 

VR:AIThirdPersonContllor.prefabをランダムに動かす

keita_nakamoriです。

standerdAssetsのAIThirdPersonContllor.prefabの使い方を学習する過程で、C#スクリプトの書き方、変数をインスペクターパネルから操作する方法について学んでいきます。

手順

  1. AIThirdPersonContllor.prefabをシーンに適当に配置します。
  2. 追跡目標Targetを変数として持っているので、Empty Objectを新規生成しTargetとしてアタッチします。
  3. Empty Objectの名称をwalkTargetに変更しましょう。
  4. C#スクリプト RandomPosition.csを新規作成し、walkTargetにアタッチしましょう。
  5. 以降、RandomPosition.csの中身を作っていきます。

RandomPosition.cs スクリプト作成の考え方

  1. SetRandomPosition()を作成:walkTargetのtransform.positionにランダム生成した座標を代入することで、追跡目標Targetの位置を時間変化させます。
  2. RePositionWithDelay()を作成:上記SetRandomPosition()を実行するとともに、位置変更のインターバルを設定します。
  3. Start ()を作成:上記RePositionWithDelay()をコルーチンとしてゲーム開始とともに呼び出します。
  4. あとで、位置変更インターバルをインスペクターパネルから微調整できるように、時間をパブリック定義しておきます。public float waitingTime = 5.0f;
  5. void update();メソドは今回必要ないので消しておきましょう。