跳到主要内容

骨骼穿插检测工具

简介

骨骼穿插检测库是一个高效的算法库,专为检测3D骨骼模型中骨骼穿插问题而设计。该库可以帮助开发者在动画制作、物理引擎仿真等领域识别并解决骨骼交叉、重叠等异常情况,从而确保骨骼系统的结构完整性和运动准确性。

特性

  1. 精确性: 使用先进的几何算法,快速检测出3D模型中的骨骼穿插问题。
  2. 高效性: 经过优化,能够处理复杂的骨骼系统,具有高效的计算速度。
  3. 易移植: 该库支持多种主流3D引擎与开发平台,易于与现有项目集成。

使用场景

  1. 影视及游戏开发: 确保角色骨骼动画的真实性,避免骨骼间的不合理穿插导致的解算或视觉问题。
  2. 虚拟现实与增强现实: 提高虚拟角色的交互准确性,避免不自然的动作或姿势。

LightHousPartner License

如果您是我们的Light House Partner ,在签署了 Light House Partner 合作协议后,会由我们 DevRel 团队提供向您提供 AlphaCore LightHousePartner 账户信息(a137.user文件)。Window用户在 Maya 使用环境中 a137.user文件可以存放在:C:\Users\<用户名>\Documents\maya\ 路径下的AlphaCore 子文件夹中。

工具配置与使用

1.1 适配版本

  1. Maya2023 / Maya2024

1.2 手动配置

  1. 找到对应版本Maya路径 C:\Users\<用户名>\Documents\maya
  2. 新建AlphaCore文件夹
  3. 新建a137.user文件并修改文本内UserName
  4. 手动拷贝骨骼穿插检测工具 VeraAniFliter_maya_plugin.mll 到Maya插件安装目录下,如默认插件安装目录C:\Program Files\Autodesk\Maya2024\bin\plug-ins\

1.3 使用说明

  1. 初始化

    完成绑定工作后,在Maya Script Edit中执行如下命令行,在大纲面板创建会创建名为VeraAniFiter的骨骼监测节点,默认会对场景中所有骨骼进行监测

VeraAniFiter
  1. 设置监测半径

    设置需要监测的骨骼半径(建议0.001),可以避免骨骼自身进行不必要监测

VeraAniFiter -r <半径值>
  1. 添加豁免骨骼

    对于不希望参与监测的骨骼,可以使用如下命令进行忽略

VeraAniFiter -is <关节起始点全名> -ie <关节终止点全名>
  1. 清楚豁免骨骼

    清除所有已经被豁免的骨骼,使其重新参与到当前骨骼穿插的监测中

VeraAniFiter -ic
  1. 打印穿插骨骼信息

    在Maya脚本编辑器中打印所有帧骨骼穿插信息

VeraAniFiter -ca

打印log信息格式如下

//{frame:整数,第几帧出现穿插,
//intersection pair: 整数,发生穿插的骨骼序号,
//intersection pair name: 字符串,发生穿插的骨骼全名,
//intersection time: 浮点数,范围为[0,1],发生穿插的时间}
[
{frame:2,
intersection pair: [152,179],
intersection pair name: [xxxx|xxx|jointA,xxx|xxx|jointB],
intersection time: 0.0},
{frame:3,
intersection pair: [154,178],
intersection pair name: [xxxx|xxx|joint_LeftA,xxx|xxx|joint_RightB],
intersection time: 0.3},
...
]
  1. 清除节点

    直接在大纲中删除 transform 节点

  2. 视窗显示

    对于有视窗观察需求的,在当前帧的穿插骨骼自动绘制出 Loactor 显示当前骨骼穿插轨迹。如下图

drawing