服装搭配
发布于: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 即可生效。

