【企业版】服装缓存转骨骼动画(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 等待处理结束。


提交反馈