2016-08-18 13 views
-1

私のゲームでは、複数のゾンビと1人のプレイヤーがいます。私は自分のシーンに(ミキサーでosmを使って作成した)都市をインポートしました。壁の衝突を検出する

私のゾンビは壁の衝突を検出して(プレイヤーに起こった場合)、プレーヤーに向かって移動する必要があります。

私はtransform.LookAt(target);を使用しているので、ゾンビは死ぬか破壊されなければ彼を探すべきです。

私が「壁」と私は壁の間で交差しないように、ゾンビと壁の衝突/トリガを検出し、OnTriggerEnterとして壁をタグ付けした、ゲームオブジェクトは、今90

問題で回転していますゾンビが壁に触れると、コリジョン/トリガが発生し、ゾンビが90°回転して動き始めるが、移動し続ける。壁の終わりをもう一度すると、プレーヤーに向かって動き始めます。

任意論理アイデアやスクリプトをお願いします。

+0

問題を解決するために、いくつかのコードを記入してください。あなたの問題は、衝突が繰り返されたり、ロジックがフレームごとに呼び出されたりすることによって引き起こされる可能性があります。 – TheNoob

答えて

0

論理的考え: ゾンビがそれを入力してから90度回転するようにトリガーとしてコライダーを作成します。それから、退出時にプレイヤーに向かうでしょう。

void OnTriggerEnter(Collider other) 
{ 
    //zombie turn (avoid wall) 
} 
void OnTriggerExit(Collider other) 
{ 
    //zombie chases the player by rotating -90degeree or whatever the angle it changed on entering the trigger 
} 
+0

質問を更新してください。ありがとうございます。 – amulbhatia