Produktions-Workflow
AMS wandelt Audioanalyse in wiederverwendbare Daten und Runtime-Steuerung um. Der Editor bietet vier fokussierte Arbeitsbereiche; die Runtime-Module stellen Komponenten, Assets, Blueprint-Hilfen und C++-Schnittstellen bereit.
PAUTINKAAudio Motion System 1.0
Audiogesteuerte Runtime-Bewegung, deterministische Choreography, wiederverwendbare Dialogue-Curve-Assets und Animation-Sequence-Mixing für Unreal Engine.
Übersicht
AMS wandelt Audioanalyse in wiederverwendbare Daten und Runtime-Steuerung um. Der Editor bietet vier fokussierte Arbeitsbereiche; die Runtime-Module stellen Komponenten, Assets, Blueprint-Hilfen und C++-Schnittstellen bereit.
Preview dient der Iteration; wiederverwendbare Assets und Runtime-Komponenten übernehmen das Ergebnis in die Produktion.
Technische Informationen
Installation
AudioMotionSystem unter [Project]/Plugins/.Intermediate oder Saved Ordner zwischen Rechnern.
Schnellstart
Connect Audio Motion oder einem gebakten Audio Motion Clip.Stimmgesteuerte Steuerung
Musikgesteuerte Motion
Unterdrückt globale Fortbewegung.
Für stationäre Wiedergabe verwenden.Verwendet die geplante Trajektorie.
Verwenden, wenn sich die Sequenz fortbewegen soll.Verwendet den stabilisierten globalen Trajektorienpfad.
Verwenden, wenn die geplante Fortbewegung stabilisiert werden muss.
Skalarer Ausgang
Erstellen Sie ein Audio Motion Dialogue Curve wenn Sie einen einzelnen gebakten Skalarwert für Blueprint oder einen Materialparameter benötigen.
Die Runtime-Auswertung liest die gebakte Kurve. Eine erneute Editor-Analyse ist nicht erforderlich.
Connect Dialogue Curve Asset erstellt oder verwendet eine Audio-Motion-Dialogue-Curve-Komponente am Ziel-Actor wieder und startet sie mit den Asset-Einstellungen.
Der aktuelle Skalarwert ist verfügbar über Get Dialogue Curve Value. Wenn die Materialausgabe aktiviert ist, wird derselbe Wert in den gewählten Skalarparameter geschrieben.
Animation Sequence + Dialogue
Erstellt ein Source-to-Target-Mapping aus Referenzhierarchie und Geometrie.
Native Animationen des Ziel-Rigs umgehen das Retargeting.Startet mit Auto und erlaubt das Ersetzen oder Löschen fehlerhafter Mappings.
Für ungewöhnliche Fälle oder geringe Zuverlässigkeit verwenden.Verwendet ein gespeichertes Retarget Profile für ein bekanntes Source-/Target-Paar.
Am besten für wiederkehrende Produktionsarbeit.
Architektur
AudioMotionRuntimeRuntimeAudioauswertung, Komponenten, Blueprint-Hilfen, Assets, Mapping, Choreography-Daten.Game + EditorAudioMotionAnimationRuntimeRuntime-AnimGraph-Control-Node.AnimationssystemeAudioMotionEditorEditorTools-Fenster, Asset-Factories, Preview, Authoring, Bake, Animation Mixer.Nur EditorAudioMotionRuntime und bei Bedarf AudioMotionAnimation. Fügen Sie keine AudioMotionEditor Abhängigkeit zu Shipping-Runtime-Code hinzu.Das Runtime-Modul staged kompakte AMS-Vocabulary- und View-Dateien aus Content/AMSData als NonUFS-Runtime-Abhängigkeiten.
*.amsvocab.json
*.amsvocabz
*.amsview.json
Projektseitige Vocabulary-Ordner, die von den Runtime-Build-Regeln unterstützt werden, können ebenfalls gestaged werden.
Primäre Integrations-Nodes
Blueprint-Hilfen erstellen oder verwenden AMS-Komponenten am Ziel-Actor wieder. Pflichtparameter werden validiert; bei fehlerhaftem Setup wird None / nullptr.
UAudioMotionComponent*Erstellt oder verwendet die Haupt-Audio-Motion-Komponente wieder, bereitet den Voice-Sound-Pfad vor, baut Dialogue-Bindings neu auf, verbindet die Ziel-Rig-Komponente und startet die Verarbeitung.
UAudioMotionComponent*Verbindet einen gebakten Audio Motion Clip mit dem Ziel-Actor. Dieser Pfad benötigt keine Wiedergabe des Quell-Audios.
UAudioMotionComponent*Konfiguriert die Hauptkomponente für musikgesteuerte Verarbeitung mit der ausgewählten SoundWave als Background Music. Die Verarbeitung kann unabhängig von einer Voice-Quelle fortgesetzt werden.
UAudioMotionComponent*Verbindet Voice Sound und unabhängige Background Music mit derselben Audio-Motion-Komponente. Die Komponente verarbeitet weiter, wenn die Voice-Wiedergabe endet, damit der Musikpfad fortgesetzt werden kann.
UAudioMotionComponent*Findet die erste Audio-Motion-Komponente am Ziel-Actor. Gibt None zurück, wenn der Actor keine solche Komponente besitzt.
UAudioMotionDialogueCurveComponent*Erstellt oder verwendet eine Dialogue-Curve-Komponente wieder und verbindet deren Skalarausgang mit Blueprint und standardmäßig mit einem Skalar-Materialparameter.
UAudioMotionDialogueCurveComponent*Erstellt oder verwendet eine Dialogue-Curve-Komponente wieder und wendet das vollständige generierte Dialogue-Curve-Asset an: Source Sound, gebakte Kurve, Response-Einstellungen, Loop-Zustand, Materialziel, Material Slot und Parametername.
UAudioMotionPulseComponent*Erstellt oder verwendet eine kompakte skalare Audio-Pulse-Komponente wieder. Quelle kann Voice, gesamte Musikenergie, Frequenzbänder, Onset, Beat oder ein benutzerdefinierter Audio-Motion-Kanal sein.
Laufzeitsteuerung
Header: AudioMotionComponent.h · Modul: AudioMotionRuntime
SetAudioSource(UAudioComponent*)Setzt den Audio-Component-Eingang und aktualisiert den Quellenstatus.SetSourceSound(USoundWave*)Setzt den SoundWave-Quellpfad.SetSourceClip(UAudioMotionClip*)Setzt die gebakte Audio-Motion-Clip-Quelle.StartProcessing(bool)Startet die Auswertung; kann die Wiedergabezeit zurücksetzen.StopProcessing(bool)Stoppt die Auswertung; kann optional das Quell-Audio stoppen.ResetProcessing(float)Setzt den Prozessorstatus auf die gewünschte Zeit zurück.PushEnvelopeValue(float)Liefert einen manuellen Envelope-Wert für den Eingabemodus Manual Envelope.EvaluateAtTime(float,float)Wertet eine explizite Zeit und einen Envelope-Wert aus.EvaluateSourceAtTime(float)Wertet die aktuell konfigurierte Quelle zur gewünschten Zeit aus.ApplyExternalFrame(FAudioMotionFrame,bool)Wendet einen vorbereiteten Frame und optional automatische Bindings an.RefreshAutomaticConnection()Löst die automatische Runtime-Zielverbindung erneut auf.ResetAutomaticBindings()Löscht den gecachten automatischen Binding-Status.SetTargetSkeletalMesh(...)Setzt explizit eine Ziel-Rig-Komponente für die Runtime-Anwendung.GetChannelValue(EAudioMotionChannel)Liest einen Wert aus dem aktuellen Frame.GetPlaybackTimeSeconds()Gibt die aktuelle Haupt-Wiedergabezeit zurück.GetSourceDurationSeconds()Gibt die Dauer der konfigurierten Quelle zurück, wenn verfügbar.IsProcessing()Gibt den Verarbeitungsstatus zurück.SetBackgroundMusic(...)Setzt die unabhängige Background-Music-SoundWave.PlayBackgroundMusic(float)Startet Background Music zur gewünschten lokalen Zeit.StopBackgroundMusic()Stoppt die Background-Music-Wiedergabe.SetBackgroundMusicVolume(float)Aktualisiert die Lautstärke der Background Music.IsBackgroundMusicPlaying()Gibt den Wiedergabestatus der Background Music zurück.On Frame UpdatedOn Speech Value UpdatedOn Speech StartedOn Speech StoppedHeader: AudioMotionPulseComponent.h · Modul: AudioMotionRuntime
Liest einen ausgewählten AMS-Kanal oder Standalone-Sound, mappt ihn über Input-/Output-Bereiche mit Attack-/Release-Glättung, schreibt den Wert optional in einen dynamischen Material-Skalar und stellt ein Schwellenwert-Event bereit.
StartPulse()Startet Ticking und Quellenauswertung.StopPulse(bool)Stoppt die Auswertung; optional auch Standalone-Audio.SetStandaloneSound(USoundWave*,bool)Ändert die Standalone-Quelle und kann sofort abspielen.GetPulseValue()Gibt den aktuellen Skalarausgang zurück.On Pulse Value UpdatedOn PulseHeader: AudioMotionDialogueCurveComponent.h · Modul: AudioMotionRuntime
Abgeleitet von Audio Motion Pulse Component. Wird ein Curve Asset zugewiesen, wird dessen gebakte Kurve zur Skalarquelle und die Playback-/Material-Einstellungen werden in die Komponente kopiert.
SetCurveAsset(UAudioMotionDialogueCurveAsset*,bool)Weist das Asset zu und startet optional dessen Source Sound.GetDialogueCurveValue()Gibt den aktuellen Skalarwert der gebakten Kurve zurück.Öffentliche Header
Fügen Sie nur das Modul hinzu, das Ihr eigener Code tatsächlich nutzt.
PublicDependencyModuleNames.AddRange(new[]
{
"AudioMotionRuntime",
"AudioMotionAnimation" // only when your runtime animation module needs FAnimNode_AudioMotion
});
AudioMotionEditor nur aus einem Editor-Modul. Ein Shipping-Runtime-Modul darf niemals vom AMS-Editor-Modul abhängen.UAudioMotionComponentAudioMotionComponent.hZentrale Runtime-Auswertung. Quellenauswahl, Verarbeitungszeit, Frame-Auswertung, automatische Verbindung, Hintergrundmusik und Kanalzugriff.UAudioMotionBlueprintLibraryAudioMotionBlueprintLibrary.hStatische Convenience-Schicht für die Blueprint-Connect-Nodes; auch direkt aus C++ aufrufbar.UAudioMotionProfileAudioMotionProfile.hPrimary Data Asset mit Envelope-, Dialogue-, Musik- und Auswertungseinstellungen.UAudioMotionBindingProfileAudioMotionBindingProfile.hPrimary Data Asset für Target-Mapping. Öffentliche Helfer: FindDialogueRole, EnsureDialogueRoles, RebuildDialogueBindings.UAudioMotionClipAudioMotionClip.hGebakte Dialogue-Kurven. EvaluateChannel, EvaluateFrame, BuildFromFrames, ClearClip, IsEmpty.UAudioMotionDialogueCurveAssetAudioMotionDialogueCurveAsset.hPortables Skalar-Kurven-Asset. EvaluateCurve und GetSourceSound.UAudioMotionPulseComponentAudioMotionPulseComponent.hSkalare Audio-Reaktionskomponente mit Material-Ausgabe und Trigger-Events.UAudioMotionDialogueCurveComponentAudioMotionDialogueCurveComponent.hVon Pulse abgeleitete Komponente zur Auswertung eines gebakten Dialogue-Curve-Assets.FAudioMotionDialogueProcessorAudioMotionDialogueProcessor.hDeterministischer Dialogue-Prozessor. Reset(seed), Evaluate(...).FAudioMotionMusicAnalyzerAudioMotionMusicAnalyzer.hMusikanalyse-Helfer für SoundWave- oder Audio-Component-Auswertung.FAudioMotionFrameAudioMotionTypes.hGemeinsamer Frame-Container. GetChannel / SetChannel sowie Dialogue- und Musikkanalwerte.UAMSMotionDataSubsystemAMSMotionDataSubsystem.hEngine-Subsystem zum Laden kompakter Vocabulary-Daten. ReloadData, GetVocabulary, GetDefaultVocabulary, GetVocabularyIds.UAMSMotionVocabularyAMSMotionVocabulary.hVocabulary-Metadaten und Motion-Referenzen. FindMotion, GetMotionCount, ValidateVocabulary.UAMSMotionClipAMSMotionClip.hGemessene Motion-Unit-Daten. Track-Auswertung, Pose-Anwendung, Authoring-Validierung und Übergangsmetadaten.UAMSMotionLibraryAMSMotionLibrary.hPlanner-Kandidatenbibliothek aus Vocabulary- und Book-Daten.UAMSPerformanceBookAMSPerformanceBook.hChoreography-Policy-/Grammar-Data-Asset. Eingebaute Book-Helfer, Validierung und Family-Regeln.FAMSPerformancePlannerAMSPerformancePlanner.hDeterministische statische BuildPlan-Schnittstelle von Book/Library + Analysis + Planner Settings zu einer Motion Sequence.UAMSMotionSequenceAMSMotionSequence.hGeplante Choreography-Sequenz. Dauer-/Zeitnormalisierung, Pose-Auswertung, Build und Validierung des kompilierten Tracks.UAMSRigProfileAMSRigProfile.hRig-Mapping-Profil. Mapping-Auflösung, Aufbau aus Referenzhierarchie, manuelle Overrides, Validierung und Referenzmaßstab.FAnimNode_AudioMotionAnimNode_AudioMotion.hRuntime-AnimGraph-Control-Node. Liest den Frame standardmäßig aus der besitzenden Audio Motion Component.#include "AudioMotionBlueprintLibrary.h"
#include "AudioMotionComponent.h"
UAudioMotionComponent* ConnectAMS(
AActor* TargetActor,
UAudioMotionProfile* Profile,
UAudioMotionBindingProfile* BindingProfile,
USoundWave* VoiceSound)
{
return UAudioMotionBlueprintLibrary::ConnectAudioMotion(
TargetActor,
Profile,
BindingProfile,
VoiceSound,
nullptr,
true,
false);
}
#include "AudioMotionDialogueCurveAsset.h"
float ReadDialogueCurve(
const UAudioMotionDialogueCurveAsset* CurveAsset,
float TimeSeconds)
{
return CurveAsset
? CurveAsset->EvaluateCurve(TimeSeconds, false)
: 0.0f;
}
Assets & Datentypen
Envelope-, Dialogue-, Musikanalyse- und Evaluation-Rate-Einstellungen.
Ziel-Mappings und generierte Dialogue-Bindings.
Gebakte wiederverwendbare Frame-Channel-Kurven.
Source SoundWave plus eine gebakte Skalarkurve und Materialeinstellungen.
Rig Mapping, manuelle Overrides, Topologiedaten, Referenzmaßstab.
Vocabulary-Metadaten und Verweise auf Motion Units.
Planner-Kandidatenbibliothek aus Vocabulary- und Book-Daten.
Vom Planner verwendete Auswahlrichtlinie/-grammatik.
Geplante Choreography-Einträge und optionaler kompilierter Track.
Editor-Asset mit wiederverwendbarem Source/Target-Mapping und Translation-Einstellungen.
EAudioMotionModeEAudioMotionInputModeEAudioMotionChannelEAudioMotionPulseSourceEAudioMotionTransformChannelEAudioMotionTargetTypeEAudioMotionDialogueRoleEAudioMotionDialogueTargetTypeEAMSRigProfileKindEAMSMotionSequenceModeEAMSTrajectoryModeEAMSMotionCurveModeEAMSMotionActionKindEAMSMotionPathKindEAMSMotionDirectionEAMSMotionLevelEAMSMotionTimeQualityEAMSMotionForceQualityEAMSMotionFlowQualityEAMSSupportState
Exakte C++-Bezeichner werden für API-Genauigkeit angegeben. Der Editor zeigt neutrale Anzeigenamen für die wichtigsten produktionsrelevanten Dialogue-Rollen.
FAudioMotionFrameFAudioMotionMusicSettingsFAudioMotionEnvelopeSettingsFAudioMotionDialogueSettingsFAudioMotionValueMappingFAudioMotionDialogueTargetConfigFAudioMotionDialogueRoleTargetFAudioMotionMorphBindingFAudioMotionMaterialScalarBindingFAudioMotionSceneBindingFAMSPerformanceAnalysisFAMSPerformancePlannerSettingsFAMSRigSlotMappingFAMSRigManualOverrideFAMSMotionKeyFAMSMotionTrack
Asset-Sicherheit
AMS verwendet den konfigurierten Output Folder als Root. Mesh-abhängige Assets werden unter einem Ordner mit dem Namen des ausgewählten Rig Mesh gespeichert.
/Game/AudioMotion/
SK_MyRig/
Profiles/
Clips/
Animations/
Retarget/
Choreography/
RigProfiles/
Generated/
DialogueCurves/
Generierte finale Assets verwenden Unreals eindeutige Namensvergabe, statt vorhandene Assets stillschweigend zu ersetzen.
Dialogue-Curve-Assets werden gemeinsam genutzt und sind nicht an ein Rig Mesh gebunden.
Kompatibilität
Fehlerbehebung
Prüfen Sie, ob das Plugin für das Projekt aktiviert und der Editor danach neu gestartet wurde. Stellen Sie außerdem sicher, dass das Paket zur Unreal-Engine-Version des Projekts passt.
Prüfen Sie Voice-Sound-Analysedaten, Profile/Binding Profile, Ziel-Rig-Mesh und automatische Zuweisungen. Kontrollieren Sie fehlende oder auffällige Mappings vor Rebuild oder Bake.
Validieren Sie das Rig Profile. Wechseln Sie zu Custom Mapping, starten Sie mit der automatischen Basis, korrigieren Sie nur falsche Zeilen, wählen Sie Validate und Apply und bauen Sie anschließend den kompilierten Choreography-Track neu.
Folgen Sie der Statusmeldung im Editor. Wenn AMS die erforderlichen Analyse-Einstellungen aktiviert, speichern Sie die SoundWave und lassen Sie Unreal die Audioanalysedaten neu erstellen, bevor Sie Analyze + Build + Compile erneut ausführen.
Prüfen Sie, ob Material Output aktiviert ist, der Skalarparameter existiert, der Material Slot korrekt ist und Target Component Name entweder zur gewünschten Mesh-Komponente passt oder leer bleibt, damit AMS die erste geeignete Mesh-Komponente verwendet.
Verwenden Sie Custom, starten Sie mit Auto Mapping, ersetzen oder löschen Sie nur fehlerhafte Zeilen und speichern Sie ein wiederverwendbares Retarget Profile, wenn das Source/Target-Paar erneut verwendet wird.
Installieren/verwenden Sie das AMS-Source-Paket für genau diese Engine-Version und bauen Sie mit der unterstützten Compiler-/Toolchain neu. Verwenden Sie keine Binaries- oder Intermediate-Ausgaben einer anderen Engine-Version.
Pautinka
Geben Sie Unreal-Engine-Version, AMS-Version, Auftreten in Editor Preview / Runtime / Bake, genaue Reproduktionsschritte und den relevanten Unreal-Log-Ausschnitt an.
Bei Mapping- oder Animation-Mixer-Problemen geben Sie zusätzlich den Source-/Target-Rig-Typ und den verwendeten Modus Auto, Custom oder Profile an.
Editor-Authoring, wiederverwendbare Assets, Blueprint-Integration und öffentliche C++-Runtime-APIs in einem Produktions-Workflow.