AdvanCedskeleton插件为FBX骨骼添加控制器的方法

AdvanCedskeleton插件为FBX骨骼添加控制器的方法

介绍

NameMatcher是AdvanCedskeleton提供的一个为fbx骨架添加控制器的功能;(本文将针对3dmax的biped骨骼操作)

功能入口
功能入口

第一步

选择模板为new

第二步

设置骨架命名规则

3dmax的biped默认骨架名字格式为bip001 L/R name.可以看到每个部分之间是有空格的,导出fbx到Maya之后空格会转换为FBXASC032,不过不用担心,在导出之后他就会变回空格.综上所述,我们在右边的命名规则应该填入Bip001FBXASC032RFBXASC032.左边的命名规则则是Bip001FBXASC032LFBXASC032,中间我们可以不填

设置完的样子
设置完的样子

第三步

设置骨架映射表,我直接将对照表放在下面.左边的是adv的关节名字,右边的是bip骨架的名字,将这个文本保存为txt文件放入AdvancedSkeleton\AdvancedSkeletonFiles\nameMatchers目录下即可在NameMatcher的模板中直接使用

第四步

点击Creat+Place Fitskeleton这时候场景中会创建一个adv的骨架,检查一下极向量没有问题之后可以点击build advanced skeleton,之后点击下面的Constraint to joints,这时候adv的骨架会对fbx的骨架添加一个约束,从而实现对fbx骨架的绑定.

问题总结

关节数量不对???

Q: 关节映射表中创建了不止三节的身体骨架,但是点击Creat+Place Fitskeleton之后发现adv重心到胸腔的关节只有三节分别是Root -> spine1 -> Chest

A: 解决方法

  1. 手动对身体的关节链进行增加然后按住V键对齐对应的fbx骨架.
    • 选中身体骨架
    • 点击Body -> Edit页面下的ReSample在弹出的窗口中会自动识别重建骨骼区间,也可以手动选择重构区间
    • 在骨骼栏中需要的关节链数量后点击ReSample
    • 然后按住V键逐个对齐到对应的fbx骨架位置上,要注意移动之后肩膀和头的关节位置都会被移动(移动关节的顺序按照先父级后子级的顺序)
编辑骨架
编辑骨架
  1. 保存模板设置之后自定义骨架模板.ma并放到模板文件的同目录之下,之后使用模板创建会优先读取自定义的骨架文件
    • 开一个新场景导入一个骨架模板
    • 设置好自定义骨架的参数
    • 保存为自定义模板的同名.ma文件放到模板文件同级目录下
编辑骨架并保存
编辑骨架并保存

创建好的骨架不能IK和FK无缝切换???

Q: 为什么创建好的骨架在Biped选择器中点击SwitchFKIK报错无法切换

A: 不要使用NameMatcher面板下的build advanced skeleton.正确打开方式应该是从点击Body标签下的构建(本人亲测从这里构建的骨架没有问题)

从Body标签页下构建
从Body标签页下构建

总结

NameMatcher的实现逻辑

  1. 创建一套ADV默认骨架
  2. 按照骨骼映射表的对应关系,自动将默认骨架对齐到fbx骨架的相应位置
  3. ADV默认骨架作为父对象约束FBX骨架从而实现ADV骨架带动FBX骨架

依照这个逻辑实际上我们其实可以创建一个想要的骨架,然后手动对齐约束到FBX骨架上最后Build AdvancedSkeleton就能实现任意角色转ADV控制器

从零开始的动画练习记录
Maya中简单的卷轴绑定思路

评论区

评论加载中...