/** * refs: * https://learnmmd.com/http:/learnmmd.com/mmd-bone-reference-charts/ * https://bowlroll.net/file/9611 * * mmd standard bone structure: * * -全ての親: all parents (semi-standard) * * - センター: center * - グルーブ: groove (semi-standard) * - 腰: waist (semi-standard) * - 上半身: upper body * - 上半身2: upper body 2 (semi-standard) * * - 右肩P: right shoulder parent * - 右肩: right shoulder * - 右肩C: right shoulder child * - 右腕: right arm * - 右腕捩: right arm twist (semi-standard) * - 右ひじ: right elbow * - 右手捩: right hand twist (semi-standard) * - 右手首: right wrist * * - 右中指1: right middle finger 1 * - 右中指2: right middle finger 2 * - 右中指3: right middle finger 3 * * - 右人指1: right index finger 1 * - 右人指2: right index finger 2 * - 右人指3: right index finger 3 * * - 右小指1: right little finger 1 * - 右小指2: right little finger 2 * - 右小指3: right little finger 3 * * - 右薬指1: right ring finger 1 * - 右薬指2: right ring finger 2 * - 右薬指3: right ring finger 3 * * - 右親指0: right thumb 0 (semi-standard) * - 右親指1: right thumb 1 * - 右親指2: right thumb 2 * * - 左肩P: left shoulder parent * - 左肩: left shoulder * - 左肩C: left shoulder child * - 左腕: left arm * - 左腕捩: left arm twist (semi-standard) * - 左ひじ: left elbow * - 左手捩: left hand twist (semi-standard) * - 左手首: left wrist * * - 左中指1: left middle finger 1 * - 左中指2: left middle finger 2 * - 左中指3: left middle finger 3 * * - 左人指1: left index finger 1 * - 左人指2: left index finger 2 * - 左人指3: left index finger 3 * * - 左小指1: left little finger 1 * - 左小指2: left little finger 2 * - 左小指3: left little finger 3 * * - 左薬指2: left ring finger 1 * - 左薬指3: left ring finger 2 * - 左薬指4: left ring finger 3 * * - 左親指0: left thumb 0 (semi-standard) * - 左親指1: left thumb 1 * - 左親指2: left thumb 2 * * - 首: neck * - 頭: head * - 両目: both eyes * - 右目: right eye * - 左目: left eye * * - 下半身: lower body * - 腰キャンセル右: waist cancel right (semi-standard) * * - 右足: right leg * - 右ひざ: right knee * - 右足首: right ankle * - 右つま先: right toe * * - 右足D: right leg D (semi-standard) * - 右ひざD: right knee D (semi-standard) * - 右足首D: right ankle D (semi-standard) * - 右足先EX: right toe extra (semi-standard) * * - 腰キャンセル左: waist cancel left (semi-standard) * * - 左足: left leg * - 左ひざ: left knee * - 左足首: left ankle * - 左つま先: left toe * * - 左足D: left leg D (semi-standard) * - 左ひざD: left knee D (semi-standard) * - 左足首D: left ankle D (semi-standard) * - 左足先EX: left toe extra (semi-standard) * * - 右足IK親: right leg ik parent (semi-standard) * - 右足IK: right leg ik * - 右つま先IK: right toe ik * * - 左足IK親: left leg ik parent (semi-standard) * - 左足IK: left leg ik * - 左つま先IK: left toe ik */ /** * refs: * https://docs.unity3d.com/ScriptReference/HumanBodyBones.html * https://github.com/V-Sekai/three-vrm-1-sandbox-mixamo/blob/master/mixamoVRMRigMap.js * * unity humanoid bone structure: * * - Hips * - Spine * - Chest * - UpperChest * - Neck * - Head * - LeftEye * - RightEye * - Jaw * * - LeftShoulder * - LeftUpperArm * - LeftLowerArm * - LeftHand * - LeftThumbProximal * - LeftThumbIntermediate * - LeftThumbDistal * - LeftIndexProximal * - LeftIndexIntermediate * - LeftIndexDistal * - LeftMiddleProximal * - LeftMiddleIntermediate * - LeftMiddleDistal * - LeftRingProximal * - LeftRingIntermediate * - LeftRingDistal * - LeftLittleProximal * - LeftLittleIntermediate * - LeftLittleDistal * * - RightShoulder * - RightUpperArm * - RightLowerArm * - RightHand * - RightThumbProximal * - RightThumbIntermediate * - RightThumbDistal * - RightIndexProximal * - RightIndexIntermediate * - RightIndexDistal * - RightMiddleProximal * - RightMiddleIntermediate * - RightMiddleDistal * - RightRingProximal * - RightRingIntermediate * - RightRingDistal * - RightLittleProximal * - RightLittleIntermediate * - RightLittleDistal * * - LeftUpperLeg * - LeftLowerLeg * - LeftFoot * - LeftToes * * - RightUpperLeg * - RightLowerLeg * - RightFoot * - RightToes */ /** * exists only in humanoid rig: * * - Jaw */ /** * Humanoid bone name map for interchanging assets between mmd and humanoid rig */ export interface IMmdHumanoidBoneMap { /** * maps to "センター"(center) */ hips?: string; /** * maps to "上半身"(upper body) */ spine?: string; /** * maps to "上半身2"(upper body 2) */ chest?: string; /** * maps to "首"(neck) */ neck?: string; /** * maps to "頭"(head) */ head?: string; /** * maps to "左肩"(left shoulder) */ leftShoulder?: string; /** * maps to "左腕"(left arm) */ leftUpperArm?: string; /** * maps to "左ひじ"(left elbow) */ leftLowerArm?: string; /** * maps to "左手首"(left wrist) */ leftHand?: string; /** * maps to "右肩"(right shoulder) */ rightShoulder?: string; /** * maps to "右腕"(right arm) */ rightUpperArm?: string; /** * maps to "右ひじ"(right elbow) */ rightLowerArm?: string; /** * maps to "右手首"(right wrist) */ rightHand?: string; /** * maps to "左足"(left leg) */ leftUpperLeg?: string; /** * maps to "左ひざ"(left knee) */ leftLowerLeg?: string; /** * maps to "左足首"(left ankle) */ leftFoot?: string; /** * maps to "左つま先"(left toe) */ leftToes?: string; /** * maps to "右足"(right leg) */ rightUpperLeg?: string; /** * maps to "右ひざ"(right knee) */ rightLowerLeg?: string; /** * maps to "右足首"(right ankle) */ rightFoot?: string; /** * maps to "右つま先"(right toe) */ rightToes?: string; /** * maps to "左目"(left eye) */ leftEye?: string; /** * maps to "右目"(right eye) */ rightEye?: string; /** * maps to "左親指0"(left thumb 0) */ leftThumbProximal?: string; /** * maps to "左親指1"(left thumb 1) */ leftThumbIntermediate?: string; /** * maps to "左親指2"(left thumb 2) */ leftThumbDistal?: string; /** * maps to "左人指1"(left index finger 1) */ leftIndexProximal?: string; /** * maps to "左人指2"(left index finger 2) */ leftIndexIntermediate?: string; /** * maps to "左人指3"(left index finger 3) */ leftIndexDistal?: string; /** * maps to "左中指1"(left middle finger 1) */ leftMiddleProximal?: string; /** * maps to "左中指2"(left middle finger 2) */ leftMiddleIntermediate?: string; /** * maps to "左中指3"(left middle finger 3) */ leftMiddleDistal?: string; /** * maps to "左薬指1"(left ring finger 1) */ leftRingProximal?: string; /** * maps to "左薬指2"(left ring finger 2) */ leftRingIntermediate?: string; /** * maps to "左薬指3"(left ring finger 3) */ leftRingDistal?: string; /** * maps to "左小指1"(left little finger 1) */ leftLittleProximal?: string; /** * maps to "左小指2"(left little finger 2) */ leftLittleIntermediate?: string; /** * maps to "左小指3"(left little finger 3) */ leftLittleDistal?: string; /** * maps to "右親指0"(right thumb 0) */ rightThumbProximal?: string; /** * maps to "右親指1"(right thumb 1) */ rightThumbIntermediate?: string; /** * maps to "右親指2"(right thumb 2) */ rightThumbDistal?: string; /** * maps to "右人指1"(right index finger 1) */ rightIndexProximal?: string; /** * maps to "右人指2"(right index finger 2) */ rightIndexIntermediate?: string; /** * maps to "右人指3"(right index finger 3) */ rightIndexDistal?: string; /** * maps to "右中指1"(right middle finger 1) */ rightMiddleProximal?: string; /** * maps to "右中指2"(right middle finger 2) */ rightMiddleIntermediate?: string; /** * maps to "右中指3"(right middle finger 3) */ rightMiddleDistal?: string; /** * maps to "右薬指1"(right ring finger 1) */ rightRingProximal?: string; /** * maps to "右薬指2"(right ring finger 2) */ rightRingIntermediate?: string; /** * maps to "右薬指3"(right ring finger 3) */ rightRingDistal?: string; /** * maps to "右小指1"(right little finger 1) */ rightLittleProximal?: string; /** * maps to "右小指2"(right little finger 2) */ rightLittleIntermediate?: string; /** * maps to "右小指3"(right little finger 3) */ rightLittleDistal?: string; } /** * mixamo humanoid bone name map */ export declare const MixamoMmdHumanoidBoneMap: { readonly hips: "mixamorig:Hips"; readonly spine: "mixamorig:Spine"; readonly chest: "mixamorig:Spine2"; readonly neck: "mixamorig:Neck"; readonly head: "mixamorig:Head"; readonly leftShoulder: "mixamorig:LeftShoulder"; readonly leftUpperArm: "mixamorig:LeftArm"; readonly leftLowerArm: "mixamorig:LeftForeArm"; readonly leftHand: "mixamorig:LeftHand"; readonly rightShoulder: "mixamorig:RightShoulder"; readonly rightUpperArm: "mixamorig:RightArm"; readonly rightLowerArm: "mixamorig:RightForeArm"; readonly rightHand: "mixamorig:RightHand"; readonly leftUpperLeg: "mixamorig:LeftUpLeg"; readonly leftLowerLeg: "mixamorig:LeftLeg"; readonly leftFoot: "mixamorig:LeftFoot"; readonly leftToes: "mixamorig:LeftToeBase"; readonly rightUpperLeg: "mixamorig:RightUpLeg"; readonly rightLowerLeg: "mixamorig:RightLeg"; readonly rightFoot: "mixamorig:RightFoot"; readonly rightToes: "mixamorig:RightToeBase"; readonly leftEye: undefined; readonly rightEye: undefined; readonly leftThumbProximal: "mixamorig:LeftHandThumb1"; readonly leftThumbIntermediate: "mixamorig:LeftHandThumb2"; readonly leftThumbDistal: "mixamorig:LeftHandThumb3"; readonly leftIndexProximal: "mixamorig:LeftHandIndex1"; readonly leftIndexIntermediate: "mixamorig:LeftHandIndex2"; readonly leftIndexDistal: "mixamorig:LeftHandIndex3"; readonly leftMiddleProximal: "mixamorig:LeftHandMiddle1"; readonly leftMiddleIntermediate: "mixamorig:LeftHandMiddle2"; readonly leftMiddleDistal: "mixamorig:LeftHandMiddle3"; readonly leftRingProximal: "mixamorig:LeftHandRing1"; readonly leftRingIntermediate: "mixamorig:LeftHandRing2"; readonly leftRingDistal: "mixamorig:LeftHandRing3"; readonly leftLittleProximal: "mixamorig:LeftHandPinky1"; readonly leftLittleIntermediate: "mixamorig:LeftHandPinky2"; readonly leftLittleDistal: "mixamorig:LeftHandPinky3"; readonly rightThumbProximal: "mixamorig:RightHandThumb1"; readonly rightThumbIntermediate: "mixamorig:RightHandThumb2"; readonly rightThumbDistal: "mixamorig:RightHandThumb3"; readonly rightIndexProximal: "mixamorig:RightHandIndex1"; readonly rightIndexIntermediate: "mixamorig:RightHandIndex2"; readonly rightIndexDistal: "mixamorig:RightHandIndex3"; readonly rightMiddleProximal: "mixamorig:RightHandMiddle1"; readonly rightMiddleIntermediate: "mixamorig:RightHandMiddle2"; readonly rightMiddleDistal: "mixamorig:RightHandMiddle3"; readonly rightRingProximal: "mixamorig:RightHandRing1"; readonly rightRingIntermediate: "mixamorig:RightHandRing2"; readonly rightRingDistal: "mixamorig:RightHandRing3"; readonly rightLittleProximal: "mixamorig:RightHandPinky1"; readonly rightLittleIntermediate: "mixamorig:RightHandPinky2"; readonly rightLittleDistal: "mixamorig:RightHandPinky3"; }; /** * vrm humanoid bone name map */ export declare const VrmMmdHumanoidBoneMap: { readonly hips: "hips"; readonly spine: "spine"; readonly chest: "chest"; readonly neck: "neck"; readonly head: "head"; readonly leftShoulder: "leftShoulder"; readonly leftUpperArm: "leftUpperArm"; readonly leftLowerArm: "leftLowerArm"; readonly leftHand: "leftHand"; readonly rightShoulder: "rightShoulder"; readonly rightUpperArm: "rightUpperArm"; readonly rightLowerArm: "rightLowerArm"; readonly rightHand: "rightHand"; readonly leftUpperLeg: "leftUpperLeg"; readonly leftLowerLeg: "leftLowerLeg"; readonly leftFoot: "leftFoot"; readonly leftToes: "leftToes"; readonly rightUpperLeg: "rightUpperLeg"; readonly rightLowerLeg: "rightLowerLeg"; readonly rightFoot: "rightFoot"; readonly rightToes: "rightToes"; readonly leftEye: "leftEye"; readonly rightEye: "rightEye"; readonly leftThumbProximal: "leftThumbProximal"; readonly leftThumbIntermediate: "leftThumbIntermediate"; readonly leftThumbDistal: "leftThumbDistal"; readonly leftIndexProximal: "leftIndexProximal"; readonly leftIndexIntermediate: "leftIndexIntermediate"; readonly leftIndexDistal: "leftIndexDistal"; readonly leftMiddleProximal: "leftMiddleProximal"; readonly leftMiddleIntermediate: "leftMiddleIntermediate"; readonly leftMiddleDistal: "leftMiddleDistal"; readonly leftRingProximal: "leftRingProximal"; readonly leftRingIntermediate: "leftRingIntermediate"; readonly leftRingDistal: "leftRingDistal"; readonly leftLittleProximal: "leftLittleProximal"; readonly leftLittleIntermediate: "leftLittleIntermediate"; readonly leftLittleDistal: "leftLittleDistal"; readonly rightThumbProximal: "rightThumbProximal"; readonly rightThumbIntermediate: "rightThumbIntermediate"; readonly rightThumbDistal: "rightThumbDistal"; readonly rightIndexProximal: "rightIndexProximal"; readonly rightIndexIntermediate: "rightIndexIntermediate"; readonly rightIndexDistal: "rightIndexDistal"; readonly rightMiddleProximal: "rightMiddleProximal"; readonly rightMiddleIntermediate: "rightMiddleIntermediate"; readonly rightMiddleDistal: "rightMiddleDistal"; readonly rightRingProximal: "rightRingProximal"; readonly rightRingIntermediate: "rightRingIntermediate"; readonly rightRingDistal: "rightRingDistal"; readonly rightLittleProximal: "rightLittleProximal"; readonly rightLittleIntermediate: "rightLittleIntermediate"; readonly rightLittleDistal: "rightLittleDistal"; }; /** * bone name map generator for interchanging assets between mmd and humanoid rig */ export declare class MmdHumanoidMapper { private static readonly _PropertyMap; private static readonly _PropertyKeys; /** * Humanoid bone to mmd bone name map */ readonly boneMap: { readonly [key: string]: string; }; /** * Create a new `MmdHumanoidMapper` instance * @param mmdHumanoidBoneMap humanoid bone name map */ constructor(mmdHumanoidBoneMap: IMmdHumanoidBoneMap); }