Table of Contents

Interface ITransform3D

Namespace
VMagicMirror.Buddy

姿勢を取得・編集できるような3DオブジェクトのTransform情報です。

public interface ITransform3D

Properties

LocalPosition

オブジェクトのローカル座標での位置を取得、設定します。

Vector3 LocalPosition { get; set; }

Property Value

Vector3

Remarks

SetParent(IReadOnlyTransform3D) などで親オブジェクトを指定している場合、この値は親オブジェクトに対するローカル姿勢を表します。 そうでない場合、この値はワールド座標に相当する値になります。

LocalRotation

オブジェクトのローカル座標での回転を取得、設定します。

Quaternion LocalRotation { get; set; }

Property Value

Quaternion

Remarks

SetParent(IReadOnlyTransform3D) などで親オブジェクトを指定している場合、この値は親オブジェクトに対するローカル姿勢を表します。 そうでない場合、この値はワールド座標に相当する値になります。

LocalScale

オブジェクトのローカル座標でのスケールを取得、設定します。

Vector3 LocalScale { get; set; }

Property Value

Vector3

Remarks

SetParent(IReadOnlyTransform3D) などで親オブジェクトを指定している場合、この値は親オブジェクトのスケールと組み合わせて適用されます。 そうでない場合、この値そのものでオブジェクトのスケールが定まります。

Position

オブジェクトの位置をワールド座標で取得、設定します。

Vector3 Position { get; set; }

Property Value

Vector3

Rotation

オブジェクトの回転をワールド座標で取得、設定します。

Quaternion Rotation { get; set; }

Property Value

Quaternion

Methods

AsReadOnly()

インスタンスを読み取り専用とみなした値に変換します。

IReadOnlyTransform3D AsReadOnly()

Returns

IReadOnlyTransform3D

読み取り専用扱いに変換した値

Remarks

このメソッドの戻り値を経由するとTransformの状態は編集できなくなります。 ただし、呼び出し元のインスタンス自体は引き続き編集可能です。

RemoveParent()

親オブジェクトを削除し、オブジェクトをワールド空間に直接配置した状態にします。

void RemoveParent()

SetParent(HumanBodyBones)

親オブジェクトとして、メインアバターの特定のボーンを指定します。

void SetParent(HumanBodyBones bone)

Parameters

bone HumanBodyBones

親オブジェクトとして用いるアバターのボーン

Remarks

NoneLastBoneを指定した場合、親オブジェクトを外す処理として扱われます。 この関数はメインアバターがロードされていない状態でも呼び出せます。 メインアバターがロードされた時点で、指定したアバターのボーンが親オブジェクトに切り替わります。

SetParent(IReadOnlyTransform3D)

親オブジェクトを指定します。

void SetParent(IReadOnlyTransform3D parent)

Parameters

parent IReadOnlyTransform3D

親オブジェクト

Remarks

親オブジェクトを指定すると、このTransformが関連するオブジェクトの姿勢や大きさは親オブジェクトの影響を受けるようになります。

SetParent(ITransform3D)

親オブジェクトを指定します。

void SetParent(ITransform3D parent)

Parameters

parent ITransform3D

親オブジェクト

Remarks

親オブジェクトを指定すると、このTransformが関連するオブジェクトの姿勢や大きさは親オブジェクトの影響を受けるようになります。