2016-08-13 58 views
0

我有一個敵人,並附加了一個動畫組件,並且在此組件中附加了「動畫片段」,這是步行動畫,在此步行動畫中,模型)沒有移動(翻譯)。所以我決定創建一個腳本,讓敵人可以走向玩家。不向玩家移動的動畫製作對象 - Unity

我創建了一個腳本。

void Update() { 

     transform.LookAt(player); 
     transform.position -= Vector3.forward * Time.deltaTime; 
    } 

現在敵人正在向玩家移動,如果玩家在「Z」唯一的方向,

但是當我改變玩家的位置,敵人不會向玩家移動。你能幫我把敵人移向玩家嗎?

這裏是容易理解的視頻網址 - http://tinypic.com/r/307ulu0/9

感謝

回答

0

嘗試改變 transform.position -= Vector3.forward * Time.deltaTime;

transform.position = Vector3.forward * Time.deltaTime;

如果不工作,請嘗試使用MoveTowards方法。

transform.position = Vector3.MoveTowards(transform.position, player.position, speed*Time.deltaTime); 
+0

好,它給了我想法,謝謝,對你的代碼做了一點改變 - 作爲公共轉換目標; 公衆浮動速度; void Update(){ float step = speed * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position,target.position,step); } – amulbhatia