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 全バージョン ダウンロードリンク (シリアル番号なしでインストールすると体験版になります)

Read more

SI から Maya へ ④ : MCP

MayaにはSIのMCPみたいな分かりやすくて素晴らしいパネルがありません。
分かりにくいGUIに慣れるしかありません。


■ MCP:Transform SRT

Transform メニューの代わりは上のメニューにある「Modify」メニューです。

・オブジェクトの移動、回転、スケール
移動、回転、スケールを数値入力で操作するところは「Channel Box」になります。

しかし、これはオブジェクトの場合のみです。コンポーネントの数値は出ません。

・コンポーネントの移動、回転、スケール
コンポーネントの場合は Window > General Editors > Component Editor でしか操作が出来ません。
compeditor.jpg

選択されているコンポーネント、それぞれのグローバル位置と回転情報が出てきます。
かなり使いづらいと思いますけど。

移動だけでしたら、上のメニューにあるXYZのボックスからも操作が出来ますが、現在の位置が表示されません。
xyzmenu.jpg

あとは、Channel Box の中に「CVs (click to show)」というところにクリックすると、
選択されているコンポーネントのローカル位置が出てきます。
cvs.jpg


しかし、こちらはどの座標の情報かは分かりません。
全ては 0,0,0 になっているので、それぞれのポイントのローカル位置には見えます。
ま、あまり役に立ちません。

SIと同じように、現在選択しているコンポーネントのマニピュレーターの位置はGUI上で確認することが出来ません。
(多分、俺は今まで見たことがありません)



■ 移動、回転、スケールのオプション

それぞれのショートカットを押しっぱなし+左クリックすると
そのツールのオプションメニューが出てきます。これは覚えておくと便利です。



■ Neutral Pose

ありません



■ MCP : COG、Local、Global

回転のCOGはデフォルトです。
回転のLocal は Object。
回転のGlobalはありません。ピボットの位置を手動で原点にするしかありません。



■ MCP : Reference Planes, Plane

ありません

どうする?オブジェクトのピボットでなんとかするしかないと思います。
ピボットの話は次回にしましょう。



■ MCP : Proportional、 Symmetry、Child Compensation

Proportional と Symmetry と Child Compensation は 移動 移動/回転/スケールツールのオプションです。

SI の Move Proportional は  「Soft Selection」です。
SI の Child Compensation は 「Preserve Child Transform」です。

前回はシンメトリの話もしましたが、もう一回:
SI の Symmetry は Maya の 移動/回転/スケールツールの中にある 「Reflection」になります。Symmetry Map はありません。

この「Reflection」は選択ツールにもあります。
これはデフォルトのSIにはないオプションです。少ないけどMayaにも良いところがありますね。

この3つのオプションはちゃんと連動しているので、移動のオプションを変えると、回転などのオプションも変わります。



■ MCP : Constraint Compensation

ありません

どうする?

えっと、分かりません。



■ 入力ボックスに算数

SI では簡単な関数を使うことができますね。
SI と同じように 0.1+ とか入力することで全ての数値に 0.1 が足されるとか、そういのはありません。

全て一つずつやってください。


や~ありますよ!!

L とか R がない気がしますが、+ - * / ならあります。

その使い方は:

+=
-=
*=
/=

+=1 は 足す 1
などなど

これ以上複雑な関数はダメです。

SIみたいに (1+2)*(3-1)-R+ のような関数はダメです。
ま、+-*/ で十分使えますね。


一応 Component Editor、 Channel Box と Graph Editor では使えます。
Component Editor の場合は、複数のセルを選択して、一つに +=1 を入力すると、選択されているセル全てに1が足されます。



つづく


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

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

Read more

SI から Maya へ ③ モデリングツール

タイトルは分かりづらいから「 モデリングツール」 とか、その記事のテーマをタイトルに入れて行こうかな。

では、もう少しモデリングツールの話をしましょう。

■ Curvature Continuity

SI 2012 SAP から追加された機能です。これはめちゃめちゃ使っています!
エッジを足す時にカーブになるような角度をつけてくれる機能です。

MTKにはありません

が、Maya 2014 から Insert Edge Loop にはあります。「Adjust Edge Flow」というオプションです。
SIみたいにリアルタイムで効果が見れませんが、エッジをつけてから「Attribute Editor」の中では Insert Edge Loop のパラメーターをいじればリアルタイムの変化が見れます。

因みに、Insert Edge Loop は Attribute Editor に入ると polySplitRing という名前になってしまいます。もう少し似ている名前にして欲しいですね。


curvature.jpg


■ Bevel

SIでは複数のポリゴン(面)を選択してBevelをかけると、選択がグループ(面の塊)として認識され、そのグループの輪郭にベベルがかかります。

Mayaの場合はポリゴン一個ずつにベベルがかかってしまいます。
なので、SIと同じようにしたい場合はエッジだけでベベルを掛けた方が良いでしょう。

因みに、そのポリゴンのアウトラインを選択したい場合はこのMelコマンドで出来ます:

select -r `polyListComponentConversion -ff -te -bo`



因みに、MayaのBevelもSIと同じぐらいUVを壊してくれる。




つづく



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

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

Read more

SI から Maya へ ② モデリングツール

Mayaのイケてないところと、その場合はどうするというのも紹介しないといけないですね。


■ MTKのシンメトリ

ここはなんかよく分からない仕様ですよ。シンメトリにならない場合もあるけど、その原因はまだ分かりません。

基本的に真ん中のエッジを選択して、「Symmetry」を押すとそのエッジを中心にして左右対称になります。

ただし、このエッジの隣のポリゴンに角度が入っていないとダメです。要するに、真上から見る時に真っ直ぐになっているとNG。

このMTKのシンメトリと移動ツールのReflectionはまた別です、繋がっていませんし、仕様が全く違います。


■ ウェイトが付いているメッシュの編集が出来ません

MTKを試してみたことがある方はもう分かってるかと思いますが・・・
スムーズスキン(エンベロープ)などが付いているメッシュはMTKでいじることが出来ません!

スムーズスキンだけではなくても、デフォーマ(ラティス、など)が入っていればMTKが使えません。

当たり前のようにSoftimageでやっていたことはMayaではなかなか出来ませんよ。
ポイント移動すら出来ないので、スムーズスキンとかを削除(フリーズ)してからMTKを使えばいいという事です。

MTKではできませんが、普通の移動ツール(Move Tool)なら出来ます。


■ ウェイトが付いているメッシュのトポロジ編集が不可能

エッジを増やしたり、ポイントを増やしたりすることが出来ません。

まぁ、正確いうと出来ますがウェイトが壊れてしまいます。

じゃあ、どうする?

ウェイトが入っているオブジェクトA を複製して ウェイトが入っていないオブジェクトBができます。

オブジェクトBをいじり終わったらスムーズスキン(エンベロープ)をつけます。

オブジェクトAを選択してから、オブジェクトBを選択して Skin > Edith Smooth Skin > Copy Weights。

最近の Copy Weights がまともに使えるようになったから DoraSkin などのスクリプトはあまり使わなくなりました。ま、あると使える場合もあるかもしれないなのでこのスクリプトをダウンロードしておいたほうが良いと思います。例えば、ウェイトをインポートエクスポートだけの時はDoraSkinの方が頼りになります。

はい、毎回やらなきゃいけないですよ、これは。

クライアントから形状の修正依頼が入ったらこれをやらないといけません。

毎回

OKが出るまで

そして、元のウェイトをそのままキープしているわけではなく、ウェイトをコピーしているから微妙にずれることもあります。
これはどういうことかというと、「小数点なし」とかいうゲーム仕様があった場合は、もう一度小数点を綺麗にしないといけません。

Softimageみたいに、そのままトポロジを変えてもウェイトが壊れないで、自動に新しいポイントにウェイトが入ることはありません。そして、これからもないと思われます。


■ コンストラクションモード、モデルスタック

ありません。

それってどいういうことかというと:

・デフォーマやオペレーターの順番を変えることが不可能。
どうする?デフォーマを削除して付け直すしかないです。

・ポーズが付いているメッシュをSecondary Modeling Shape モードでワールド座標でいじる事ももちろん不可能。
どうする?どうしようもないです。

・ヒストリの一部だけをフリーズしたり、スムーズスキン以外のデフォーマをフリーズする事が不可能。
どうする?スムーズスキンの場合は全部フリーズして、コピーウェイトやDoraSkinなどを使ってスキンをやり直す。


■ Freeze Modeling

ありません。

Edit メニュー内に「Delete Non Deform History」という機能がありますが、これはでフォーマ以外をフリーズするという機能です。

なので、スムーズスキンが入っているモデルにラティスでいじりたい時はでフォーマが2つができてしまう為、このラティスだけフリーズする事が出来ません。
どうする? もうお分かりでしょう。ウェイトをやり直し!(コピーウェイトやDoraSkinなどを使うと便利)


■ リファレンスプレーン

これもありません。ん~これはセンターとピボットの話にもつながるので、また今度にします。


つづく



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

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

Read more

SI から Maya へ ① MTK

こういうタイトルにしてしまったが、自分はまだSIをメインとして使い続ける予定です。

自分は数年前からMayaを同時に使っていますがどうも好きにはなれません。
正直、Mayaにしなくても良いのであればあまりおすすめが出来ないソフトです。
Maxよりマシですけど。

しかし、3Dプラットフォームとして、なんでも出来るソフトとして考えると、Maya以外の選択肢があまりないですね。Modoに期待していますが、現在はまだまだという感じです。モデリングとレンダリングのみでしたらMayaより良いでしょう。

それでもMayaを使わざるを得ないあなたに、
MayaでSIツール相当する機能、そして、SIとMayaのワークフローの比較をいくつか紹介します。

私の少ないMaya知識をシェアして、少しでもSIユーザーに役に立てばと思います。

※ 自分は英語版しか使わないので、英語版の説明になります。

Mayaも使っているとは言ってもほとんどモデリングのみなので、モデリング機能はメインです。
エフェクト、レンダリングなどの質問んされても多分答えられません。

Autodesk は今までMayaを3DのOSのような感じで開発し続けてきて、
主に大手のリクエストのみ対応して来ました。
※ 俺じゃなくて、Autodeskの代表者が何人この様な発言していました。

アーティストが使うソフトというより、Mayaをベースにして社内ツールを作って社内のパイプラインを作っていくというコンセプトでしたね。

だから使いにくいですよ!
R&D部がある会社はそこまで苦労がなかったかもしれません(なかったかな?)

しかし、最近は普通の小さいユーザーに向けて、少しずつ使いやすくしてきているようです。
要するに、OOTB (Out of the box) でも使えるソフトにしていく予定だそうです。

この新しい方向性の一番目立つ機能はModeling Toolkitです。

Autodesk は 2012年にdRasterのNEX ( Mayaのモデリングプラグイン)を買収して、
Maya 2014 からこのNEXの進化バージョンがModeling Toolkit (以降 MTK)という名前で登場しています。
これはですね、かなり便利なツールなので、是非使ってみてください。
※ かなり便利とは言っても、やっと少しだけSIに近づいてきたというところですけど

■ Move Tool
SI の Move ツール(M キー)は Maya の MTK の Tweak モード になります。

オブジェクトをせんたくして、MTKの上にあるMulti-Componentオプションにします。
W を押して、移動モードに切り替えます。
Tweak/Markee オプションにチェックします。
SI の Mツールになります。

これはスクリプト化して、Mキーにアサインするのもいいかもしれません。
Mツールみたいなホットキーが出来そうですね。そのうち書いてみます。

※ 2014以前のMayaでは一番近い機能は
コンポーネントをMultiにして、TranslateツールのTweak modeオプションにチェックを付けます。
少しやりづらいけど一応出来ます。

※ 2010以前のMayaにはありません。


MayaMTool.gif 


■ Slide Components
SI の Move ツール(M キー)にマグネットを付けた機能です。

これもMTKのオプションでは出来ます。
「Move Tool」 と同じ設定にしてから、「Transform Constraints」のところに
Off からEdge、または Surfaceにする。SI と違ってこの2種類があります。

※ 2014以前のMayaでは一番近い機能は
Slide Edge Tool (Edit Mesh内)という機能がありますが、少し使い辛いです。
ポイントとポリゴンは非対応で、エッジのみのツールです。


■ Move Edge Loop
SI の Move ツールで Alt + 中クリック-ドラッグ でエッジループの移動が出来ます。
これ+マグネットオプションをつけるとかなり便利なエッジループ調整機能になります。
意外と知らない人が多いです。使ったことないあなたは今すぐ!使ってみてください!

Mayaにはこの様なショートカットがありません。
エッジループをダブルクリックで選択して移動という感じになります。


■ Weld Points
SI の Move ツール(M キー)に Weld Points オプション(・ ボタン)
MTK の Target Weld 機能になります。

※ 2014以前のMayaでは一番近い機能は
Merge Vertex Tool (Edit Mesh内)になります。


■ Subdivide Polygon / Edges
・ポリゴンの場合
「Add Divisions」(Edit Mesh内)

・エッジの場合
MTKの「Connect」
エッジを選択して、「Connect」を押すと大体 SI の Subdivide Edges と同じ効果になります
「Connect」を押してからエッジを選択していくやり方も出来ます。

※ 2014以前のMayaでは一番近い機能は
「Insert Edge Loop Tool」 (Edit Mesh内)
デフォルトでは「Auto Complete」が付いているので、ループを追加することになってしまいますが、
オプションを開いて「Auto Complete」のチェックを外せば選択されているエッジだけが分割されます。

※ 注意
MTKの「Connect」を使うと、使った後にエッジの数の調節が出来ません。
後でヒストリを使ってエッジの数を修正したいかも、という場合は昔ながらの「Insert Edge Loop Tool」を使って下さい。



■ Raycast 選択
ま、MTKは触っていればもう気づいているだろうけど、レイキャスト選択が出来るようになりましたよ、Maya。
そして、SIと同じように、ワイヤーフレーム表示にすると裏面も選択ができます。
Raycast Rectangle のようなツールはありませんけど、ま~これぐらいはなんとか我慢できます。




つづく



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

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

Read more
Next page