【企业版】服装缓存转骨骼动画(Beta)
发布于:2024-10-18
功能说明
服装缓存转骨骼功能目前支持三种转换模式:
服装缓存独立生成骨骼动画;
服装直接绑定到人体骨骼;
服装绑定到人体骨骼,并通过缓存信息优化蒙皮权重;
前置工作
本文假设你已经录制好相关缓存,如不知道缓存怎么录制,可以查看官方教程;
UI 说明
UI入口
UE 菜单栏 Style3D 图标 -> "Garment Cache To Skeletal Mesh"
配置窗口
弹出操作界面如下:
根据 Config -> Generate Skeleton Type 决定生成骨骼的类型:
三种 Type 分别对应:
GenerateGarmentSkeleton:服装缓存独立生成骨骼动画;
BindToAvatarSkeleton:服装直接绑定到人体骨骼;
BindToAvatarSkeletonAndOptimize:服装绑定到人体骨骼,并通过缓存信息优化蒙皮权重;
Input 配置
注意:Input 配置可以根据当前关卡中的 Style3D 组件配置自动填写。
GarmentIntegrateMode: 服装集成模式,区分单套还是多套,目前只支持了单套。
MetaDataAsset: 单套时服装配置;
GarmentAssetMap: 多套时服装配置;
AnimSequence: 缓存对应的人模动画,只有 Generate Skeleton Type 为 BindToAvatarSkeletonAndOptimize 时才需要配置。
ExistCache: 服装的有效缓存列表;
CacheName: 需要转换成骨骼动画的缓存;
Config 配置
注意:下列配置,一般只需要配置前三个,后面的基本上 使用默认值即可。
Generate skeleton type: 生成骨骼的类型;
Bone number: 生成骨骼数量,只有 Generate Skeleton Type 为 GenerateGarmentSkeleton 时才需要配置。骨骼数量越多,质量越好,算法越慢。
Number of global iterations: SSDR 算法的群居迭代轮数。
Number init iterations: SSDR 算法初始化时的迭代次数。
Weights smooth step: 权重平滑影响的拓扑范围。
Weights smooth: 权重平滑的区间范围。
Per vertex max ref bones: 每个顶点最多受几根骨骼影响,默认是 8,Unreal 最多支持 12.
Weights update iterations: 权重调节每轮迭代次数。
Bone translations affinity: 骨骼位移和旋转 affinity soft constraint
p-Norm for bone translations affinity: 骨骼位移和旋转 p-Norm for affinity
Transformation iterations: 骨骼位移和旋转每轮迭代次数;
patience: 最小二乘方差的分数变化低于阈值时,继续迭代的轮数;
tolerance: 最小二乘方差的分数变化阈值。
bThickMesh: 是否输出厚 Mesh.
Output 配置
注意:下列配置在 Input 中的 CacheName 被设置后会自动填写
OutputDirectory: 输出的骨骼目录。
SkeletalMeshName: 输出的 SkeletalMesh 名称。
SkeletonName: 输出的 Skeleton 名称。只有 Generate Skeleton Type 为 GenerateGarmentSkeleton 时才会有效。
AnimSequenceName: 输出的 动画序列 名称。只有 Generate Skeleton Type 为 GenerateGarmentSkeleton 时才会有效。
操作说明
服装缓存独立生成骨骼动画
Step1. 配置好 Input, Out, 注意 CacheName 填写后可能会触发缓存加载,等待缓存加载完再进行下一步。
Step2. Config 中 Generate Skeleton Type 为 GenerateGarmentSkeleton。
Step3. Config 中设置好需要生成的 骨骼数量 和 迭代次数。
Step4. 点击 Covert 等待处理结束。
服装直接绑定到人体骨骼
Step1. 确保当前关卡中只有一个 Style3D 组件,并且人模动画设置为 None。这样做是因为需要从关卡中拿到人模骨架和蒙皮信息,用于做服装蒙皮绑定。
Step2. 配置好 Input, Out, 注意 CacheName 填写后可能会触发缓存加载,等待缓存加载完再进行下一步。
Step3. Config 中 Generate Skeleton Type 为 BindToAvatarSkeleton。
Step4. 点击 Covert 等待处理结束。
服装绑定到人体骨骼,并通过缓存信息优化蒙皮权重
Step0. 在录制缓存的时候,需要做到生成的缓存和人模动画的帧数精确对其齐。具体操作如下:
找到需要录制缓存的人模动画,鼠标悬停后会有如下弹窗,查看动画的 FrameRate.
在 Sequence 中录制缓存,注意录制时长和人模动画精确对齐。(或者录制时长小于人模动画时长)
使用老版 Movie Scene Capture 生成缓存。
生成时的帧率选择 Custom,帧率填写人模动画的 FrameRate。
Step1. 确保当前关卡中只有一个 Style3D 组件,并且人模动画设置为 None。这样做是因为需要从关卡中拿到人模骨架和蒙皮信息,用于做服装蒙皮绑定。
Step2. 配置好 Input, Out, 注意 CacheName 填写后可能会触发缓存加载,等待缓存加载完再进行下一步。注意 AnimSequence 不能遗漏。
Step3. Config 中 Generate Skeleton Type 为 BindToAvatarSkeletonAndOptimize。
Step4. Config 中 设置 迭代次数。
Step5. 点击 Covert 等待处理结束。