2016-08-18 160 views
-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