Charactercontroller Battlechar
Aus Sternenschweif Wiki
Version vom 29. September 2016, 15:57 Uhr von Chrisfirefox (Diskussion | Beiträge)
Dokumentation für die Erstellung von Nonhumanoid Characters für den Kampf mittels General Animation Controller
Inhaltsverzeichnis
Parameter
- Direction float: Richtung für Move/Turn
- move boolean: true wenn sich der Charakter bewegen soll
- turn boolean: true wenn sich der Charakter drehen soll
- forceidle trigger: gesetzt wenn sich der Charakter in den Idle versetzen soll
- action int: welche Animation ausgeführt werden soll
- execute trigger: Auslöser der sonstigen Animationen
- castmagic trigger: Auslöser von Zauberaktionen
Optionale Parameter
- variation int: Variationsvariable, alternative Animationen je Aktion
- speed float: aktuelle Bewegungsgeschwindigkeit entsprechend Animation
Action Codes
- 0: Erfolgreicher eigener Angriff
- 1: Fehlgeschlagener eigener Angriff
- 2: Ausweichen eines Gegnerangriffs
- 3: Verteidigung abgeblockt
- 4: Verteidigung fehlgeschlagen, nimmt Schaden
- 5: Verteidigung fehlgeschlagen, geht zu Boden
- 6: IdleBreak (falls vorhanden)
State Reports
Jeder Animationszustand benötigt einen State Reporter, damit der Status korrekt im Animationscontroller bekannt ist.
AnimControllerStateReport
Für folgende Stati
- "hit": Getroffen
- "block": Angriff abgeblockt
- "evade": Ausgewichen
- "turn": in der Drehung
- "move": in der Bewegung
Die Stati sind in erster Linie fürs Debugging informativ und nicht Reaktionsrelevant
AnimationControllerReportIdle
Für den "Idle"-Zustand
AnimationcontrollerReportAttack
Für "Angriffs"-Zustände. Hier werden außerdem folgende Ereignisse der Animation abgefangen:
- "OnHit": Die "getroffen"-Animation des Ziels soll starten
- "OnBlock": Die "abblocken"-Animation des Ziels soll starten
- "OnFire": Die Animation des Projektils bei einem Fernkampfangriff soll starten
Anmerkungen für das Gameobject
- Wenn BattleCharBehaviour nicht direkt auf dem selben Gameobjekt liegt wie der Animator, zB damit das Gameobject besser organisiert werden kann, dann wird direkt beim Animator das Skript "BCB Reference" benötigt, mit Verknüpfung auf das eigentliche BCB
- Für das Kampf-UI wird ein UITrigger benötigt, Layer BattleChar, Collider "IsTrigger" aktiviert. Außerdem ein UI Event Trigger script mit den Ereignissen "On Hover Over", "On Hover Out" und "On Click" weitergeleitet an BattleCharBehaviour