Nach meinem Verständnis für Verhaltensbäume sollte jedes Verhalten eine kurze, zielorientierte Aktion sein, die in wenigen Iterationen ausgeführt werden kann.
So ist zum Beispiel unten ein Bild eines Verhaltensbaums:
Nehmen wir nun an, dass das Verhalten von Drive To Enemy mehr als ein paar Iterationen in der Struktur erfordert. Bei jedem Durchgang wird Drive To Enemy aufgerufen, da es sich jetzt im laufenden Zustand befindet.
Das Problem ist, dass ich Evade Enemy anrufen möchte, wenn ein Feind in der Nähe ist. Und wenn man bedenkt, dass Drive To Enemy immer heißt, bekomme ich nie die Chance, Evade Enemy anzurufen ( sollte wahrscheinlich Avoid Enemy heißen ).
- Soll ich den Tree EACH- Pass durchlaufen, unabhängig davon, welche Aktion gerade ausgeführt wird?
- Gehe ich das richtig an?
- Wie gehe ich mit einem solchen Verhalten richtig um?
Ursprünglich auf Stackoverflow gefragt. Ich dachte, hier wäre ein geeigneterer Ort, um diese Frage zu stellen.