[mayaで、目で見る、matrix]その1「トランスフォーム」ノードを構成する階層を見てみる(移動/回転/スケールのみ)
matrixを見ていくにあたって、
まずはトランスフォームノード自体を理解してみたいと思います。
「移動」「回転」「スケール」を階層として見てみる
トランスフォームノードのアトリビュートでなじみ深い、
「移動(translate)」「回転(rotate)」「スケール(scale)」、
まずはこれらの階層順番を見てみたいと思います。
各アトリビュートを階層として表現すると下図になります。
「移動」の子階層に、
「回転」。その子階層に、
「スケール」があります。
その為、
「回転」は、「移動」に影響しませんし、
「スケール」は、「移動」と「回転」に影響しません。
試しに、
適当に「移動」させた後、
「回転」するとその場で回転し、
その後「スケール」をかけると回転した軸方向にスケールします。
イメージ通りですね。
では次に、階層順番を入れ替えてみます。
先程と同じように、
「移動」「回転」「スケール」の順番で操作しましたが、
結果が全然違います。
「移動」は、「回転」と「スケール」の影響を受け、
「回転」は、「スケール」の影響を受けています。
子階層は、親階層の影響を受ける。
親階層は、子階層に影響する。
この考え方が、
階層を理解する(=matrixを理解する)うえで、とても重要だと思います。
この概念のことをローカル空間なんて呼ばれていたりします。
まとめ
①「移動」「回転」「スケール」アトリビュートの階層は、
下図である。
②階層順番が違うと、挙動がまったく異なる。
この記事が気に入ったらサポートをしてみませんか?