Workflow di produzione
AMS trasforma l’analisi audio in dati riutilizzabili e controllo runtime. L’editor offre quattro aree di lavoro mirate, mentre i moduli runtime espongono componenti, asset, helper Blueprint e interfacce C++.
PAUTINKAAudio Motion System 1.0
Movimento runtime guidato dall’audio, Choreography deterministica, asset Dialogue Curve riutilizzabili e mix di Animation Sequence per Unreal Engine.
Panoramica
AMS trasforma l’analisi audio in dati riutilizzabili e controllo runtime. L’editor offre quattro aree di lavoro mirate, mentre i moduli runtime espongono componenti, asset, helper Blueprint e interfacce C++.
Preview è pensata per l’iterazione; asset riutilizzabili e componenti runtime portano poi il risultato in produzione.
Informazioni tecniche
Installazione
AudioMotionSystem in [Project]/Plugins/.Intermediate o Saved tra computer diversi.
Avvio rapido
Connect Audio Motion o con un Audio Motion Clip.Controllo guidato dalla voce
Motion guidata dalla musica
Sopprime lo spostamento globale.
Usa per playback sul posto.Usa la traiettoria pianificata.
Usa quando la sequenza deve spostarsi.Usa il percorso globale stabilizzato.
Usa quando lo spostamento pianificato richiede stabilizzazione.
Output scalare
Crea un Audio Motion Dialogue Curve quando serve un singolo valore scalare baked per Blueprint o per un parametro materiale.
La valutazione runtime legge la curva baked e non deve ripetere l’analisi dell’editor.
Connect Dialogue Curve Asset crea o riutilizza un componente Audio Motion Dialogue Curve sull’Actor target e lo avvia con le impostazioni dell’asset.
Il valore scalare corrente è disponibile tramite Get Dialogue Curve Value. Se l’output materiale è attivo, lo stesso valore viene scritto nel parametro scalare selezionato.
Animation Sequence + Dialogue
Costruisce un mapping Source-to-Target dalla gerarchia di riferimento e dalla geometria.
Le animazioni native del Rig target bypassano il retargeting.Parte da Auto e consente di sostituire o cancellare i mapping da correggere.
Usa per casi insoliti o a bassa confidenza.Riutilizza un Retarget Profile salvato per una coppia Source / Target nota.
Ideale per lavoro di produzione ripetuto.
Architettura
AudioMotionRuntimeRuntimeValutazione audio, componenti, helper Blueprint, asset, mapping, dati Choreography.Game + EditorAudioMotionAnimationRuntimeNodo di controllo AnimGraph runtime.Sistemi di animazioneAudioMotionEditorEditorFinestra Tools, asset factory, Preview, authoring, Bake, Animation Mixer.Solo EditorAudioMotionRuntime e, quando necessario, AudioMotionAnimation. Non aggiungere una AudioMotionEditor dipendenza al codice runtime di shipping.Il modulo runtime include i file compatti AMS Vocabulary e view da Content/AMSData come dipendenze runtime NonUFS.
*.amsvocab.json
*.amsvocabz
*.amsview.json
Le cartelle Vocabulary del progetto supportate dalle regole di build runtime possono essere incluse quando presenti.
Nodi principali di integrazione
Gli helper Blueprint creano o riutilizzano componenti AMS sull’Actor target. Gli input richiesti vengono validati; un setup non valido restituisce None / nullptr.
UAudioMotionComponent*Crea o riutilizza il componente Audio Motion principale, prepara il percorso Voice Sound, ricostruisce i binding Dialogue, collega il componente Rig target e avvia l’elaborazione.
UAudioMotionComponent*Collega un Audio Motion Clip baked all’Actor target. Questo percorso non richiede la riproduzione dell’audio sorgente.
UAudioMotionComponent*Configura il componente principale per elaborazione guidata dalla musica usando la SoundWave selezionata come Background Music. L’elaborazione può continuare indipendentemente da una sorgente Voice.
UAudioMotionComponent*Collega Voice Sound e Background Music indipendente allo stesso Audio Motion Component. Il componente continua l’elaborazione quando la riproduzione Voice termina, così il percorso musicale può proseguire.
UAudioMotionComponent*Trova il primo Audio Motion Component collegato all’Actor target. Restituisce None se l’Actor non ne possiede uno.
UAudioMotionDialogueCurveComponent*Crea o riutilizza un componente Dialogue Curve e collega il suo output scalare a Blueprint e, per default, a un parametro scalare materiale.
UAudioMotionDialogueCurveComponent*Crea o riutilizza un componente Dialogue Curve e applica l’asset generato completo: source sound, curva baked, impostazioni response, loop, target materiale, material slot e nome parametro.
UAudioMotionPulseComponent*Crea o riutilizza un componente scalare compatto Audio Pulse. La sorgente può essere Voice, energia musicale complessiva, bande di frequenza, onset, beat o un canale Audio Motion custom.
Controllo runtime
Header: AudioMotionComponent.h · Modulo: AudioMotionRuntime
SetAudioSource(UAudioComponent*)Imposta l’input Audio Component e aggiorna lo stato della sorgente.SetSourceSound(USoundWave*)Imposta la sorgente SoundWave.SetSourceClip(UAudioMotionClip*)Imposta la sorgente Audio Motion Clip baked.StartProcessing(bool)Avvia la valutazione; opzionalmente resetta il tempo di playback.StopProcessing(bool)Ferma la valutazione; opzionalmente ferma l’audio sorgente.ResetProcessing(float)Resetta lo stato del processore al tempo richiesto.PushEnvelopeValue(float)Fornisce un valore envelope manuale per la modalità input Manual Envelope.EvaluateAtTime(float,float)Valuta un tempo esplicito e un valore envelope.EvaluateSourceAtTime(float)Valuta la sorgente configurata al tempo richiesto.ApplyExternalFrame(FAudioMotionFrame,bool)Applica un frame già costruito e opzionalmente i binding automatici.RefreshAutomaticConnection()Ricalcola la connessione automatica del target runtime.ResetAutomaticBindings()Cancella lo stato cached dei binding automatici.SetTargetSkeletalMesh(...)Imposta un componente Rig target esplicito per l’applicazione runtime.GetChannelValue(EAudioMotionChannel)Legge un valore dal frame corrente.GetPlaybackTimeSeconds()Restituisce il clock principale di playback.GetSourceDurationSeconds()Restituisce la durata della sorgente configurata quando disponibile.IsProcessing()Restituisce lo stato di elaborazione.SetBackgroundMusic(...)Imposta la SoundWave indipendente di Background Music.PlayBackgroundMusic(float)Avvia Background Music al tempo locale richiesto.StopBackgroundMusic()Ferma la riproduzione di Background Music.SetBackgroundMusicVolume(float)Aggiorna il volume di Background Music.IsBackgroundMusicPlaying()Restituisce lo stato di playback di Background Music.On Frame UpdatedOn Speech Value UpdatedOn Speech StartedOn Speech StoppedHeader: AudioMotionPulseComponent.h · Modulo: AudioMotionRuntime
Legge un canale AMS selezionato o un suono standalone, lo mappa negli intervalli Input/Output con smoothing attack/release, opzionalmente scrive il valore in uno scalar material dinamico ed espone un evento soglia.
StartPulse()Avvia ticking e valutazione sorgente.StopPulse(bool)Ferma la valutazione; opzionalmente ferma l’audio standalone.SetStandaloneSound(USoundWave*,bool)Cambia la sorgente standalone e opzionalmente avvia subito il playback.GetPulseValue()Restituisce l’output scalare corrente.On Pulse Value UpdatedOn PulseHeader: AudioMotionDialogueCurveComponent.h · Modulo: AudioMotionRuntime
Deriva da Audio Motion Pulse Component. Quando viene assegnato un Curve Asset, la curva baked diventa la sorgente scalare e le impostazioni playback/materiale vengono copiate nel componente.
SetCurveAsset(UAudioMotionDialogueCurveAsset*,bool)Assegna l’asset e opzionalmente avvia il source sound.GetDialogueCurveValue()Restituisce il valore scalare corrente della curva baked.Header pubblici
Aggiungi solo il modulo realmente usato dal tuo codice.
PublicDependencyModuleNames.AddRange(new[]
{
"AudioMotionRuntime",
"AudioMotionAnimation" // only when your runtime animation module needs FAnimNode_AudioMotion
});
AudioMotionEditor solo da un modulo Editor. Non rendere mai un modulo runtime shipping dipendente dal modulo AMS Editor.UAudioMotionComponentAudioMotionComponent.hValutatore runtime principale. Selezione sorgente, clock di elaborazione, valutazione frame, connessione automatica, musica di sottofondo e lettura canali.UAudioMotionBlueprintLibraryAudioMotionBlueprintLibrary.hLayer statico di utilità usato dai nodi Blueprint Connect, richiamabile anche direttamente da C++.UAudioMotionProfileAudioMotionProfile.hPrimary Data Asset con impostazioni envelope, Dialogue, musica e valutazione.UAudioMotionBindingProfileAudioMotionBindingProfile.hPrimary Data Asset per il target mapping. Helper pubblici: FindDialogueRole, EnsureDialogueRoles, RebuildDialogueBindings.UAudioMotionClipAudioMotionClip.hCurve Dialogue baked. EvaluateChannel, EvaluateFrame, BuildFromFrames, ClearClip, IsEmpty.UAudioMotionDialogueCurveAssetAudioMotionDialogueCurveAsset.hAsset curva scalare portabile. EvaluateCurve e GetSourceSound.UAudioMotionPulseComponentAudioMotionPulseComponent.hComponente di reazione audio scalare con output materiale ed eventi trigger.UAudioMotionDialogueCurveComponentAudioMotionDialogueCurveComponent.hComponente derivato da Pulse che valuta un asset Dialogue Curve baked.FAudioMotionDialogueProcessorAudioMotionDialogueProcessor.hProcessore Dialogue deterministico. Reset(seed), Evaluate(...).FAudioMotionMusicAnalyzerAudioMotionMusicAnalyzer.hHelper di analisi musicale per valutazione SoundWave o Audio Component.FAudioMotionFrameAudioMotionTypes.hContenitore frame condiviso. GetChannel / SetChannel più valori dei canali Dialogue e musica.UAMSMotionDataSubsystemAMSMotionDataSubsystem.hSubsystem del motore che carica dati Vocabulary compatti. ReloadData, GetVocabulary, GetDefaultVocabulary, GetVocabularyIds.UAMSMotionVocabularyAMSMotionVocabulary.hMetadati Vocabulary e riferimenti Motion. FindMotion, GetMotionCount, ValidateVocabulary.UAMSMotionClipAMSMotionClip.hDati Motion Unit misurati. Valutazione track, applicazione pose, validazione authoring e metadati transizione.UAMSMotionLibraryAMSMotionLibrary.hLibreria candidati per il Planner costruita da dati Vocabulary e Book.UAMSPerformanceBookAMSPerformanceBook.hData Asset di policy / grammatica Choreography. Helper Book integrati, validazione e regole family.FAMSPerformancePlannerAMSPerformancePlanner.hInterfaccia statica deterministica BuildPlan da Book/Library + Analysis + Planner Settings a una Motion Sequence.UAMSMotionSequenceAMSMotionSequence.hSequenza Choreography pianificata. Normalizzazione durata/tempo, valutazione pose, build e validazione del track compilato.UAMSRigProfileAMSRigProfile.hProfilo Rig Mapping. Risoluzione mapping, build dalla gerarchia di riferimento, override manuali, validazione e reference scale.FAnimNode_AudioMotionAnimNode_AudioMotion.hNodo di controllo AnimGraph runtime. Per default legge il frame dall’Audio Motion Component proprietario.#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;
}
Asset e tipi di dati
Impostazioni envelope, Dialogue, analisi musicale e frequenza di valutazione.
Mapping target e binding Dialogue generati.
Curve frame-channel baked e riutilizzabili.
Source SoundWave più una curva scalare baked e impostazioni materiale.
Rig Mapping, override manuali, dati topologia, reference scale.
Metadati Vocabulary e riferimenti alle Motion Unit.
Libreria candidati del Planner costruita da dati Vocabulary e Book.
Policy/grammatica di selezione usata dal Planner.
Entry Choreography pianificate e traccia compilata opzionale.
Asset Editor che salva un Mapping Source/Target riutilizzabile e impostazioni translation.
EAudioMotionModeEAudioMotionInputModeEAudioMotionChannelEAudioMotionPulseSourceEAudioMotionTransformChannelEAudioMotionTargetTypeEAudioMotionDialogueRoleEAudioMotionDialogueTargetTypeEAMSRigProfileKindEAMSMotionSequenceModeEAMSTrajectoryModeEAMSMotionCurveModeEAMSMotionActionKindEAMSMotionPathKindEAMSMotionDirectionEAMSMotionLevelEAMSMotionTimeQualityEAMSMotionForceQualityEAMSMotionFlowQualityEAMSSupportState
Gli identificatori C++ esatti sono riportati per precisione API. L’editor mostra label neutrali per i principali ruoli Dialogue orientati alla produzione.
FAudioMotionFrameFAudioMotionMusicSettingsFAudioMotionEnvelopeSettingsFAudioMotionDialogueSettingsFAudioMotionValueMappingFAudioMotionDialogueTargetConfigFAudioMotionDialogueRoleTargetFAudioMotionMorphBindingFAudioMotionMaterialScalarBindingFAudioMotionSceneBindingFAMSPerformanceAnalysisFAMSPerformancePlannerSettingsFAMSRigSlotMappingFAMSRigManualOverrideFAMSMotionKeyFAMSMotionTrack
Sicurezza degli asset
AMS usa l’Output Folder configurato come root. Gli asset dipendenti dal Mesh vengono salvati in una cartella con il nome del Rig Mesh selezionato.
/Game/AudioMotion/
SK_MyRig/
Profiles/
Clips/
Animations/
Retarget/
Choreography/
RigProfiles/
Generated/
DialogueCurves/
Gli asset finali generati usano il naming univoco di Unreal invece di sostituire silenziosamente un asset esistente.
Gli asset Dialogue Curve sono condivisi e non legati a un Rig Mesh.
Compatibilità
Risoluzione dei problemi
Verifica che il plugin sia abilitato nel progetto e che l’Editor sia stato riavviato dopo l’attivazione. Verifica anche che il pacchetto corrisponda alla versione Unreal Engine del progetto.
Verifica dati analisi Voice Sound, selezione Profile/Binding Profile, Rig Mesh target e assegnazioni automatiche. Controlla mapping mancanti o sospetti prima di rebuild o Bake.
Valida il Rig Profile. Passa a Custom Mapping, parti dalla base automatica, correggi solo le righe errate, usa Validate e Apply, quindi ricostruisci la traccia Choreography compilata.
Segui il messaggio di stato dell’editor. Quando AMS abilita le impostazioni di analisi necessarie, salva la SoundWave e lascia che Unreal ricostruisca i dati di analisi audio prima di eseguire di nuovo Analyze + Build + Compile.
Verifica che material output sia abilitato, che il parametro scalare esista, che Material Slot sia corretto e che Target Component Name corrisponda al componente mesh desiderato o sia vuoto così AMS può usare il primo componente mesh adatto.
Usa la modalità Custom, parti da Auto Mapping, sostituisci o cancella solo le righe errate e salva un Retarget Profile riutilizzabile se la coppia Source/Target verrà usata di nuovo.
Installa/usa il pacchetto sorgente AMS per quella esatta versione del motore e ricompila con compiler/toolchain supportati. Non riutilizzare Binaries o Intermediate di un’altra versione.
Pautinka
Includi versione Unreal Engine, versione AMS, se il problema compare in Editor Preview / Runtime / Bake, passi esatti per riprodurlo e l’estratto rilevante del log Unreal.
Per problemi di Mapping o Animation Mixer, indica anche il tipo di Rig Source/Target e se è stata usata la modalità Auto, Custom o Profile.
Authoring nell’Editor, asset riutilizzabili, integrazione Blueprint e API runtime C++ pubbliche in un unico workflow di produzione.