样例工程

发布于:2024-10-18


说明

  • 样例工程版本号与SDK版本保持一致,使用时配置对应版本的SDK

  • 样例工程中不包含插件,需单独下载安装

样例工程下载

UE工程

📎Garment.zip

使用说明

1. 官网下载插件,放到对应版本Engine/Plugins/Marketplace文件夹下,若没有该文件夹,可自行新建

2. 在虚幻引擎中打开样例项目并启用插件。

3. 打开关卡蓝图,填入账号密码;没有登录蓝图,则在编辑器顶部工具栏填入账号密码登录

编辑器工具栏中填入账号密码。

4. 运行查看不同功能示例。

在制作需要打包的项目且涉及Metahuman的实时模拟部分均需要将模型的Lod与Style3D组件中的碰撞Lod设为0,后续部分功能中也有因此而延申出的蓝图功能。
示例中的同一件服装往往多次被不同功能使用,所以编辑器状态下并不匹配,触发功能后可正常显示。

在对应的关卡内触发功能

在编辑器视图中,可以查看对应功能大致的触发盒大小,该触发盒可在对应的蓝图中编辑。

触发按键是主键区域内数字键,而并非小键盘上的数字键。

1.缓存演示-不同精度

在服装缓存与不同精度对比两个特性展示中,都是通过在Sequence中预计算缓存的方式,之后通过关卡蓝图中的触发器触发通信传递到角色蓝图中。
在世界场景中角色面前的Sequence即是其服装缓存时使用的Sequence,在Sequence中右键GarmentCache即可简单设置解算方式,该部分最重要的是缓存名字和缓存模式切换,更多的解算设置需要在蓝图中的Style3D组件内设置。

更多可参考 Sequencer使用缓存 服装缓存

其中不同精度对比的部分展示了两套相对较难服装的两种不同精度。

2.缓存切换

该示例演示了在相同角色的情况下,播放不同缓存的触发与重置方法。
其中比较重要的是LoadGarmentCache与PlayCache&Unload两部分。
UMG地址在:Content/Style3D/BP/UMG

Tips:如果模型与缓存在运行时播放时出现不同步的情况,请在实例化的蓝图中将Body挂载一个任意动画资产

3.实时模拟

这个示例演示了服装模拟在实时模拟情况下,切换动作蓝图的场景,适用于各种展厅、模特、服装演示。

更多内容可参考 模拟仿真

4.实时模拟与缓存切换

该示例演示了在相同角色情况下,在预录制好的缓存与实时模拟状态间的切换。

该示例的大部分逻辑与缓存切换中的功能一致,这里介绍一下绑定事件以及重置逻辑。

当想执行缓存播放结束任务时,需要Bind Event to Garamen Cache Play End Event委托新的执行事件

在卸载掉缓存之后,想要重新开始模拟,需要Set UP重置组件状态之后再Start Simmlation。最后需要Unbind Event from Garmen Cache Play End Event来解除缓存的播放结束事件,防止出现死循环错误。

5.实时换装

该示例演示了在相同角色情况下,为角色简易、快捷替换不同服装的功能;适用于各种展厅、模特、服装展示场景。

第一步是获取DataTable,在DataTable中循环获取资产

红色部分是循环获取DataTable,要注意的是,蓝色部分这里的Style3DAsset资产引用类型为软引用,目的是为了异步加载,以免在载入DataTable时把所有资产都载入其中。

这里解释一下为何需要在设置完资产后进行Unbind的操作

我们在前一步中SET了服装资产,但是此时的服装资产已经被Bind到了碰撞体默认的LOD1上,但我们在涉及Meatahuman实时模拟的打包项目时,需要使用LOD0的碰撞体,造成了顶点数和顶点顺序的改变,因此服装会造成一种崩坏的现象,我们的简易实时模拟并不需要Bind信息,所以直接取消掉。

6.打包

若要以最佳性能运行项目,请打包项目运行,

打包流程参考:打包教程

  1. 在关卡蓝图中Begin处输入自己的账号与密码

  2. 将编辑器语言和地区都设置为英文

  3. 选择“平台>Windows>打包项目”

  4. 打包结束后将GarmentCache文件从项目目录复制到打包目录下,默认地址为“Content/Style3D/GarmentCache"复制到“Windows/Meta/Content/Style3D/”若没有Style3D文件夹请新建

该项目使用了实时解算与读取缓存的两项功能,对电脑性能有较高的要求,在部分功能示例遇见问题时请尝试重新运行触发。


提交反馈