Maya角色绑定、蒙皮、权重技巧
首先选择模型、骨骼的根节点,通过菜单Skin > Bind Skin □ 进行绑定(Maya2019好像只有Smooth bind,没有Rigid bind?),成功绑定之后骨骼会有颜色标识这里要留意,部分游戏引擎采用Dual quaternion方式绑定,且模型顶点受影响的骨骼上限为4,所以还需要设置对应的参数如果,之前已经进行了绑定,又想修改为Dual quaternion模式,可以同过
首先选择模型、骨骼的根节点,通过菜单Skin > Bind Skin □ 进行绑定(Maya2019好像只有Smooth bind,没有Rigid bind?),成功绑定之后骨骼会有颜色标识
这里要留意,部分游戏引擎采用Dual quaternion方式绑定,且模型顶点受影响的骨骼上限为4,所以还需要设置对应的参数
如果,之前已经进行了绑定,又想修改为Dual quaternion模式,可以同过选中模型之后其Attribute Editor面板中设置
默认蒙皮之后,就需要手动修改蒙皮,对不满意的地方进行刷权重,通过菜单Skin > Paint Skin Weight □ 打开权重刷面板,同时在Outliner中选中模型,就能开始刷权重了
常用操作 | 图示 |
---|---|
按住B键,拖动鼠标左键,可调节画刷影响范围 | |
按住Ctrl+鼠标左键,为刷黑(去掉权重) | |
Weight Tool选中骨骼 + 鼠标中键能旋转骨骼查看蒙皮效果 | |
但是这个面板有些参数很迷,默认面板参数如下
经过尝试,我总结出一些规律
参数 | 说明 |
---|---|
Mode | 通常只用Paint,绘制权重,后面的绘制选区一般不用 |
Paint operation | Replace:常用这个东西,其意义就是 S = S * (Opacity * Value);Ctrl情况 S = S * (Opacity * (1 / Value))。Add:意义是 S += Opacity * Value;Ctrl情况 S += Opacity * (1 / Value)。其余一般不用,需要理解上述公式,否则操作很迷 |
Min/Max value | 表示上面Value取值得范围,修改后再拖动上面的Slider才有效 |
如果希望减去权重有两种操作方式
- 采用Replace操作,Value值设置> 0.5,配合Ctrl 操作,就能实现减去的效果
- 采用Add操作,Value值设置< 0,直接刷,就是减去效果
当对模型绑定骨骼的时候,Maya会为这个模型创建一个 BindPose,之后操作骨骼各种姿势之后,就能通过菜单 Skin > Goto Bind Pose,一键变回初始姿势
还有一种不需要蒙皮,直接在骨骼上设置 BindPose 的方法,需要通过命令操作
dagPose -s -bp;
有时候,由于一系列如Ik、约束等操作,导致 Goto Bind Pose 无作用,可以通过菜单 Modify > Evaluate Nodes > Ignore All,来禁用所有属性锁定功能,就可跳转Bind Pose
若希望骨骼权重左右对称,可通过 Skin > Mirror Skin Weights,实现左右镜像,Mirror工具面板的Direction表示镜像方向,如正X镜像到-X
这里要注意,镜像的是皮肤、不是骨骼,所以如果希望:右脚移除左脚骨骼的影响,又希望镜像到左脚
则需要在权重工具中选择左脚骨骼,刷右脚权重,在右往左镜像
Maya2019可能有bug,Evaluate Node、Ignore All模式保存,再开会发现骨骼位置错误,需要重新Evaluate All、Ignore All刷新一次,或Goto Bind Pose都可恢复
指定顶点快速批量移除不需要的权重,通过打开组件编辑器 Windows > General Editors > Component Editor,选中不需要的列,输入0,回车,就可移除对应骨骼权重,maya会自动将剩余的影响normalize
蒙皮之后的模型不能直接用delete histroy,而是要用 Delete All by Type > Non-Deformer History,才能保留蒙皮信息
蒙皮之后如果需要修改模型,可采用如下方法
- 复制模型成两份
- 其中一份移除蒙皮,并修改模型
- 将原来有蒙皮的模型复制蒙皮信息到新模型 Skin -> Copy Skin Weights □
Maya可对动画进行导出、导入,这样就能把已经做好的动画应用到新的蒙皮模型
-
需要使用插件animImportExport.mll
-
只能对整个层级进行导出、导入(其他方式没有试成功过,如果层级不一致会 Error: 0)
-
导出时,选择根节点(包括所有骨骼、控制器的根节点),并在导出时选择Below
-
导入时,选择根节点,再执行Import
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)