ノード変換プロパティ
 
 
 

特に記載しない限り、次に示す変換プロパティは、常に現在アクティブの コンテキスト式 で定義されている現在の作業座標系に変換されます。 coordsys の既定値は world です。ノードの pos rotation 、および scale プロパティは、ノードの変換コントローラに対応するサブコントローラへのエイリアスです。変換コントローラにこれらのサブコントローラの 1 つがない場合、対応するノード プロパティにアクセスすると、「未知のプロパティ」というエラー メッセージが返されます。たとえば、ルックアット コントローラには Rotation サブコントローラはなく、IK コントローラにはサブコントローラはありません。この場合でも、ノードの transform プロパティの Matrix3 プロパティを使用して、変換値にアクセスできます。たとえば、 objpos=obj.transform.translationpart などのようにアクセスします。

   

<node>.transform: Matrix3

読み込み/書き込みアクセス。

書き込みアクセスの場合、Matrix3 値は、位置、回転、スケールの各値に分解され、これらの値は、位置、回転、スケールの各コントローラにそれぞれ保存されます(これらのコントローラが存在し、書き込み可能な場合)。

   

<node>.pos: Point3 -- 全体を通じて .position の同義語を使用できる
<node>.pos.controller: Controller -- 全体を通じて .track の同義語を使用できる
<node>.pos.isAnimated: Boolean, read-only -- 位置がアニメートされている場合は true
<node>.pos.keys: MAXKeyArray
<node>.pos.track: Controller -- .pos.controller の同義語

   

<node>.rotation: Quat
<node>.rotation.x_rotation: Float -- ノードの X 回転
<node>.rotation.y_rotation: Float -- ノードの Y 回転
<node>.rotation.z_rotation: Float -- ノードの Z 回転
<node>.rotation.controller: Controller -- 全体を通じて .track の同義語を使用できる
<node>.rotation.isAnimated: Boolean, read-only -- 回転がアニメートされている場合は true
<node>.rotation.keys: MAXKeyArray
<node>.rotation.track: Controller -- .rotation.controller の同義語

   

<node>.scale: Point3 -- 割合
<node>.scale.controller: Controller -- 全体を通じて .track の同義語を使用できる
<node>.scale.isAnimated: Boolean, read-only -- スケールがアニメートされている場合は true
<node>.scale.keys: MAXKeyArray
<node>.scale.track: Controller -- scale.controller の同義語

   

<node>.dir: Point3 -- ローカルの Z 軸方向のベクトル

ノードの Z 軸が指定した方向に向くようにノードを回転します。ノードをノードの Z 軸を中心に回転し、Y 軸がワールド Z 軸の方向とできるだけ近くなるようにします。

<node>.dir を取得/設定すると、現在の座標系が重視されるようになりました。このプロパティは、以前は常にワールド座標内にありました。

   

<node>.max: Point3, read-only -- ノードのバウンディング ボックスの最大座標
<node>.min: Point3, read-only -- ノードのバウンディング ボックスの最小座標
<node>.center: Point3 --ノードのバウンディング ボックスの中心座標

   

<node>.transform: Matrix3 --ノードの主変換行列
注:

3ds Max のユーザ インタフェースや MAXScript と異なり、内部の変換行列での回転が 左手規則であることに注意してください。このため、これらの行列から派生する回転を回転関連の関数に使われる回転や回転プロパティの回転と混用するときは注意してください。

<node>.pivot: Point3 --ノードの基点の位置

   

<node>.objectOffsetPos: Point3
<node>.objectOffsetRot: Quat
<node>.objectOffsetScale: Point3

   

ワールド座標で、ノード ジオメトリの位置、回転、スケールの基点からのオフセットです。

<node>.objectTransform: Matrix3, read-only

ワールド座標におけるノード ジオメトリのオフセットです。

スクリプト:

-- 位置が不足していない状態でノードの回転を
-- ワールド スペースに相対的に設定する
fn setNodeWorldRotation theNode theRot =
(
in coordsys (transmatrix theNode.transform.pos)
theNode.rotation = theRot
)
 
setNodeWorldRotation $ (eulerangles 45 45 0)
関連事項