AnimationMixer Klasse
Optionaler Animations-Mixer für ein GameObject: steuert die Animations-Layer des Objekts,
blendet weich zwischen Animationen über und meldet Ereignisse (z.B. Schritte).
Namensraum: KWEngine3.AnimationAssembly: KWEngine3 (in KWEngine3.dll) Version: 3.0.9.5+57af0b8dc8253ca4e9d9803fd04a0124940de651
public class AnimationMixer
- Inheritance
- Object AnimationMixer
Ablauf:
1. Clips einmal pro Modell registrieren: AnimationMixer.AddClipToModel(...) (optional: AddEventToClip(...))
2. Pro GameObject einen Mixer erzeugen (optional: AddChannel(...) für Körperregionen mit Knochen-Presets)
3. In jedem Act(): Play(...) für jeden Kanal aufrufen, danach Update()
Solange ein Objekt einen Mixer besitzt, werden direkte Aufrufe von SetAnimationID(), SetAnimationPercentage() usw. ignoriert.
|
AnimationMixer
|
Erzeugt einen Animations-Mixer für das angegebene GameObject.
Ab jetzt steuert der Mixer alle Animations-Layer des Objekts.
|
|
AddChannel
|
Fügt einen Kanal (Körperregion) hinzu. Jeder Kanal belegt zwei der vier Animations-Layer, um überblenden zu können.
Kanäle müssen vor dem ersten Aufruf von Play() oder Update() angelegt werden.
|
|
AddClipToModel(String, String, Int32, Single)
|
Registriert einen Clip für ein Modell (einmalig, z.B. beim Laden des Modells)
|
|
AddClipToModel(String, String, String, Single)
|
Registriert einen Clip für ein Modell anhand des Animationsnamens (einmalig, z.B. beim Laden des Modells)
|
|
AddEventToClip
|
Setzt ein Ereignis an einer Stelle eines Clips (löst AnimationEvent aus, sobald die Animation diese Stelle überschreitet)
|
|
IsFinished
|
Gibt an, ob die aktuelle Animation des Kanals (ohne Schleife) ihr Ende erreicht hat
|
|
IsPlaying
|
Gibt an, ob auf dem Kanal gerade der angegebene Clip läuft (auch während er noch eingeblendet wird)
|
|
Play
|
Spielt einen Clip auf einem Kanal ab. Darf in jedem Act() aufgerufen werden:
Läuft der Clip bereits, wird nur die Geschwindigkeit übernommen; sonst wird überblendet.
|
|
Update
|
Führt alle Kanäle um ein Update fort, überträgt sie an das GameObject und löst Ereignisse aus.
Muss einmal pro Act() aufgerufen werden (nach den Play()-Aufrufen).
|
|
AnimationEvent
|
Wird ausgelöst, wenn die laufende Animation eines Kanals eine mit AddEventToClip() gesetzte Stelle überschreitet
|
|
DEFAULT_CHANNEL
|
Name des Ganzkörper-Kanals, der automatisch angelegt wird, wenn vor dem ersten Play() bzw. Update() kein Kanal hinzugefügt wurde (Layer 0 und 1, alle Knochen)
|