BipedPlus
Ep.15 — 蒙皮骨骼节点名称参考 (`Skin_*`)
下载 Markdown本文档分享了 BipedPlus 默认生成的 Skin_* 蒙皮骨骼命名规范。
这是 OtakuSolutions 在 3dsMax 绑定工作中所采用的命名约定。
如果您的团队没有内部绑定命名规范,可以参考本文档作为标准。
在进行自定义时,保持这些节点名称与结构约定,可确保完全的兼容性。
BipedPlus 在部分关节中采用主骨骼与分段骨骼(_Seg) 分离的双重结构。
目的是实现关节拉伸效果并防止缩放错误。
| Pattern | Skin_* |
| Left + Center nodes | 85 |
| Right nodes (mirror) | 63 |
| Total nodes | 148 |
蒙皮结构设计
| 角色 | 说明 |
|---|---|
主骨骼 (is_skinned=X) |
负责关节运动的主轴/旋转。无需蒙皮。 |
_Seg 骨骼 (is_skinned=O) |
主骨骼的子级;负责各段网格变形。 |
_Twist 骨骼 (is_skinned=O) |
沿肢体分配扭转旋转。 |
_Cor 骨骼 (is_skinned=O) |
用于左右对称校正的矫正骨骼。 |
无Seg/Twist的骨骼 (is_skinned=O) |
直接蒙皮到主骨骼(例:手指、手、脚)。 |
Nub 骨骼 (is_skinned=X) |
链条终点标记。无需蒙皮。 |
字段说明
| 字段 | 说明 |
|---|---|
direction |
left / center |
is_skinned |
该骨骼是否接受蒙皮权重(O = 是,X = 否) |
parent |
父节点({LAST} = 链条中最后编号的骨骼) |
part |
骨架模块部件ID |
Node List (85 — Left + Center)
| node | part | direction | parent | is_skinned |
|---|---|---|---|---|
| Skin_Com | spine | center | Root | O |
| Skin_Pelvis | spine | center | Root | X |
| Skin_Spine | spine | center | Skin_Pelvis | X |
| Skin_Spine1 | spine | center | Skin_Spine | X |
| Skin_Spine2 | spine | center | Skin_Spine1 | X |
| Skin_Spine3 | spine | center | Skin_Spine2 | X |
| Skin_Spine4 | spine | center | Skin_Spine3 | X |
| Skin_Pelvis_Seg | spine | center | Skin_Pelvis | O |
| Skin_Spine1_Seg | spine | center | Skin_Spine1 | O |
| Skin_Spine2_Seg | spine | center | Skin_Spine2 | O |
| Skin_Spine3_Seg | spine | center | Skin_Spine3 | O |
| Skin_Spine4_Seg | spine | center | Skin_Spine4 | O |
| Skin_Spine_Seg | spine | center | Skin_Spine | O |
| Skin_Head | neck-head | center | Skin_Neck | X |
| Skin_Neck | neck-head | center | Skin_Spine{LAST} | X |
| Skin_HeadNub | neck-head | center | Skin_Head | X |
| Skin_Head_Seg | neck-head | center | Skin_Head | O |
| Skin_Neck_Seg | neck-head | center | Skin_Neck | O |
| Skin_Neck_Twist | neck-head | center | Skin_Neck | O |
| Skin_L_Clavicle | arm | left | Skin_Spine{LAST} | O |
| Skin_L_ForeArm | arm | left | Skin_L_UpperArm | X |
| Skin_L_Hand | arm | left | Skin_L_ForeArm | O |
| Skin_L_UpperArm | arm | left | Skin_L_Clavicle | X |
| Skin_L_ForeArm_Seg1 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg2 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg3 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg4 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg5 | arm | left | Skin_L_ForeArm | O |
| Skin_L_UpperArm_Seg1 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg2 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg3 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg4 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg5 | arm | left | Skin_L_UpperArm | O |
| Skin_L_Finger0 | finger0 | left | Skin_L_Hand | O |
| Skin_L_Finger01 | finger0 | left | Skin_L_Finger0 | O |
| Skin_L_Finger02 | finger0 | left | Skin_L_Finger01 | O |
| Skin_L_Finger1 | finger1 | left | Skin_L_Hand | O |
| Skin_L_Finger11 | finger1 | left | Skin_L_Finger1 | O |
| Skin_L_Finger12 | finger1 | left | Skin_L_Finger11 | O |
| Skin_L_Finger2 | finger2 | left | Skin_L_Hand | O |
| Skin_L_Finger21 | finger2 | left | Skin_L_Finger2 | O |
| Skin_L_Finger22 | finger2 | left | Skin_L_Finger21 | O |
| Skin_L_Finger3 | finger3 | left | Skin_L_Hand | O |
| Skin_L_Finger31 | finger3 | left | Skin_L_Finger3 | O |
| Skin_L_Finger32 | finger3 | left | Skin_L_Finger31 | O |
| Skin_L_Finger4 | finger4 | left | Skin_L_Hand | O |
| Skin_L_Finger41 | finger4 | left | Skin_L_Finger4 | O |
| Skin_L_Finger42 | finger4 | left | Skin_L_Finger41 | O |
| Skin_L_Calf | leg | left | Skin_L_Thigh | X |
| Skin_L_Foot | leg | left | Skin_L_Calf | O |
| Skin_L_HorseLink | leg | left | Skin_L_Calf | X |
| Skin_L_Thigh | leg | left | Skin_Pelvis | X |
| Skin_L_Toe0 | leg | left | Skin_L_Foot | O |
| Skin_L_Calf_Seg1 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg2 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg3 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg4 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg5 | leg | left | Skin_L_Calf | O |
| Skin_L_HorseLink_Seg1 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg2 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg3 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg4 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg5 | leg | left | Skin_L_HorseLink | O |
| Skin_L_Thigh_Seg1 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg2 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg3 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg4 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg5 | leg | left | Skin_L_Thigh | O |
| Skin_Prop1 | prop1 | center | Root | O |
| Skin_Prop2 | prop2 | center | Root | O |
| Skin_Prop3 | prop3 | center | Root | O |
| Skin_L_BackA_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_BackA_Skirt2 | extra_skirt | left | Skin_L_BackA_Skirt1 | O |
| Skin_L_BackA_Skirt3 | extra_skirt | left | Skin_L_BackA_Skirt2 | O |
| Skin_L_FrontA_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_FrontA_Skirt2 | extra_skirt | left | Skin_L_FrontA_Skirt1 | O |
| Skin_L_FrontA_Skirt3 | extra_skirt | left | Skin_L_FrontA_Skirt2 | O |
| Skin_L_Side_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_Side_Skirt2 | extra_skirt | left | Skin_L_Side_Skirt1 | O |
| Skin_L_Side_Skirt3 | extra_skirt | left | Skin_L_Side_Skirt2 | O |
| Skin_L_Back_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_Front_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_Side_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_ForeArm_Cor | extra_forearm | left | Skin_L_UpperArm | O |
| Skin_L_Calf_Cor | extra_calf | left | Skin_L_Thigh | O |
Right Side — Replace
_L_with_R_to get the mirrored node.
e.g.Skin_L_UpperArm→Skin_R_UpperArm