形态键限制器 v1.0.* 使用说明
简介
这是一个用于截短形态键的非破坏性 NDMF 插件。
该插件会根据指定的百分比重新计算形态键的顶点形变,使形态键在数值为 100 时,其变形效果等同于原本该百分比下的效果。
一般用于防止在调整面部形态键后其他形态键导致的穿模现象。
功能
- 通过单一组件实现非破坏性截短形态键。
- 在配置时预览效果。
- 动画中相应的形态键值也会进行处理。
注意事项
- 该插件只在 VRCSDK3,Unity 2022.3.22f1 环境下进行过测试。
安装
依赖
该插件依赖以下 Unity 包,请在导入前确保已经安装:
- Non-Destructive Modular Framework (1.9.4或以上): https://github.com/bdunderscore/ndmf
安装资源包
- 前往 我们的 VPM 资源包清单页面。
- 点击
Add to VCC按钮,将仓库加入 VCC / ALCOM。 - 在 VCC / ALCOM 中,前往项目的管理页安装
Blend Shape Clamper。
使用方法
添加组件
- 选择 Avatar 中需要对形态键进行截短的 Skinned Mesh Renderer。
- 在 Inspector 中点击
Add Component。 - 搜索
Blend Shape Clamper并将其添加到游戏对象中。
配置形态键限制
在添加限制器组件后:
- 点击
要限制的 BlendShape右下角的+图标添加一个新的限制项。 - 点击限制项左边的选项,并选择想要限制的形态键。
- 通过调整限制项右边的滑块配置限制值,并预览限制后的结果。
- 点击
停止预览按钮或者选择其他游戏对象以停止预览。
完成
进入 Play Mode 或者构建 Avatar 查看结果。
使用方法结束工作原理
该插件在 NDMF 的 Oprimizing 阶段运行。
执行内容
当该插件运行时,他执行以下步骤:
- 搜索 Avatar 中的所有限制器组件。
- 截短与限制器组件同一游戏对象下的 Skinned Mesh Renderer 组件的形态键,并处理其值。
- 处理包含控制截短形态键的动画曲线的动画。
数值覆写规则
被截短的形态键的值(包括 Skinned Mesh Renderer 组件和动画中的)将根据以下规则覆写:
-
当原始形态键值等于或大于截短值时,将其覆写为 100。 举例:
原始值:80
截短至:70
结果:100 -
当原始形态键值小于截短值时,将其覆写为 (原始值 / 截短值 * 100) 举例:
原始值:50
截短至:70
结果:50 / 70 * 100 ≈ 71.4286