GetBoneTransform#
- ExportCharacter.GetBoneTransform(boneName)#
ボーンの Transform を取得します。
ボーン名は HumanBodyBones を参照してください。キャラクターが読み込み中、あるいは指定したボーンがキャラクターに存在しない場合は
nil
を返します。
指定したボーンがキャラクターに存在する場合の返り値は以下のようなtable
です。フィールド
型
position
rotation
- Parameters:
boneName (
string
) -- ボーン名- Returns:
ボーンの Transform
- Return type:
table
Example#
local player = vci.vc.room.GetAllPlayers()[1]
local character = player.Character
local bones = {
"Hips",
"LeftUpperLeg",
"RightUpperLeg",
"LeftLowerLeg",
"RightLowerLeg",
"LeftFoot",
"RightFoot",
"Spine",
"Chest",
"UpperChest",
"Neck",
"Head",
"LeftShoulder",
"RightShoulder",
"LeftUpperArm",
"RightUpperArm",
"LeftLowerArm",
"RightLowerArm",
"LeftHand",
"RightHand",
"LeftToes",
"RightToes",
"LeftEye",
"RightEye",
"Jaw",
"LeftThumbProximal",
"LeftThumbIntermediate",
"LeftThumbDistal",
"LeftIndexProximal",
"LeftIndexIntermediate",
"LeftIndexDistal",
"LeftMiddleProximal",
"LeftMiddleIntermediate",
"LeftMiddleDistal",
"LeftRingProximal",
"LeftRingIntermediate",
"LeftRingDistal",
"LeftLittleProximal",
"LeftLittleIntermediate",
"LeftLittleDistal",
"RightThumbProximal",
"RightThumbIntermediate",
"RightThumbDistal",
"RightIndexProximal",
"RightIndexIntermediate",
"RightIndexDistal",
"RightMiddleProximal",
"RightMiddleIntermediate",
"RightMiddleDistal",
"RightRingProximal",
"RightRingIntermediate",
"RightRingDistal",
"RightLittleProximal",
"RightLittleIntermediate",
"RightLittleDistal"
}
for k,v in pairs(bones) do
local transform = character.GetBoneTransform(v) -- {"position": Vector3, "rotation": Quaternion}
if transform == nil then
print("bone is not found: "..v)
else
print(v.."\nposition:"..tostring(transform.position).."\nrotation: "..tostring(transform.rotation))
end
end