本文書では、 VRMC_vrm 拡張のうち humanoid フィールドについての仕様を示します。
humanoid bone の一覧を定義します。
extensions.VRMC_vrm.humanoid = {
"humanBones": {
"hips": {
"node": 1 // index of glTF.Node
},
"spine": {
"node": 2
},
// 省略
}
}
Table of Contents generated with DocToc
- ヒューマノイドボーンは VRM 内で同じものが複数存在してはいけません。
- 表中の
- は親ボーンが必ず存在するため、条件を考慮する必要が無いことを示します。
| ボーン名前 |
必須 |
親ボーン |
位置の目安 |
親ボーンの存在が必須 |
備考 |
| hips |
必須 |
(root) |
股間 |
- |
通常、このボーンだけが移動し、他のボーンは回転だけします |
| spine |
必須 |
hips |
骨盤の上端 |
- |
|
| chest |
|
spine |
胸郭の下端 |
- |
0.X では必須でした |
| upperChest |
|
chest |
|
Yes |
chest が存在する場合にのみ、このボーンは存在できます |
| neck |
|
upperChest |
首の付け根 |
No |
0.X では必須でした |
| ボーン名前 |
必須 |
親ボーン |
位置の目安 |
親ボーンの存在が必須 |
備考 |
| leftUpperLeg |
必須 |
hips |
脚の付け根 |
- |
|
| leftLowerLeg |
必須 |
leftUpperLeg |
膝 |
- |
|
| leftFoot |
必須 |
leftLowerLeg |
足首 |
- |
|
| leftToes |
|
leftFoot |
足の指の付け根 |
- |
|
| rightUpperLeg |
必須 |
hips |
脚の付け根 |
- |
|
| rightLowerLeg |
必須 |
rightUpperLeg |
膝 |
- |
|
| rightFoot |
必須 |
rightLowerLeg |
足首 |
- |
|
| rightToes |
|
rightFoot |
足の指の付け根 |
- |
|
| ボーン名前 |
必須 |
親ボーン |
位置の目安 |
親ボーンの存在が必須 |
備考 |
| leftShoulder |
|
upperChest |
|
No |
|
| leftUpperArm |
必須 |
leftShoulder |
上腕の付け根 |
No |
|
| leftLowerArm |
必須 |
leftUpperArm |
肘 |
- |
|
| leftHand |
必須 |
leftLowerArm |
手首 |
- |
|
| rightShoulder |
|
upperChest |
|
No |
|
| rightUpperArm |
必須 |
rightShoulder |
上腕の付け根 |
No |
|
| rightLowerArm |
必須 |
rightUpperArm |
肘 |
- |
|
| rightHand |
必須 |
rightLowerArm |
手首 |
- |
|
| ボーン名前 |
必須 |
親ボーン |
位置の目安 |
親ボーンの存在が必須 |
備考 |
| leftThumbMetacarpal |
|
leftHand |
|
- |
|
| leftThumbProximal |
|
leftThumbMetacarpal |
|
Yes |
|
| leftThumbDistal |
|
leftThumbProximal |
|
Yes |
|
| leftIndexProximal |
|
leftHand |
|
- |
|
| leftIndexIntermediate |
|
leftIndexProximal |
|
Yes |
|
| leftIndexDistal |
|
leftIndexIntermediate |
|
Yes |
|
| leftMiddleProximal |
|
leftHand |
|
- |
|
| leftMiddleIntermediate |
|
leftMiddleProximal |
|
Yes |
|
| leftMiddleDistal |
|
leftMiddleIntermediate |
|
Yes |
|
| leftRingProximal |
|
leftHand |
|
- |
|
| leftRingIntermediate |
|
leftRingProximal |
|
Yes |
|
| leftRingDistal |
|
leftRingIntermediate |
|
Yes |
|
| leftLittleProximal |
|
leftHand |
|
- |
|
| leftLittleIntermediate |
|
leftLittleProximal |
|
Yes |
|
| leftLittleDistal |
|
leftLittleIntermediate |
|
Yes |
|
| rightThumbMetacarpal |
|
rightHand |
|
- |
|
| rightThumbProximal |
|
rightThumbMetacarpal |
|
Yes |
|
| rightThumbDistal |
|
rightThumbProximal |
|
Yes |
|
| rightIndexProximal |
|
rightHand |
|
- |
|
| rightIndexIntermediate |
|
rightIndexProximal |
|
Yes |
|
| rightIndexDistal |
|
rightIndexIntermediate |
|
Yes |
|
| rightMiddleProximal |
|
rightHand |
|
- |
|
| rightMiddleIntermediate |
|
rightMiddleProximal |
|
Yes |
|
| rightMiddleDistal |
|
rightMiddleIntermediate |
|
Yes |
|
| rightRingProximal |
|
rightHand |
|
- |
|
| rightRingIntermediate |
|
rightRingProximal |
|
Yes |
|
| rightRingDistal |
|
rightRingIntermediate |
|
Yes |
|
| rightLittleProximal |
|
rightHand |
|
- |
|
| rightLittleIntermediate |
|
rightLittleProximal |
|
Yes |
|
| rightLittleDistal |
|
rightLittleIntermediate |
|
Yes |
|
- ヒューマノイドボーンは親ボーンが決まっています。必須でない親ボーンが存在しない場合は、親ボーンの親ボーンを探してください。
- ヒューマノイドボーンの間にヒューマノイドボーンではないノードが入ることは許容されます(UpperLegとLowerLegの間にヒューマノイドボーンでないノードがあるなど)
hips を root として以下のような親子になります。
- root(ヒューマノイドボーンではない。原点)
- hips
- spine
- (chest)
- (upperChest)
- (neck)
- head
- (leftEye)
- (rightEye)
- (jaw)
- (leftShoulder)
- (rightShoulder)
- leftUpperLeg
- rightUpperLeg