2013-07-21 39 views
4

我想弄清楚如何編寫一個AI避免算法,以便不會踩在熔岩區域上。距離熔岩物體中心的安全距離是一個靜態的25範圍。 如果它只是一個熔岩對象,我會計算玩家和對象之間的距離,然後計算角度並向後移動x範圍,直到它離開25範圍。避免步入熔岩圈

但是因爲可以有超過1個熔岩物體,每個熔岩物體具有25範圍安全半徑。所有3個都需要考慮,否則它可能會從1移開並進入另一個。

任何幫助,將不勝感激。

1

+0

你有熔岩對象的上限 – user2580076

+0

是的。他們都完全一樣的大小? – user1992522

+1

你想計算一條路徑(比如一條最小長度的路徑)到一個目標點,避免距離任何熔岩質心的距離爲25?或者你只是想計算一條路徑(比如一條最小長度路徑),讓你擺脫所有的熔岩圈,假設你現在在一個? – user2566092

回答

0

如果它只是1個熔岩對象我將計算播放器和對象之間的距離,然後計算角度和向後移動x範圍中,直到它的25範圍遠。

這本質上是正確的想法,你只需要擴展它。爲每個熔岩圈創建一個矢量。角度應該代表「遠離」該圓圈,並且該幅度表示該距離有多遠。然後,您可以將這些添加到一起以表示導向矢量。這不是完美,但你可以調整它以適應你的特殊需求。

這只是光禿禿的基礎,但其原理可以按照適用於各種轉向,像追求,迴避,牆壁等

我知道的最好的參考送你去是Steering Behaviors For Autonomous Characters由Craig雷諾茲(BOIDS的創造者)。該網站相當古老,但信息與以往一樣好。