Table of Contents

Interface IAvatarPose

Namespace
VMagicMirror.Buddy

アバターの姿勢情報に関するAPIです。

public interface IAvatarPose

Methods

GetBoneGlobalPosition(HumanBodyBones, bool)

指定したボーンの位置をワールド座標で取得します。

Vector3 GetBoneGlobalPosition(HumanBodyBones bone, bool useParentBone = true)

Parameters

bone HumanBodyBones

ボーン

useParentBone bool

true を指定した場合、bone で指定したボーンが存在しないと親ボーンの値を代わりに返します。

Returns

Vector3

ボーンの位置

Remarks

アバターがロードされていない場合、この関数は zero を返します。 また、任意ボーンがアバターに存在せず、かつ useParentBonefalse だった場合にも、この関数は zero を返します。

useParentBonetrue の場合、任意ボーンがなければ有効な親ボーンまで遡ってボーン姿勢を返します。 例えば、親指ボーンがないアバターに対して LeftThumbProximal を指定してこの関数を呼び出した場合、 左手首ボーンつまり LeftHand のボーン位置を返します。

GetBoneGlobalRotation(HumanBodyBones, bool)

指定したボーンの回転をワールド座標で取得します。

Quaternion GetBoneGlobalRotation(HumanBodyBones bone, bool useParentBone = true)

Parameters

bone HumanBodyBones

ボーン

useParentBone bool

true を指定した場合、bone で指定したボーンが存在しないと親ボーンの値を代わりに返します。

Returns

Quaternion

ボーンの回転

Remarks

アバターがロードされていない場合、この関数は identity を返します。 また、任意ボーンがアバターに存在せず、かつ useParentBonefalse だった場合にも、この関数は identity を返します。

useParentBonetrue の場合、任意ボーンがなければ有効な親ボーンまで遡ってボーン姿勢を返します。 例えば、親指ボーンがないアバターに対して LeftThumbProximal を指定してこの関数を呼び出した場合、 左手首ボーンつまり LeftHand のボーン回転を返します。

GetBoneLocalPosition(HumanBodyBones, bool)

指定したボーンの位置をローカル座標で取得します。

Vector3 GetBoneLocalPosition(HumanBodyBones bone, bool useParentBone = true)

Parameters

bone HumanBodyBones

ボーン

useParentBone bool

true を指定した場合、bone で指定したボーンが存在しないと親ボーンの値を代わりに返します。

Returns

Vector3

ボーンの位置

Remarks

ローカル座標は親ボーンに対しての姿勢になります。 useParentBonetrue である場合の挙動の詳細は GetBoneGlobalPosition(HumanBodyBones, bool) も参照してください。

GetBoneLocalRotation(HumanBodyBones, bool)

指定したボーンの回転をローカル座標で取得します。

Quaternion GetBoneLocalRotation(HumanBodyBones bone, bool useParentBone = true)

Parameters

bone HumanBodyBones

ボーン

useParentBone bool

true を指定した場合、bone で指定したボーンが存在しないと親ボーンの値を代わりに返します。

Returns

Quaternion

ボーンの回転

Remarks

ローカル座標は親ボーンに対しての姿勢になります。 useParentBonetrue である場合の挙動の詳細は GetBoneGlobalPosition(HumanBodyBones, bool) も参照してください。

GetRootPosition()

アバターの足元の位置をワールド座標の値として取得します。

Vector3 GetRootPosition()

Returns

Vector3

アバターの足元の位置

GetRootRotation()

アバターの足元の回転をワールド座標の値として取得します。

Quaternion GetRootRotation()

Returns

Quaternion

アバターの足元の回転

Remarks

この値は identity に近い値であることが多いですが、 ゲーム入力モードによってアバターが正面以外の方向を向いている場合には、ヨー軸方向の回転が適用されます。

HasBone(HumanBodyBones)

現在ロードされているアバターに、指定したボーンが存在するかどうかを取得します。

bool HasBone(HumanBodyBones bone)

Parameters

bone HumanBodyBones

Returns

bool

RightThumbProximal などのボーンはアバターによっては存在しない事があるため、そのボーンの存在判定が必要な場合にはこの関数を使用します。

アバターがロードされていない場合、この関数は bone の値と関係なく false を返します。