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