日々適当

hibitekitou

MayaとSoftimageのピボットとセンター

cg |2016-08-19
Softimage的には、オブジェクトの持つセンター位置というのは、Centerで表現されているのだと思います。ということで、グローバル空間における頂点位置を保持したままセンター位置を動かそうとする場合には、Centerってモードにして動かしてやればいい。
下図の場合、Centerモードでキューブの左下にセンター位置を動かしたので、オブジェクトの位置は右下の頂点位置になったとも言えます。



Softimageにはその上でピボットがあります。センターにオフセットをかけるという印象のもので、操作の中心はあくまでもセンターになる感じっすね。コンストレイントのポジションを実行すると、ピボット位置ではなく、センター位置を見に行きます(それとは別に、一時的に操作の起点を動かすためのピボットもありますが)。



上図ではピボット位置としてはキューブに左下を指定しているものの、センターは原点なので、球をコンストレインすると球はキューブのセンター位置に固定されます。

Mayaではセンターを直接操作するということはないようです。操作するのはピボット。だからピボットをキューブ左下に動かしたとして、しかしオブジェクトの位置としては(Transform Attributesの値は)左下にはなりません。



これ、ややこしくて、キューブのトランスフォームの起点としては左下の頂点にあるから、そこがこのオブジェクトの中心であると思ったりするのですが、オブジェクトのトランスフォームの位置の数字には現れてこない。操作する起点を把握しようと思ったら、ピボットの位置を認識している必要があり、何か操作をするときにはピボットに対して行われるようです。
例えばピボットを左下に設定したキューブに別のオブジェクトをPoint Constraintさせようとすると、ピボット位置に対して固定されます。



オブジェクトの位置(オブジェクトを操作するときの起点)を把握するときに不便じゃないのかなぁって思うのですけど、手っ取り早くピボット位置をゼロにリセットし、その代わりトランスフォームの位置と回転にピボットに入っていた値を反映する Bake Pivotコマンドがあるので、Softimageと同様に扱いたいときには、そのコマンドを実行してやれば良さそうです。






ワンステップあるけど、このコマンドが実装されたのは割と最近らしいので、まぁ(SI使い的には)前進した感じでしょうか。 とか、まだこんなところでうだうだ言っています。
余談ながら、MODO内のコンストレインの考え方はセンターに対して処理を行うというもののようですよ?
コメント ( 0 )|Trackback ( )
  ・