myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI から Maya へ ⑤:センターとピボット

前回は言い忘れていたことがあるので、まずはもう少し MCP:Transform について話しましょう。

■ Channel Box

Channel Box の数値は全てSIにおけるローカル座標の数値になります。
これを変えることが出来ません(俺は知りません)
なので、グローバル座標の数値で編集する事が出来ません

移動だけなら出来ます。
上のメニューにあるXYZのボックスはグローバル座標です。
xyzmenu.jpg

四角形のボタンにクリックすると「Relative Transform」に変えると
前回お話した「 += 」 と同じ効果になります。(グローバル座標)

因みに、ここは「+=」は使えません。

ま、Mayaにはよくあることです。統一はないです。
(これから変わるのかな?なんとかしようとしているらしいけどね、この使いにくいGUI)


■ MCP : Match Transforms

よく使う機能ですね。

Mayaにはありません。

どうする?
Parent Constraint して、今ストレイン削除かな。(Softimageもこんな感じで動いている気がします。だからバグるんですけど)
それか、ネット上でスクリプトを探すか、自分で書く。

[追記 :2014/12/08]
*-----------------------------------------------
SIリストではSaez氏がこのシンプルなワンライナースクリプトを書いて頂いたので、記事に追加しておきます:

// MEL
// match transform (移動+回転+スケール)
delete `parentConstraint`;
delete `scaleConstraint`;

// match translation (移動)
delete `pointConstraint`;

// match rotation (回転)
delete `orientConstraint`;

// match scale (スケール)
delete `scaleConstraint`;



※ Maya の parentConstraint は Softimageのポーズコンストレインと違って、スケールはコンストレインされません。
-----------------------------------------------*

センター の Match Transform?
これはもちろん、ありません。


で、またセンターの話になってしまったんで、もうセンターの話にするしかないです。


-------------


■ Center & Pivot

これはですね、なんとなく違和感を感じながら使っていたけど、
理解するまでは結構時間がかかりました。

まずは、SIのコンセプトから始めましょう:

■センターって何?
オブジェクトの位置を表すポイントです。
センターを動かすと、そのオブジェクトの位置や角度が変わります。

逆に言うと、センターを動かすのは、オブジェクトを動かしながらコンポーネントを逆方向に動かすということになります。


■ピボットって何?
センターを変えずに、動かしやすいようにマニピュレーターの位置や角度の変更が出来るものです。
なので、ピボットを動かすと、オブジェクトの位置が変わりません。移動のオフセットようなものです。

上記はSIのコンセプトですね。(私は理解しているところでは)


■ SIとMayaの比較

SIではセンターとピボットがありますが、Mayaにはセンターというコンセプトがありません
ピボットしかありません。

だからMayaユーザーにピボットとセンターの話しても、多分話が通じません。

MayaのピボットはSIのセンターと同じようなものですが、
同じではありません。
そして、SIのピボットと同じものでもありません。
全く違うものとして考えたほうがいいかもしれません。


Mayaのピボットは:
移動とスケールに関してはどっちかというと、SIのピボットに似ています。
回転は、全然違うものになっています。SIにはないRotation Axisです。


■ コンストレイン
コンストレインなどを使う時は、センターと同じです(移動の場合)。
コンストレインする時にオブジェクトの位置ではなく、そのオブジェクトのピボットの位置が使われます。
オリエンテーションは回転値になります。

例えば、 
obj A の位置は原点(x 0, y, 0, z 0) で、objのピボットはそのオブジェクトの真ん中(グローバル座標は:x 0, y 5, z 0)
obj B は 位置とピボットは一致しています。

というケースにしてみましょう。

obj B を obj A にポイントコンストレインすると、どうなりますか?

SI の場合は obj B は x 0, y, 0, z 0 になりますね。
Maya の場合は obj B の位置は x 0, y 5, z 0 になります。


SIのピボットは移動しか対応されていませんが、
Mayaのピボットはスケールと回転も対応しています。
SIのピボットは未完成だそうです (AutodeskのBrent McPherson氏より)。
そして、未完成のままで死んでしまいそうですね。


Mayaはピボット3つ持っています。
移動、回転、スケールです。

ビューポート上で操作するとそれぞれの角度は独立に回転してしまいます。
移動は一緒に動きます。

では、そのピボットの操作方法の説明に入りましょう:


■ スケールと移動ピボット

■ スケールと移動ピボットの移動と回転 (ビューポート上)


・ツールモードにする
移動の場合:「Move Tool」(W キー)
スケールの場合:「Scale Tool」(R キー)

・「Insert」ボタンを押す
移動ピボットの移動操作ができます。
青くて丸いアイコンにクリックすれば、回転操作ができます。

「Insert」の代わりに「D」も使えますが、「D」の場合は押している間しか操作が出来ません。
piv1.jpg



では、ビューポート上での操作は実際どこを動かしている?

■ スケールと移動ピボットの移動 (アトリビュート)

ピボットをマウスで移動することで、オブジェクトの中の
Local Space と World Space の Rotate Pivot と Scale Pivot の数値が変わります。

ビューポートじょうで全てのピボットが一緒に動きますが、
このパラメーターを手動でいじると別々に動かすことができます。

移動ピボットがないですね。Rotate と Scale Pivot しかないです。
理由が分かりませんが、移動は回転と一緒に動きます。
確かに コード の方も回転とスケールだけだったような気がします。

piv2.jpg


■ スケールと移動ピボットの回転 (アトリビュート)

この移動ピボットを回転するとどのパラメーターを操作しているか?
なんと、そのオブジェクトの中のパラメーターなどではなく、
Move Tool (移動ツール)の中の 「Custom Axis Orientation」です。

piv3.jpg


はい、移動ピボットはオブジェクトではなく、移動ツールのパラメーターです。
従って、シーン内のオブジェクトの移動の角度(Custom Axis) は全て統一されます。
つまり、カスタム軸は1つしか出来ません

面倒臭い?そうですね、でもまだ終わっていません。

ピボットの回転は他のピボットと連動していないので、スケールと移動の角度が別々に変更しないといけません。


■ 回転ピボット

はっきり言って、こいつの仕様が良く分かりませんが、まずは使い方の説明:

■ 回転ピボットの移動 (ビューポート)

スケールと移動ピボットと同じです。
・回転ツール(Rキー)にしてから
・「Insert」ボタンを押す

回転ピボットの移動操作ができます。

ピボットの移動の場合はスケール、移動、回転、全部一緒に動きますので、移動だけならツールはどっちでもOK。


■ 回転ピボットの回転 (ビューポート)

移動ピボットと全く違う操作になります。
・コンポーネント(バーテックスとか)選択モードにする
・上のメニューの?マークを選択する
・回転のマニピュレーターを選択する
・回転ツールにする(Eキー)

回転ピボットの移動操作ができます。

piv4.gif


■ 回転ピボットの移動 (アトリビュート)

スケールと移動と同じくオブジェクトの中の
Local Space と World Space の Rotate Pivotになります。

■ 回転ピボットの回転 (アトリビュート)

回転ツールに「Custom Axis Orientation」というオプションがありません。

じゃあ、この回転ピボットをどこのパラメーターを操作しているか?
それは、オブジェクトの「Rotate Axis」のところですよ。
Rotate Axis」とオブジェクトの「Rotate」を同時です。

X軸を 30 度 にすると、「Rotate Axis」の X 数値が 30になり、
オブジェクトの回転数値は -30 になります。

両方を を 0 に戻すと、元の角度に戻ります。

piv5.jpg


この「Rotate Axis」はSIにはないコンセプトです。


■ センター

どうしてもSIのセンターが欲しい?

手間がかかりますが、ペアレオントとフリーズトランスフォームの組み合わせで出来ます。
もうお分かりでしょうね。

オブジェクトAのセンター操作:
・ロケーターを作って、好きな角度と位置にします。(ロケータじゃなくても良い)
・オブジェクトAをこのロケーターにペアレントします。
・オブジェクトAに Modify > Freeze Transformations
・オブジェクトAの Local Space (Attribute Editor 内) の Local Rotate Pivot と Local Scale Pivot を 0, 0, 0
にします。
・ペアレントを外して、ロケーターを削除します。



■ mAlignPivot について
http://myara.blog.fc2.com/blog-entry-154.html

このツールを書いた時にこのRotation Axisは良く理解してませんでしたし、
あまり使ったことがありませんでした。

mAlign の仕組みは:
スケール、移動ピボットはピボットの操作になります。

回転はセンターと同じような感じなので、Rotation Axisはノータッチです。

この方が俺の作業には便利ですけど、あなたの場合はどうでしょうか?
これを理解した上で使えば良いですが、不安でしたら使わないでください^^;

そのうちに整理して、Rotation Axis のオプションも追加してみようかな。


※ MayaとはAutodeskのアニメーション作成ソフトのことです。



・・・つづく


--------------------------------------------------

まだMayaを使ったことがない人は、以下のリンクから体験版をダウンロードが出来ます。
Maya 体験版 リンク
Maya 全バージョン ダウンロードリンク (シリアル番号なしでインストールすると体験版になります)


 

Comments

Post a comment


Only the blog author may view the comment.

Trackbacks

Trackbacks URL
http://myara.blog.fc2.com/tb.php/188-f340a053
Use trackback on this entry.