diff --git a/02-Note/DAWA/AI偶像陪伴项目/AI偶像陪伴项目笔记.md b/02-Note/DAWA/AI偶像陪伴项目/AI偶像陪伴项目笔记.md new file mode 100644 index 0000000..9d5b016 --- /dev/null +++ b/02-Note/DAWA/AI偶像陪伴项目/AI偶像陪伴项目笔记.md @@ -0,0 +1,15 @@ +# 存在问题 +1. 文字、声音、表情与动作的关联性。(主要是声音、表情与动作) + +# 声音 +## Runtime Import Sound +使用`RuntimeAudioImporter`插件,里面的解码使用了第三方库https://github.com/mackron/dr_libs。导入Sound使用了`UImportedSoundWave::PopulateAudioDataFromDecodedInfo()` + +## UE的做法 +```cpp +/*SoundStreaming->RawPCMDataSize = DataSize; +SoundStreaming->RawPCMData = AudioData;*/ +``` + +# 表情 +在状态机里生成完成之后,通过BP_Player的接口ATF_TO_BS,传递数据到动画蓝图`NV2_Full_Skeleton_AnimBlueprint`中。之通过动画蓝图的Pose读取曲线并且播放动画。 \ No newline at end of file diff --git a/03-UnrealEngine/Gameplay/Animation/AnimNode.md b/03-UnrealEngine/Gameplay/Animation/AnimNode.md index 56a4bf8..97b14c6 100644 --- a/03-UnrealEngine/Gameplay/Animation/AnimNode.md +++ b/03-UnrealEngine/Gameplay/Animation/AnimNode.md @@ -52,7 +52,7 @@ MeshBoneIndex是当前的骨骼网格体用到的骨骼的Index。 当前Lod用到的骨骼的Index,在RequiredBone里面保存。 通过`XXBone.Initialize(RequiredBones)` 进行初始化。 我们在动画节点里面一般通过FBoneReference来操作骨骼。BoneRefrence会通过BoneName获得3个骨骼索引。如果传入的是BoneContainer,那`BoneIndex`保存的是MeshIndex,如果传入的是Skeleton的话,那`BoneIndex`保存的是SkeletonIndex。 -Epic网站上也有一篇文章作为参考[[1]](https://zhuanlan.zhihu.com/p/611398524#ref_1)。 +Epic网站上也有一篇文章作为参考[[AI偶像陪伴项目笔记]](https://zhuanlan.zhihu.com/p/611398524#ref_1)。 # FAnimNode - Initialize_AnyThread:用于初始化数据,初始化ComponentPose、AlphaBoolBlend、AlphaScaleBiasClamp。