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

提交反馈