प्रोडक्शन कार्यप्रवाह
AMS ऑडियो विश्लेषण को पुनः उपयोग योग्य डेटा और रनटाइम नियंत्रण में बदलता है। एडिटर चार केंद्रित कार्य क्षेत्र देता है, जबकि रनटाइम मॉड्यूल कंपोनेंट्स, एसेट्स, Blueprint सहायक और C++ इंटरफ़ेस उपलब्ध कराते हैं।
PAUTINKAAudio Motion System 1.0
Unreal Engine के लिए ऑडियो-चालित रनटाइम motion, निर्धारक Choreography, पुनः उपयोग योग्य Dialogue Curve एसेट्स और Animation Sequence मिश्रण।
अवलोकन
AMS ऑडियो विश्लेषण को पुनः उपयोग योग्य डेटा और रनटाइम नियंत्रण में बदलता है। एडिटर चार केंद्रित कार्य क्षेत्र देता है, जबकि रनटाइम मॉड्यूल कंपोनेंट्स, एसेट्स, Blueprint सहायक और C++ इंटरफ़ेस उपलब्ध कराते हैं।
पूर्वावलोकन iteration के लिए है; पुनः उपयोग योग्य एसेट्स और रनटाइम कंपोनेंट्स परिणाम को प्रोडक्शन में ले जाते हैं।
तकनीकी जानकारी
इंस्टॉलेशन
AudioMotionSystem के अंदर [Project]/Plugins/.Intermediate या Saved फ़ोल्डर को अलग मशीनों के बीच।
त्वरित प्रारंभ
Connect Audio Motion या बेक किया हुआ Audio Motion Clip.आवाज़-चालित नियंत्रण
संगीत-चालित Motion
वैश्विक स्थानांतरण को रोकता है।
स्थिर प्लेबैक के लिए उपयोग करें।Planned प्रक्षेपपथ उपयोग करता है।
जब अनुक्रम को स्थानांतरण करना हो तब उपयोग करें।स्थिरित वैश्विक प्रक्षेपपथ मार्ग उपयोग करता है।
जब planned स्थानांतरण को stabilization चाहिए तब उपयोग करें।
स्केलर आउटपुट
बनाएँ Audio Motion Dialogue Curve जब Blueprint या मटेरियल पैरामीटर के लिए एक बेक किया हुआ स्केलर मान चाहिए।
रनटाइम मूल्यांकन बेक किया हुआ वक्र पढ़ता है; एडिटर विश्लेषण दोहराने की आवश्यकता नहीं है।
Connect Dialogue Curve Asset लक्ष्य Actor पर Audio Motion Dialogue Curve कंपोनेंट बनाता या पुनः उपयोग करता है और एसेट सेटिंग्स से शुरू करता है।
वर्तमान स्केलर मान उपलब्ध है Get Dialogue Curve Value। यदि मटेरियल आउटपुट सक्षम है, वही मान चुने गए स्केलर पैरामीटर में लिखी जाती है।
Animation Sequence + Dialogue
संदर्भ पदानुक्रम और ज्यामिति से स्रोत-से-लक्ष्य mapping बनाता है।
Native लक्ष्य-Rig animations retargeting को bypass करती हैं।Auto से शुरू करता है और गलत mappings को बदलें या साफ़ करें करने देता है।
Unusual या low-confidence cases में उपयोग करें।ज्ञात Source / Target जोड़ी के लिए सहेजा हुआ Retarget Profile पुनः उपयोग करता है।
बार-बार प्रोडक्शन work के लिए सबसे अच्छा।
आर्किटेक्चर
AudioMotionRuntimeरनटाइमAudio मूल्यांकन, कंपोनेंट्स, Blueprint सहायक, एसेट्स, mapping और Choreography डेटा।गेम + एडिटरAudioMotionAnimationरनटाइमरनटाइम AnimGraph नियंत्रण नोड।एनीमेशन प्रणालियाँAudioMotionEditorएडिटरTools विंडो, एसेट फ़ैक्टरियाँ, पूर्वावलोकन, निर्माण, Bake, Animation Mixer।केवल एडिटरAudioMotionRuntime और, आवश्यकता होने पर, AudioMotionAnimation। इसे न जोड़ें AudioMotionEditor shipping रनटाइम कोड में निर्भरता।रनटाइम मॉड्यूल संक्षिप्त AMS Vocabulary और दृश्य फ़ाइलें को यहाँ से स्टेज करता है Content/AMSData NonUFS रनटाइम निर्भरताएँ के रूप में।
*.amsvocab.json
*.amsvocabz
*.amsview.json
प्रोजेक्ट-side Vocabulary फ़ोल्डर, यदि रनटाइम बिल्ड नियम सहायता करें, तो मौजूद होने पर स्टेज किए जा सकते हैं।
मुख्य इंटीग्रेशन नोड्स
Blueprint सहायक लक्ष्य Actor पर AMS कंपोनेंट्स बनाते या पुनः उपयोग करते हैं। आवश्यक इनपुट सत्यापित होते हैं; सेटअप fail होने पर लौटाता है होता है None / nullptr.
UAudioMotionComponent*मुख्य Audio Motion कंपोनेंट बनाता या पुनः उपयोग करता है, Voice Sound मार्ग तैयार करता है, Dialogue bindings फिर से बिल्ड करता है, लक्ष्य Rig कंपोनेंट कनेक्ट करता है और प्रोसेसिंग शुरू करता है।
UAudioMotionComponent*बेक किया हुआ Audio Motion क्लिप को लक्ष्य Actor से कनेक्ट करता है। इस मार्ग में स्रोत ऑडियो प्लेबैक आवश्यक नहीं है।
UAudioMotionComponent*चयनित SoundWave को Background Music बनाकर मुख्य कंपोनेंट को संगीत-चालित प्रोसेसिंग के लिए configure करता है। प्रोसेसिंग आवाज़ स्रोत से स्वतंत्र जारी रह सकती है।
UAudioMotionComponent*Voice Sound और स्वतंत्र Background Music को एक ही Audio Motion कंपोनेंट से कनेक्ट करता है। आवाज़ प्लेबैक रुकने के बाद भी संगीत मार्ग जारी रखने हेतु प्रोसेसिंग चलती रहती है।
UAudioMotionComponent*लक्ष्य Actor से जुड़ा पहला Audio Motion कंपोनेंट खोजता है। न मिलने पर कोई नहीं लौटाता है करता है।
UAudioMotionDialogueCurveComponent*Dialogue Curve कंपोनेंट बनाता या पुनः उपयोग करता है और स्केलर आउटपुट को Blueprint तथा default रूप से स्केलर मटेरियल पैरामीटर से कनेक्ट करता है।
UAudioMotionDialogueCurveComponent*Dialogue Curve कंपोनेंट बनाता या पुनः उपयोग करता है और पूरा जनरेटेड Dialogue Curve एसेट लागू करता है: स्रोत साउंड, बेक किया हुआ वक्र, प्रतिक्रिया सेटिंग्स, लूप state, मटेरियल लक्ष्य, मटेरियल slot और पैरामीटर नाम।
UAudioMotionPulseComponent*संक्षिप्त स्केलर Audio Pulse कंपोनेंट बनाता या पुनः उपयोग करता है। स्रोत आवाज़, overall संगीत energy, frequency bands, onset, beat या कस्टम Audio Motion channel हो सकता है।
रनटाइम नियंत्रण
हेडर: AudioMotionComponent.h · मॉड्यूल: AudioMotionRuntime
SetAudioSource(UAudioComponent*)Audio कंपोनेंट इनपुट सेट करता है और स्रोत state अपडेट करता है।SetSourceSound(USoundWave*)SoundWave स्रोत मार्ग सेट करता है।SetSourceClip(UAudioMotionClip*)बेक किया हुआ Audio Motion क्लिप स्रोत सेट करता है।StartProcessing(bool)मूल्यांकन शुरू करता है; वैकल्पिक रूप से प्लेबैक समय रीसेट करता है।StopProcessing(bool)मूल्यांकन रोकता है; वैकल्पिक रूप से स्रोत audio भी रोकता है।ResetProcessing(float)Processor state को दिए गए समय पर रीसेट करता है।PushEnvelopeValue(float)मैनुअल एनवेलप इनपुट मोड के लिए मैनुअल एनवेलप मान देता है।EvaluateAtTime(float,float)Explicit समय और एनवेलप मान evaluate करता है।EvaluateSourceAtTime(float)कॉन्फ़िगर किया हुआ स्रोत को अनुरोधित समय पर evaluate करता है।ApplyExternalFrame(FAudioMotionFrame,bool)Prebuilt फ्रेम लागू करता है और वैकल्पिक स्वचालित bindings भी।RefreshAutomaticConnection()Automatic रनटाइम लक्ष्य कनेक्शन फिर हल करता है।ResetAutomaticBindings()Cached स्वचालित binding state साफ़ करें करता है।SetTargetSkeletalMesh(...)रनटाइम अनुप्रयोग के लिए explicit लक्ष्य Rig कंपोनेंट सेट करता है।GetChannelValue(EAudioMotionChannel)वर्तमान फ्रेम से एक मान पढ़ता है।GetPlaybackTimeSeconds()वर्तमान मुख्य प्लेबैक घड़ी लौटाता है।GetSourceDurationSeconds()उपलब्ध होने पर कॉन्फ़िगर किया हुआ स्रोत अवधि लौटाता है।IsProcessing()प्रोसेसिंग state लौटाता है।SetBackgroundMusic(...)स्वतंत्र Background Music SoundWave सेट करता है।PlayBackgroundMusic(float)Background Music को अनुरोधित local समय पर शुरू करता है।StopBackgroundMusic()Background Music प्लेबैक रोकता है।SetBackgroundMusicVolume(float)Background Music volume अपडेट करता है।IsBackgroundMusicPlaying()Background Music प्लेबैक state लौटाता है।On Frame UpdatedOn Speech Value UpdatedOn Speech StartedOn Speech Stoppedहेडर: AudioMotionPulseComponent.h · मॉड्यूल: AudioMotionRuntime
चयनित AMS channel या स्वतंत्र साउंड पढ़ता है, इनपुट/आउटपुट ranges और attack/release smoothing से map करता है, वैकल्पिक dynamic मटेरियल स्केलर में मान लिखता है और threshold इवेंट देता है।
StartPulse()Ticking और स्रोत मूल्यांकन शुरू करता है।StopPulse(bool)मूल्यांकन रोकता है; वैकल्पिक स्वतंत्र audio भी रोकता है।SetStandaloneSound(USoundWave*,bool)स्वतंत्र स्रोत बदलता है और वैकल्पिक तुरंत play करता है।GetPulseValue()वर्तमान स्केलर आउटपुट लौटाता है।On Pulse Value UpdatedOn Pulseहेडर: AudioMotionDialogueCurveComponent.h · मॉड्यूल: AudioMotionRuntime
Audio Motion Pulse कंपोनेंट से derived है। वक्र एसेट असाइन होने पर उसकी बेक किया हुआ वक्र स्केलर स्रोत बनती है और प्लेबैक/मटेरियल सेटिंग्स कंपोनेंट में copy होती हैं।
SetCurveAsset(UAudioMotionDialogueCurveAsset*,bool)एसेट असाइन करता है और वैकल्पिक स्रोत साउंड शुरू करता है।GetDialogueCurveValue()वर्तमान बेक किया हुआ-वक्र स्केलर लौटाता है।सार्वजनिक हेडर
केवल वही मॉड्यूल जोड़ें जिसे आपका कोड वास्तव में उपयोग करता है।
PublicDependencyModuleNames.AddRange(new[]
{
"AudioMotionRuntime",
"AudioMotionAnimation" // only when your runtime animation module needs FAnimNode_AudioMotion
});
AudioMotionEditor केवल एडिटर मॉड्यूल से। Shipping रनटाइम मॉड्यूल को AMS एडिटर मॉड्यूल पर निर्भर न कराएँ।UAudioMotionComponentAudioMotionComponent.hमुख्य रनटाइम मूल्यांकनकर्ता: स्रोत चयन, प्रोसेसिंग घड़ी, फ्रेम मूल्यांकन, स्वचालित कनेक्शन, background संगीत और channel पढ़ता है।UAudioMotionBlueprintLibraryAudioMotionBlueprintLibrary.hBlueprint कनेक्ट नोड्स द्वारा उपयोग स्थिर convenience layer; C++ से सीधे भी call किया जा सकता है।UAudioMotionProfileAudioMotionProfile.hएनवेलप, Dialogue, संगीत और मूल्यांकन सेटिंग्स वाला प्राइमरी डेटा एसेट।UAudioMotionBindingProfileAudioMotionBindingProfile.hलक्ष्य mapping के लिए प्राइमरी डेटा एसेट। सार्वजनिक सहायक: FindDialogueRole, EnsureDialogueRoles, फिर से बिल्डDialogueBindings।UAudioMotionClipAudioMotionClip.hबेक किया हुआ Dialogue वक्र। EvaluateChannel, EvaluateFrame, BuildFromFrames, ClearClip, IsEmpty।UAudioMotionDialogueCurveAssetAudioMotionDialogueCurveAsset.hपोर्टेबल स्केलर वक्र एसेट। EvaluateCurve और GetSourceSound।UAudioMotionPulseComponentAudioMotionPulseComponent.hमटेरियल आउटपुट और trigger इवेंट्स वाला स्केलर audio reaction कंपोनेंट।UAudioMotionDialogueCurveComponentAudioMotionDialogueCurveComponent.hPulse-derived कंपोनेंट जो बेक किया हुआ Dialogue Curve एसेट evaluate करता है।FAudioMotionDialogueProcessorAudioMotionDialogueProcessor.hनिर्धारक Dialogue processor। रीसेट(seed), Evaluate(...)।FAudioMotionMusicAnalyzerAudioMotionMusicAnalyzer.hSoundWave या Audio कंपोनेंट मूल्यांकन के लिए संगीत विश्लेषण सहायक।FAudioMotionFrameAudioMotionTypes.hसाझा फ्रेम container। GetChannel / SetChannel तथा Dialogue और संगीत channel values।UAMSMotionDataSubsystemAMSMotionDataSubsystem.hसंक्षिप्त Vocabulary डेटा load करने वाला इंजन subsystem। ReloadData, GetVocabulary, GetDefaultVocabulary, GetVocabularyIds।UAMSMotionVocabularyAMSMotionVocabulary.hVocabulary मेटाडेटा और Motion references। FindMotion, GetMotionCount, सत्यापितVocabulary।UAMSMotionClipAMSMotionClip.hMeasured Motion Unit डेटा: ट्रैक मूल्यांकन, पोज़ अनुप्रयोग, निर्माण सत्यापन और transition मेटाडेटा।UAMSMotionLibraryAMSMotionLibrary.hVocabulary और Book डेटा से बनी प्लानर-facing उम्मीदवार लाइब्रेरी।UAMSPerformanceBookAMSPerformanceBook.hChoreography नीति / व्याकरण डेटा एसेट। अंतर्निहित Book सहायक, सत्यापन और family नियम।FAMSPerformancePlannerAMSPerformancePlanner.hनिर्धारक स्थिर BuildPlan इंटरफ़ेस: Book/लाइब्रेरी + विश्लेषण + प्लानर सेटिंग्स → Motion अनुक्रम।UAMSMotionSequenceAMSMotionSequence.hनिर्धारित Choreography अनुक्रम: अवधि/समय सामान्यीकरण, पोज़ मूल्यांकन, कंपाइल किया हुआ-ट्रैक बिल्ड और सत्यापन।UAMSRigProfileAMSRigProfile.hRig Mapping profile: mapping हल, संदर्भ पदानुक्रम से बिल्ड, manual ओवरराइड, सत्यापन और संदर्भ स्केल।FAnimNode_AudioMotionAnimNode_AudioMotion.hरनटाइम AnimGraph नियंत्रण नोड। डिफ़ॉल्ट रूप से owning Audio Motion कंपोनेंट से फ्रेम पढ़ता है।#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;
}
एसेट्स और डेटा प्रकार
एनवेलप, Dialogue, संगीत विश्लेषण और मूल्यांकन-rate सेटिंग्स।
लक्ष्य mappings और जनरेटेड Dialogue bindings।
बेक किया हुआ पुनः उपयोग योग्य फ्रेम-channel वक्र।
स्रोत SoundWave, एक बेक किया हुआ स्केलर वक्र और मटेरियल सेटिंग्स।
Rig Mapping, manual ओवरराइड, topology डेटा, संदर्भ स्केल।
Vocabulary मेटाडेटा और Motion Units references।
Vocabulary और Book डेटा से बनी प्लानर उम्मीदवार लाइब्रेरी।
प्लानर द्वारा उपयोग चयन नीति/व्याकरण।
निर्धारित Choreography entries और वैकल्पिक कंपाइल किया हुआ ट्रैक।
पुनः उपयोग योग्य Source/Target Mapping और स्थानांतरण सेटिंग्स रखने वाला एडिटर एसेट।
EAudioMotionModeEAudioMotionInputModeEAudioMotionChannelEAudioMotionPulseSourceEAudioMotionTransformChannelEAudioMotionTargetTypeEAudioMotionDialogueRoleEAudioMotionDialogueTargetTypeEAMSRigProfileKindEAMSMotionSequenceModeEAMSTrajectoryModeEAMSMotionCurveModeEAMSMotionActionKindEAMSMotionPathKindEAMSMotionDirectionEAMSMotionLevelEAMSMotionTimeQualityEAMSMotionForceQualityEAMSMotionFlowQualityEAMSSupportState
API accuracy के लिए सटीक C++ पहचानकर्ता दिए जाते हैं। एडिटर मुख्य प्रोडक्शन-facing Dialogue roles के लिए neutral display लेबल दिखाता है।
FAudioMotionFrameFAudioMotionMusicSettingsFAudioMotionEnvelopeSettingsFAudioMotionDialogueSettingsFAudioMotionValueMappingFAudioMotionDialogueTargetConfigFAudioMotionDialogueRoleTargetFAudioMotionMorphBindingFAudioMotionMaterialScalarBindingFAudioMotionSceneBindingFAMSPerformanceAnalysisFAMSPerformancePlannerSettingsFAMSRigSlotMappingFAMSRigManualOverrideFAMSMotionKeyFAMSMotionTrack
एसेट सुरक्षा
AMS कॉन्फ़िगर किया हुआ आउटपुट फ़ोल्डर को मूल मानता है। मेश-dependent एसेट्स चुने गए Rig Mesh के नाम वाले फ़ोल्डर में रखे जाते हैं।
/Game/AudioMotion/
SK_MyRig/
Profiles/
Clips/
Animations/
Retarget/
Choreography/
RigProfiles/
Generated/
DialogueCurves/
जनरेटेड अंतिम एसेट्स Unreal अद्वितीय naming उपयोग करते हैं और existing एसेट को चुपचाप बदलें नहीं करते।
Dialogue Curve एसेट्स साझा हैं और किसी Rig Mesh से बंधे नहीं हैं।
संगतता
समस्या निवारण
पुष्टि करें कि प्लगइन प्रोजेक्ट के लिए सक्षम है और सक्रियण के बाद एडिटर restart किया गया है। साथ ही पैकेज प्रोजेक्ट के Unreal Engine संस्करण से मेल खाता हो।
Voice Sound विश्लेषण डेटा, Profile/Binding Profile चयन, लक्ष्य Rig Mesh और स्वचालित असाइनमेंट जाँचें। फिर से बिल्ड या Bake से पहले अनुपस्थित/suspicious mappings जाँच करें।
Rig Profile सत्यापित करें। Custom Mapping में जाएँ, स्वचालित आधार से शुरू करें, केवल गलत पंक्तियाँ ठीक करें, सत्यापित और Apply करें, फिर कंपाइल किया हुआ Choreography ट्रैक फिर से बिल्ड करें।
एडिटर स्थिति संदेश अनुसरण करें करें। AMS आवश्यक विश्लेषण सेटिंग्स सक्षम करे तो SoundWave सहेजें करें और Analyze + बिल्ड + कंपाइल दोबारा चलाने से पहले Unreal को audio विश्लेषण डेटा फिर से बिल्ड करने दें।
मटेरियल आउटपुट सक्षम हो, स्केलर पैरामीटर मौजूद हो, मटेरियल Slot सही हो और लक्ष्य कंपोनेंट नाम वांछित मेश कंपोनेंट से match करे या खाली हो ताकि AMS पहला उपयुक्त मेश कंपोनेंट उपयोग कर सके।
Custom मोड उपयोग करें, Auto Mapping से शुरू करें, केवल गलत पंक्तियाँ बदलें/साफ़ करें करें और Source/Target जोड़ी फिर उपयोग हो तो पुनः उपयोग योग्य Retarget Profile सहेजें करें।
उस सटीक इंजन संस्करण का AMS स्रोत पैकेज इंस्टॉल/use करें और उसी इंजन के समर्थित कंपाइलर/टूलचेन से फिर से बिल्ड करें। दूसरे इंजन संस्करण के बाइनरी या इंटरमीडिएट आउटपुट पुनः उपयोग न करें।
Pautinka
Unreal Engine संस्करण, AMS संस्करण, समस्या एडिटर पूर्वावलोकन / रनटाइम / Bake में कहाँ आती है, सटीक पुनरुत्पादन चरण और संबंधित Unreal लॉग अंश शामिल करें।
Mapping या Animation Mixer समस्याएँ में Source/Target Rig प्रकार और उपयोग किया गया Auto, Custom या Profile मोड भी शामिल करें।
एडिटर निर्माण, पुनः उपयोग योग्य एसेट्स, Blueprint एकीकरण और सार्वजनिक C++ रनटाइम APIs एक प्रोडक्शन कार्यप्रवाह में।