2017-02-22 5 views
-1
int index = 0; 
    private void WayPoint() 
    { 
     if (index == waypoints.Length) 
      index = 0; 
     target = waypoints[index].transform; 
     float distance = Vector3.Distance(myTransform.position, target.transform.position); 
     Debug.DrawLine(target.transform.position, myTransform.position, Color.red); 
     Debug.DrawLine(target.transform.position, myTransform.position, Color.blue); 
     myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime); 

     //move towards the player 
     myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime; 
     if (distance < 2f) 
      index++; 
    } 

今私はキャラクターが行く次のターゲット(ウェイポイント)を示す赤い線を描いています。しかし、私は、キャラクターが元の開始位置からどのようにして行ったのか、およびリアルタイムのキャラクター位置までのすべての訪問済みウェイポイントを示す青い線を追加したい。キャラクターがウェイポイントの間を歩くと、次のターゲットのために2本の線が赤く表示され、すでに訪れたものは青色で表示されます。シーンウィンドウに青い線を描くにはどうしたらいいですか?

私はこのWayPoint()メソッドをUpdate()関数から呼び出します。

赤色のような同じ行を青色で追加しましたが、私は現在の文字の位置とこれまで訪れた場所の間の線を描く方法を理解できません。

シーンウィンドウで表示するためにゲームが実行されているときに、Listを使ってラインをまとめて描画する必要がありますか?

Debug.DrawLine(waypoints[index - 1].transform.position, myTransform.position, Color.blue); 

と私はテストのために赤い線を削除しますが、私が望んでいたとして、それがすべてかどうかで、青色の線を描画しませんでした:私はこれを使用するために、今しようとした青のラインのために

。元の開始位置からどこを訪れたかを示す行が必要です。

答えて

0

シンプルなラインレンダラーポイントをあなたのウェイポイントに追加します。

https://docs.unity3d.com/Manual/class-LineRenderer.html 
関連する問題