服装搭配

发布于:2024-10-18


功能说明

  • Unreal 编辑器中支持对一个人模实现多套服装搭配。

  • 支持在编辑器中、在Runtime 替换服装。

  • 多套服装时,支持对每套服装分层解算,减少服装间的穿模现象。

  • 多套服装时,支持控制每套服装的显示隐藏、位置偏移。

  • 多套服装时,支持 PoseFitting、缓存录制播放、服装场景中拖拽等常规操作。

操作说明

  • 切换到多套模式

  • 在 Style3D 组件 -> Garment -> Garment Integrate Mode 中切换服装组合模式。

  • SingleGarment:单套模式,保持对以前版本的兼容。

    • MultiGarment:多套模式,支持多套搭配。

  • 多套服装配置

  • 切换到多套模式后,会出现 Garment Asset Map 选项,支持配置多套服装,如下:

  • 配置:

    • 每套服装填写一个位置名字。

    • Layer:每套服装的层次ID,注意内层服装的层次小,外层服装的层次大。当内外层服装互相穿模时,将根据这个层次值来判定服装的内外层。

    • ShowGarment: 是否展示当前服装。

    • Transform:当前服装的位置偏移。

    • Garment Asset:当前服装资产。

效果展示

  • 多套编辑操作

  • 穿模后通过 PoseFitting 解算恢复

  • 多套模拟 + 拖拽操作

蓝图接口变动

新增接口

  • SetLightingChannels :通用,配置所有服装光照通道。

  • CaptureGarment :通用,截取服装某一帧的状态

  • FindDefaultGarmentComponent:单套模式,获取默认 UStyle3DGarmentComponent

  • FindGarmentComponentByLayerName:多套模式,通过 LayerName 获取对应服装的 UStyle3DGarmentComponent

  • SetGarmentMaterial:多套模式,通过 LayerName 修改服装材质。

  • LineTrace:通用,仅针对服装做射线碰撞检测。

  • SphereTrace:通用,仅针对服装做球体碰撞检测。

  • LoadMultiGarmentCache:加载多套模式生成的服装缓存。


  • UnloadGarmentCache:卸载多套模式生成的服装缓存。

变动接口

  • AddTriangleDragPoints:通用,添加三角拖拽点。增加 GarmentLayerName 用于多套模式下指定对应服装。

  • AddDragPoints:通用,添加拖拽点。增加 GarmentLayerName 用于多套模式下指定对应服装。

  • RemoveDragPoints:通用,删除拖拽点。增加 GarmentLayerName 用于多套模式下指定对应服装。

  • RemoveAllDragPoints:通用,删除所有拖拽点。增加 GarmentLayerName 用于多套模式下指定对应服装。

细节答疑

多套模式 PoseFitting 结果适配

  • 当修改服装配置时,PoseFitting 结果会检测是否和当前服装设置匹配,如不匹配,会马上失效,服装恢复到 APose 状态。

  • 当修改服装配置时,PoseFitting 结果,如果删除衣服,依然能够匹配;新增或修改衣服,会马上不匹配。

Runtime 如何替换服装配置

  • 单套模式下,和以前一样,修改 MetaDataAsset,然后调用 SetUp 即可生效。

  • 多套模式下,修改 GarmentAssetMap,然后调用 SetUp 即可生效。


提交反馈