myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

Maya | おちる。ハイパーシェードで落ちる。保存オプションでも落ちる。

うちの従業員にこういう問題がありまして、そのPCを見に行きました。

■ 使用バージョン
Maya 2016 Ext 2 SP 2
Windows 7

■ 現象
ハイパーシェードを開いて、ためしにランバート作成 → クラッシュ!
別名で保存オプションを開く → クラッシュ!
色々やると → クラッシュ!

マヤめ・・・ 


しばらくオートデスクの悪口を言って、怒りが収まってから色々試してみました。

プリファレンスリセット、ドライバー更新、MRay更新、など。
Mayaは相変わらずおちる。

最後に思いついたのはプラグインの確認。

Mayaはバージョンアップするたびにデフォルトで読み込んでいるプラグインが増えて重くなってきた気がするので、自分のPCではプラグインの読み込みはなるべく最低限まで抑えている。

プラグインマネージャーを開くとプラグインのリストが出てきます。
めちゃめちゃ長い。
半分以上は何のためにあるかはさっぱり。

プリファレンスフォルダのバックアップとってから、読み込むプラグインリストをいじりはじめる。

なんとなく知っているやつを残しながら、知らないやつを消していく。
Alembic系とか知ってるけど要らないやつももちろんチェックを外していく。
Mayaを再起動。

わりと立ち上がりが早くなった気がしますが、今はそういう問題ではない。

ハイパーシェードを開いて、ためしにランバート作成  → おちない!
別名で保存オプションを開く → おちない!
Maya が おちない!!!

原因は知らないです。
プラグイン一個ずつ試していく気もないです。
原因が分かる人がいましたら是非教えてください。

そして、似たような問題がありましたら、是非これを試してみてください


Mayaに入っているプラグインについて詳しく知りたい人:
https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-DF9366D9-E24B-4A08-88F1-8EE1B78A52F9-htm.html#mtc-japanese

SI から Maya へ ⑥:便利技

Softimageユーザーの友達にMayaの操作について質問されたので、ちょこっとブログに書いておきます:


■ マニピュレーターを選択せずに操作する方法

Softimage では Transform(スケール、回転、移動)のマニピュレーターを選択せずに操作する方法が3つあります。
Select Tool
Simple Transform
SI | 3D Style

Maya ではこのような操作設定がありませんが、Softimage の Simple Transform に似ている操作方法があります。

物を選択して、SHIFT を押しながら 中クリック で動かしたい軸の向きに動かす(マニピュレーターを選択しないでください)
すると、その軸が選択されるので、今度は中クリックでその軸だけを操作することになりました。

例えば、SHIFT押しながら、中クリックで上にマウスを動かすとY軸に動きます。


■ インクリメント スナップ

SoftimageではSHIFTを押しながら回転すると、15度ずつ回転します。
Mayaでは「Discrete Move」という機能になります。
スケール・回転・移動の中のオプションにあります。

これぐらいは少しMayaを触っていれば分かるものですけどね。
この「Discrete Move」にホットキーがあるということ知らない人が多いです。

そのホットキーは・・・・・ J !!! です。

そうですね、J 押しながら回転するなんて誰も思いつかないから誰も気づかないんです。


■ 裏面選択

Mayaでは「Camera based selection」というオプションがあります。
このモードにすると、シェーダー状態でカメラに見えてるコンポーネントしか選択されません。
※ SIと違って、ワイヤーフレームにしても裏面は選択されません。

このオプションはプリファレンスの中、もしくは選択ツールのオプションの中にあります。
両方は同じオプションです。

いちいち切り替えするのは面倒なので、このコマンドを使えば楽になるかもしれません:

selectPref -useDepth (!`selectPref -q -useDepth`);



もうひとつのオプションは Paint 選択ツール を使うことです。
Camera based selection と関係なくPaintは裏面を選択しません。

ただし、細かく選択する時にPaint選択は不向きかもしれません。
素早くエッジにクリックしても選択されなかったりします。
因みに、LassoはSoftimageのLassoと違って、あまり使えない機能です。
絶対にお勧めしません。


■ コンポーネントのピボット移動

Softimageでは ALT を押すとピボットの位置を変更する事が出来ます。

Mayaでもできます。ショートカットは D です。

そして、Mayaではこのピボット位置をロックが出来ます。
D を 押して、ピボットの上にある円マークを押せばピボットがロックされます。
これで移動ツールから回転ツール切り替えてもピボットの位置はそのまま残ります。

※ 2014以前のMayaではツールの切り替えで移動のピボットがリセットされてしまいますが、
もう一度 D を押すと復活しますw
不思議なところに、回転のピボット位置が残ります。

そして! 向きも変えられます。
Softimageの負けです。

D押しながら下の丸いアイコンを押せばピボットの回転が出来ます。

maya_comp_pivot.jpg


■ インタラクティブ分割ツール

2013 からこのツールが登場して、分別ツールがGUIから消えてしまいました。
この新しいツールはかなり良いアイデアだったと思います。
分別ツールよりスナップ機能がちゃんと動きますし、選択の間にエッジがあった場合はそのエッジにも自動にポイントを足してくれます。

しかし、エッジをちゃんと引いてくれなくてバグりまくります。
2014はもう少しマシになったけどまだバグる。
2015はどうでしょう?まだ使ったことないです。

なので、旧分別ツールも必須です。
なのに・・・ない!

ちゃんとあります、なんでGUIのメニューにはないのか分かりませんけど。

SHIFT+右クリック を押して、左側に Split メニューに入って、
右側の Split Tool は旧バージョンの方です。

split.jpg


ホットキーにしたい場合は:
Edit Mesh / Split Polygon Tool

setToolTo polySplitContext



注意: 
SoftimageのAdd Edgeと違って、Split Polygon Tool のスナップはクソです。スナップしない場合は多いです。
なので、クリックだけではなく、クリックしてスライドする必要があります。
ポイントを足して、そのポイントを角に移動させる操作が必要になるわけです。
Mayaユーザーにとってはこれは当たり前な操作です。

Interactive Split Tool のスナップ機能はちゃんと動くので、手動で三角形化するときとかはこのツールならさくさくいけるの
で、旧バージョンと使い分けた方がいいかも知れません。


■ Incremental Save

MayaにはBackup機能がありませんが、Incremental Saveがあります。
シーンを保存する時に、別フォルダで旧バージョンを残してくれる機能です。
Save Scene の□ でオプションを開いて、 Incremental Save にチェック入れましょう。


■ 新しいスクリプトを読み込む

コマンドラインに: 

rehash


を実行すれば、新しく入れたスクリプトは全て登録されます。
しかし! 既に入っていたスクリプトの更新はしません。

更新したければ 

source スクリプト名

 は使えます。
例: source myscript ( .mel は入れなくてOK )
全て更新してくれ!というコマンドがないと思います(僕は知らないだけかも)。


では、またいつか

Maya | shift+D, ctrl+D ala XSI

Maya が嫌い

と何回も言っていますねw

でもおそらく、この業界ではスタンダードになるツールだろうから我慢して少しずつ慣れて行かないといけませんね。
Mayaしか置いていない出向先で働く事になる可能性もありますし。

なので、久しぶりにMayaを開いて、Suite User Notes の Maya HotKey for Softimage User を参考にして少しずつ嫌いなところをスクリプトとかでなんとか工夫していこうと思っています。

ポリゴンを触り始めると一番先に欲しくなったのはSoftimage の Ctrl+D と Shift+D でした。

ということで、mel で書いてみました。同じではないけど、少しだけSoftimageっぽい早いワークフローが出来ました。

因みに mel は大嫌いです。
MayaのPythonも似たようなもんです。
Pymel と Python API は未経験(これから)。

結構単純なスクリプトですが、これでかなりストレスが減って、Mayaでモデリングするのも少しマシになります。

xsiDuplicate (Ctrl+D)
ポイント選択: 頂点の面取り (Chamfer Vertex)
エッジ選択: ベベル (Bevel)
ポリゴン選択: 押し出し (Extrude)
オブジェクト選択: Mayaのデフォルトの複製 (Duplicate)

xsiDuplicate.mel [ DOWNLOAD ]

xsiSubdivide (Shift+D)
エッジ選択: エッジ ループの挿入ツール (Insert Edge Loop Tool) AutoComplete なしで、エッジループ1本を足す
オブジェクト/ポリゴン選択: 分割の追加 (Add Divisions)

xsiSubdivide.mel [ DOWNLOAD ]

使い方:
ドキュメント¥maya\scripts フォルダに入れる。
あとはホットキーを作る事だけです。

Maya | mAlignPivot 1.1

最近Mayaで作業しているから、またmelを書いてみました。

今回は、4,5ヶ月前に書いた 適当な melスクリプト の更新です。

今回は SI 版 と同じ機能にしました。


mAlign Pivot 1.1

DOWNLOAD

新しい機能

・ 複数選択可能 (前回はコードミスでオブジェクト1つしか対応していなかった)
・ オブジェクト座標対応
・ 最後に選択されたオブジェクトのピボットに合わせる(位置のみです。向きは合わせません)

Maya | mAlignPivot from myara on Vimeo.






mel 解説

前回は `exactWorldBoundingBox $obj` でバウンディングボックスを取得していましたが、これは丸いオブジェクトだと上手く行きませんでした。前回はボックスなどの四角いオブジェクトでしか試していなかった為気づきませんでした。

exactWorldBoundingBox って詐欺みたいな名前じゃないですか。exact じゃないじゃん!
バウンディングボックスしか取得出来ないコマンドのくせに。


色々調べてみたら、Mayaではワールド座標のバウンディングボックスの取得には色んな方法があります。
xform , exactWorldBoundingBox , PolyEvaluate など。


その中で、「PolyEvaluate」には 「-accurateEvaluation」 というアーギュメントがあります。


string $sel[] = `ls -sl`;
string $obj = $sel[0];

float $bBox[] = `polyEvaluate -b -ae $obj`;

print $bBox;


これを使ってみると、丸いオブジェクトでも正確にバウンディングボックスは取得が出来ました。
普通より計算は重いらしいですが、やっぱり正確じゃないと意味ないですね。


次は ローカル座標のバウンディングボックス。これはちょっとトリッキでした。
コマンドを探しても何も出てきません。ネットで検索しても何も見つかりませんでした。
色々試してみたら、なんとか「GetAttr」というコマンドでシェープのバウンディングボックスのアトリビュートは取得できました。


string $sel[] = `ls -sl`;
string $obj = $sel[0];
string $shapes[] = `listRelatives -shapes $obj`;

float $bBox[]= `getAttr ($shapes[0] + ".boundingBoxSize")`;

print $bBox;


↑ shapes[0] を使っているので、transform オブジェクトにシェープは1つしかないという前提です。

シェープから取得すれば良いですね。
そして、バウンディングボックスアトリビュートがありますね。知りませんでした。

少しだけは mel とMayaの構造が前より分かってきた気がします。

Topic:CG Design - Genre:Computer/Internet

Maya | 2010体験版 : アンインストールが出来ません

いつだったのか覚えてないけどMaya2010の体験版をこのPCに入れてみました。
なんで入れたのかも覚えていません。

でもいつも2009はメインでやっているから気づかないうちに体験版ライセンスが切れていて、今日はUnityでmaファイルをインポートしよとしたらライセンス問題が発生してしまいました。

もう2010要らないからアンインストールしよと。

念のためにUnityとMaya2009を閉じて、Maya2010をアンインストールしようとしたら:

1: 5 2: Unable to obtain LicenseType value. RegQueryValueEX returned 3: 2


というエラーが出てしまって、アンインストールが出来ませんでした。

アンインストールが出来ない体験版を作りやがって・・・。

色々調べてみたら解決が出来たので一応このブログにメモっておきます。

http://at-hy.com/articles/2010/how-to-uninstall-maya2010_en.html

この記事を書いてくれた人に感謝です。


1. Registry Editor を開きましょう。
Windows ボタン + R で「ファイル名を指定して実行」
regedit を入力して、「OK」

2. HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Adlm\Autodesk\Maya\2010\AdLM というフォルダを開きましょう

3. ここに「Type」というキーがあるべきなんですが、多分ないですね。なかったら、右クリックして、新しい DWORD 32-bit Value を 選んで、 名前は 「Type」にして、 数値は 「 1 」
「OK」

4. もう一回アンインストーラーを実行してみれば、多分うまくいきます。

Maya 2010 32bit
OS : Windows 7 32bit




101 Autodesk Maya Tips

この問題と関係ないけど、今日はツイッターで手に入れた情報ですが、ArsTechnica にたまに記事を書いている Dave Girard氏が 「101 Autodesk Maya Tips」という電子書籍を出しました。値段はなんと200円ぐらいです。

Amazon.com : 101 Autodesk Maya Tips [Kindle Edition]


内容が短くて、既に知っていたことや俺の作業では使えないことも多かったけど、役に立ちそうな情報もたくさんありました。これは200円ぐらいなら買いでしょう。

英語のみですけど。

これはKindle用になるのですが、PC(Kindle PC か ブラウザーで Kindle Cloud)、スマホン、iPadなどでも読めます。
Next page