2016-08-10 16 views
2

私は敵をランダムに移動させ、時には敵に向かって移動させたいロボットと戦っています。私は動きがでなりたいコード。ユニティ;ランダムオブジェクト移動

else if (avoid == false) 
     { 
      transform.LookAt(target); 
      transform.Translate(Vector3.forward * Time.deltaTime * movementSpeed); 
      currentLerpTime = 0; 
     } 

このコードは、単にプレイヤーの方にAIの動きになりますが、私はまた、時折ランダムな方向に移動し、その後、時折向きを変えたいです。どうすればいい?

+1

一般的には、スタックオーバーフローのヘルプを依頼する前に、一般的に問題を自分で解決しようとしています。 UnityでランダムなVector3を生成する最良の方法をオンラインで見て、FSMを使用してさまざまな状態(ランダムに移動、接近、攻撃など)を管理することを検討してください。 1つを使用する方法を学ぶのに少し時間がかかるかもしれませんが、ゲームを開発しているなら価値があります。 – Serlite

+0

Unityウェブサイトにチュートリアルがあります。 https://unity3d.com/learn/tutorials/topics/scripting/using-interfaces-make-state-machine-ai –

答えて

1

ランダムな方向に移動するには、編集する必要がある変数がベクトルです。

ここでの問題は、移動中はターゲットを見続けることです(私はこれが各フレームと呼ばれると想定しています)。 3つの乱数を生成するという点では、あなただけのC#で自分でこれを行うか、リンクが本当にあなたを助ける必要があることをこの

https://docs.unity3d.com/ScriptReference/Random.html

を読んで行くことができます。

これが役に立ちます。

関連する問題