Sie können diese Art von Problem mit BlendTrees lösen (im Allgemeinen ist es ratsam, sich häufig auf Mischbäume zu verlassen). Der Mischbaum ist eine Art Multi-Animationsstatus, der basierend auf einem (Float-) Parameter entscheidet, welche der darin enthaltenen Animationen aktuell aktiv ist (oder alternativ kann die resultierende Animation eine Mischung aus mehreren Animationen sein). Selbst wenn die Animationen nicht gemischt, sondern ausgetauscht werden, erfolgt der Austausch mitten in der Animation (dh wenn die "verlassende" Animation bei 35% liegt, wird die neue Animation ab 35% abgespielt). Von außen ist alles verborgen, als wäre es ein einfacher / einzelner Zustand.
Zum Beispiel haben Sie einen Mischbaum mit 8 Sprite-Animationen (Leerlauf mit 4 Haupt- und 4 Diagonalrichtungen). Dieser Mischbaum enthält zwei Parameter: "horizontal" und "vertikal". Basierend auf diesen beiden Parametern entscheidet der Mischbaum, welche Animation abgespielt werden soll. Basierend auf dem Parameter "horizontal" wählt der Mischbaum zwischen der Animation links / rechts und dem Parameter "vertikal" die Animation oben / unten. In Kombination haben Sie dann alle 8 Animationen mit Diagonalen (es ist dieselbe Idee, die hinter Joypads / Joysticks steckt).
Es ist ein bisschen verwirrend, auch wenn StackExchange keine Links mag, werde ich ein kurzes Beispielvideo verlinken, das ich gemacht habe. Beachten Sie den oberen rechten Teil des Bildschirms. Die grauen Punkte sind die "Zustände" / Animationen und der aktive ist derjenige, der sich dem roten Punkt nähert. Wie eingangs erwähnt, kann es noch komplexer sein und jede Animation kann einen Einfluss / eine Stärke haben, die auf ihrem Abstand zum roten Punkt basiert, was zu einer Mischung zwischen mehreren Animationen führt.
Von außen ist es nur ein Zustand (Mischbaum), und wenn Sie dasselbe Konzept für Gehen und Angreifen anwenden, sind nur drei Zustände verknüpft.
Mischbäume werden mit einem Rechtsklick auf einen leeren Animatorbereich erstellt. Status erstellen -> Aus neuem Mischbaum. Von dort ist alles im Inspektor. Wenn der Mischbaum ausgewählt ist, können Sie den Typ des Mischbaums (1D, 2D usw.) auswählen, Animationen hinzufügen, positionieren (relativ zu Parameterwerten) und die Steuerparameter auswählen.
Wenn Sie weitere Informationen zu Blend Trees wünschen, finden Sie als Nächstes Videos von Unity - Unite 2016 und Unity Tutorials .