Jump to content
Unity Insider Forum

Enemies & AI


christine

Recommended Posts

Hey,

ich entwickel gerade ein 2D Spiel mit der Hilfe des Platformer Tutorial. Ich bin nun bei dem Punkt eine AI/ Enemy mit Bolt zu programmieren.
Der Gegner soll sich bewegen und zufällig die Richtung wechseln ( min. 1 max. 3 sek.). Das script seht ihr auf dem hinzugefügten Bild. 

Die Console sagt mir folgendes: state transition trigger cannot be used outside a state transition. 

Ich habe es genauso gemacht wie vorgegeben und eigentlich sollte sich der Gegner dann auch bewegen und die Walk Animation abspielen. Tut er aber nicht.

Ich hoffe jemand kann mir helfen!
Danke

Screenshot (8).png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Willkommen hier! :)

Ich weiß nicht genau was Trigger Transition bei deinem Programmiertool heißt, aber scheinbar versuchst du die Transition zu manipulieren, was aber so nicht geht. Die Transition ist ja die Verbindung von einer Animation zur Anderen, bzw. von einem State zum Anderen.
Da drin ist eingestellt, auf welche Bedingung geachtet werden soll, um einen Übergang von einer Animation zur anderen zu starten, und wie der Übergang aussehen soll. Also ob es ein Überblenden gibt oder nicht und noch ein paar andere Sachen.

Du willst aber nicht die Transition manipulieren, sondern eine Bedingung schalten, auf die die Transition hört. Möglicherweise nutzt du in deinem Animator ja auch Trigger für die Bedingungen und hast dich da vertan.

Welches Tutorial nutzt du denn?
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey Malzbie,
ich danke dir vielmals für deine Antwort!

https://support.ludiq.io/knowledge-bases/40/articles/427-8-enemies-ai
hier ist der Link zum Tutorial.
Ich habe das Problem versucht zu googlen und da wurde auch immer auf den Animator verwiesen. Allerdings verstehe ich das nicht ganz. 
Laut des Tutorials greife ich für die Bewegung des Gegners auf den Speed zu. Ich habe dann eine Bedingung beim Animation Controller hinzugefügt, dass wenn der Speed größer als 0 ist, die Walk Animation abgespielt werden muss. Es passiert aber nix.
Hast du vielleicht auch eine andere Idee wie ich eine AI mit Bolt programmieren könnte oder kennst du ein gutes Tutorial für Anfänger?

Liebe Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe mir das mal angeschaut, aber da alles irgendwie so putzig benannt ist, habe ich mich da jetzt nicht weiter reingehangen.
Jedenfalls sollte das Change-Mind Macro dann erst einmal in diesen Graph eingebaut werden. Danach kann man testen und es sollte auch laufen, denn, wenn ich es richtig verstanden habe, ist das dann innerhalb einer State Transition... Es scheint alles, also auch den Animator zu manipulieren.

Aber ich vermute das nur. Ich kenne Bolt nicht und weiß auch nicht was es dann macht, wenn du auf Play drückst.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kann es sein, dass es hier um zwei verschiedene Dinge geht?

Zum Einen wird Speed als BOLT Variable genutzt, wenn ich das richtig sehe. Diese bestimmt, wie schnell dein Charakter läuft.

Zum Anderen bekommt der Animator eine Variable Speed, welche als Condition (Speed > 0) dient, wann die Animation triggert.

Kann es sein, dass Du hier irgendwo die falsche versuchst zu nutzen? Weil BOLT die Exception wirft, dass Du die Variable außerhalb der Transition nicht nutzen darfst.

Nur eine Vermutung. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für eure Antworten! :) 
Also das Problem, dass der Enemy sich nicht bewegt, habe ich sozusagen gelöst. Wenn ich das Game starte, dann wird wie es sein soll die Idle Animation meines Gegners abgespielt, aber dann stoppt das Game. Wenn ich dann das Spiel fortsetze, ist der Enemy weg. Im Inspector sehe ich dann, dass er sich bewegt, aber er ist nicht sichtbar. 
Die Animationen des Gegners springen laut des Animator Controllers hin und her. 
Ich habe immer noch nicht die Lösung für den Error gefunden, den ich euch oben als Screenshot hinzugefügt habe. :( 

Liebe Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...