标题中的三个插件:
- 《Auto IK Rigger:一个可以真·一键绑定的轻量级Blender插件》(该插件为付费插件,不提供下载,见谅)
- Bone Layer Manager 0.84 的下载
- 《Blender图解教程:使用Orient bone shapes插件轻松解决设置骨骼自定义形状(Bone Custom Shapes)时的各种痛点(附下载)》
文章目录
优化一下工作流
- 优化一下工作流
- 一些优化设置
- 附:bone_names.json
最近在开发游戏的时候又遇到一个比较头疼的问题:角色设计。虽然前几天设计了几个版本,但是由于种种原因还要重新设计,而且形体的变化也会比较大,未来这种情况也会时有发生(关于角色设计问题的总结将另起博文详述)。所以产生一个问题:动不动就要重新蒙皮绑定,或者为骨架添加一些新的结构。以前用Rigify总的来说是不错的,但Rigify的绑定层次比较深,如果想快速地添加一些自定义结构,都需要从Metarig做起,生成完Rig还要重新修改脚本来编辑骨骼组,还是很繁琐。
想来想去,针对自身的情况,老王打算尝试一下新的工具(也就是题目中的三个插件)和工作流(先用临时模型动画,角色慢慢设计)。 Auto IK Rigger的优点:
- 简单:易于二次开发。
- 先蒙皮再绑定,这样就可以借助Mixamo的实现蒙皮。
其它两个插件是辅助插件,用于管理骨骼组和设置自定义形状。
- Mixamo骨骼重命名:使用
Ctrl + F2
批量重命名,去掉前缀mixamorig:
并将"Left/Right"替换为L./R.
我的bone_names.json文件见下面 - 在Auto IK Rigger可以把不需要形变的骨骼都取消deform勾选,默认都是勾选的。可以用Bone Layer Manager的
Deform Bones Only
过滤显示并检查一下。 - 可以把所有骨骼不需要的变换轨道锁定。
{
"Head":[
"bip_head",
"Head",
"mixamorig:Head",
"Head",
"head neck upper",
"G_head",
"head",
"head.x"
],
"Neck":[
"bip_neck",
"Neck",
"head neck lower",
"mixamorig:Neck",
"Neck",
"G_neck",
"neck_01",
"neck.x"
],
"Pelvis":[
"bip_pelvis",
"mixamorig:Hips",
"Hips",
"Pelvis",
"root hip",
"Rot",
"G_pelvis",
"pelvis",
"root.x"
],
"Left_Arm":[
"bip_upperArm_L",
"arm left shoulder 2",
"mixamorig:LeftArm",
"L.Arm",
"ShoulderL",
"G_uparm_L",
"upperarm_l",
"arm_stretch.l"
],
"Left_Elbow":[
"bip_lowerArm_L",
"arm left elbow",
"mixamorig:LeftForeArm",
"L.ForeArm",
"ArmL",
"G_lowarm_L",
"lowerarm_l",
"forearm_stretch.l"
],
"Left_Hand":[
"bip_hand_L",
"arm left wrist",
"mixamorig:LeftHand",
"L.Hand",
"HandL",
"GD_hand_L",
"hand_l",
"hand.l"
],
"Right_Arm":[
"bip_upperArm_R",
"arm right shoulder 2",
"mixamorig:RightArm",
"R.Arm",
"ShoulderR",
"G_uparm_R",
"upperarm_r",
"arm_stretch.r"
],
"Right_Elbow":[
"bip_lowerArm_R",
"arm right elbow",
"mixamorig:RightForeArm",
"R.ForeArm",
"ArmR",
"G_lowarm_R",
"lowerarm_r",
"forearm_stretch.r"
],
"Right_Hand":[
"bip_hand_R",
"arm right wrist",
"mixamorig:RightHand",
"R.Hand",
"HandR",
"GD_hand_R",
"hand_r",
"hand.r"
],
"Left_Thigh":[
"bip_hip_L",
"leg left thigh",
"mixamorig:LeftUpLeg",
"L.UpLeg",
"LegL",
"G_thigh_L",
"thigh_l",
"thigh_stretch.l"
],
"Right_Thigh":[
"bip_hip_R",
"leg right thigh",
"mixamorig:RightUpLeg",
"R.UpLeg",
"LegR",
"G_thigh_R",
"thigh_r",
"thigh_stretch.r"
],
"Left_Knee":[
"bip_knee_L",
"leg left knee",
"mixamorig:LeftLeg",
"L.Leg",
"KneeL",
"G_calf_L",
"calf_l",
"leg_stretch.l"
],
"Right_Knee":[
"bip_knee_R",
"leg right knee",
"mixamorig:RightLeg",
"R.Leg",
"KneeR",
"G_calf_R",
"calf_r",
"leg_stretch.r"
],
"Left_Foot":[
"bip_foot_L",
"leg left ankle",
"mixamorig:LeftFoot",
"L.Foot",
"FootL",
"GD_foot_L",
"foot_l",
"foot.l"
],
"Right_Foot":[
"bip_foot_R",
"leg right ankle",
"mixamorig:RightFoot",
"R.Foot",
"FootR",
"GD_foot_R",
"foot_r",
"foot.r"
],
"Spine_0":[
"G_waist",
"spine lower",
"bip_spine_0",
"Waist",
"mixamorig:Spine",
"Spine",
"spine_01",
"spine_01.x"
],
"Spine_1":[
"G_stomach",
"spine middle",
"bip_spine_1",
"Bust",
"mixamorig:Spine1",
"Spine1",
"spine_02",
"spine_02.x"
],
"Spine_2":[
"G_chest",
"spine upper",
"bip_spine_2",
"mixamorig:Spine2",
"Spine2",
"spine_03",
"spine_03.x"
],
"Left_Collar":[
"GD_clavicle_L",
"arm left shoulder 1",
"bip_collar_L",
"ClavicleL",
"mixamorig:LeftShoulder",
"L.Shoulder",
"clavicle_l",
"shoulder.l"
],
"Right_Collar":[
"GD_clavicle_R",
"arm right shoulder 1",
"bip_collar_R",
"ClavicleR",
"mixamorig:RightShoulder",
"R.Shoulder",
"clavicle_r",
"shoulder.r"
]
}