Jump to content
Unity Insider Forum

Design AI: Vorgehensweise Behaviour Tree?


Hellhound

Recommended Posts

Hallo zusammen,

ich arbeite mich aktuell etwas in die Thematik der Behaviour Trees ein um eine AI umzusetzen. Dabei stellt sich mir die generelle Frage in welche Richtung ich das Design sinnvoller weise zu legen habe. Ich kann ja einerseits die Logik zum Großteil auf den Tree legen oder aber diesen mehr als übergeordnete Struktur nutzen und die Kernlogik in Eigenimplementationen legen. Ein einfaches Beispiel, was mir grad sozusagen vor die Füsse gefallen ist:

Ich möchte, das die AI (und auch die Spielereinheit selbst) eine Einheit angreift, wenn diese in Reichweite gelangt ist und bestimmte Konditionen erfüllt sind. Dafür brauche ich spezifische Animationen (Zielen, Feuern, Laden, Mündungsfeuer) und auch Werte für die Gewichtung. Ich könnte nun die Logik durch spezifische Action-Tasks im Baum Abbilden:

z.b. Wenn Ammo > 0. -> Sequenz -> Zielen -> Animation Schuss abspielen -> Animation Mündungsfeuer abspielen -> Ammo dekrement  und von vorn bzw. Erweitern. 

Ich könnte auch einen komplexeren Action-Task, z.b. Schuss schreiben der die Punkte nach Zielen mit abdeckt und über Variablen im Blackboard referenziert. Das macht zumindest den Baum in identischen Abläufen schlanker. 

Grad bei Elementen mit einer hohen Varianz in der Ablauffolge sehe ich aber das Problem, dass ich mich hier tot modellieren kann, da ich je nach Waffe unterschiedliche Animationen, Sounds, MuzzleFlashes und auch Verhaltensweien haben kann (Bsp. M1 Grand das beim Wert Ammo == 0 immer den berühmten Pling Sound abspielen muss).

Oder sollte ich hier den Behavour-Tree nur als Ankerpunkt nehmen, über Events in spezifische Implementationen wechseln, die anschließend über Events wieder Einfluss auf den Baum ausüben? Der Baum kann an sich ja schon recht komplex werden, wenn die AI mehrere Entscheidungen abwegen soll und nicht nur einfache Ablauffolgen wie: Eat, Sleep, Code, Repeat abdecken soll 😉

Hat hier jemand von Euch Erfahrung? Wie würdet Ihr vorgehen? Leider scheint es dazu wenig Input im Netz zu geben und die Beispiele reduzieren sich dann doch schnell auf solche simplen Ablauffolgen ...

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...