Skip to main content

形态键限制器 v1.0.* 使用说明

简介

这是一个用于截短形态键的非破坏性 NDMF 插件。

该插件会根据指定的百分比重新计算形态键的顶点形变,使形态键在数值为 100 时,其变形效果等同于原本该百分比下的效果。

一般用于防止在调整面部形态键后其他形态键导致的穿模现象。

功能

  • 通过单一组件实现非破坏性截短形态键。
  • 在配置时预览效果。
  • 动画中相应的形态键值也会进行处理。

注意事项

  • 该插件只在 VRCSDK3,Unity 2022.3.22f1 环境下进行过测试。
简介结束

安装

依赖

该插件依赖以下 Unity 包,请在导入前确保已经安装:


安装资源包

  1. 前往 我们的 VPM 资源包清单页面
  2. 点击 Add to VCC 按钮,将仓库加入 VCC / ALCOM。
  3. 在 VCC / ALCOM 中,前往项目的管理页安装 Blend Shape Clamper
安装结束

使用方法

添加组件

  1. 选择 Avatar 中需要对形态键进行截短的 Skinned Mesh Renderer。
  2. 在 Inspector 中点击 Add Component
  3. 搜索 Blend Shape Clamper 并将其添加到游戏对象中。

配置形态键限制

在添加限制器组件后:

  1. 点击 要限制的 BlendShape 右下角的 + 图标添加一个新的限制项。
  2. 点击限制项左边的选项,并选择想要限制的形态键。
  3. 通过调整限制项右边的滑块配置限制值,并预览限制后的结果。
  4. 点击 停止预览 按钮或者选择其他游戏对象以停止预览。

完成

进入 Play Mode 或者构建 Avatar 查看结果。

使用方法结束

工作原理

该插件在 NDMF 的 Oprimizing 阶段运行。

执行内容

当该插件运行时,他执行以下步骤:

  1. 搜索 Avatar 中的所有限制器组件。
  2. 截短与限制器组件同一游戏对象下的 Skinned Mesh Renderer 组件的形态键,并处理其值。
  3. 处理包含控制截短形态键的动画曲线的动画。

数值覆写规则

被截短的形态键的值(包括 Skinned Mesh Renderer 组件和动画中的)将根据以下规则覆写:

  1. 当原始形态键值等于或大于截短值时,将其覆写为 100。 举例:

    原始值:80
    截短至:70
    结果:100
  2. 当原始形态键值小于截短值时,将其覆写为 (原始值 / 截短值 * 100) 举例:

    原始值:50
    截短至:70
    结果:50 / 70 * 100 ≈ 71.4286
工作原理结束