« 2017年9月 | トップページ | 2017年11月 »

2017年10月

2017年10月12日 (木)

ヂョイントの Xray をオンオフしたかっただけなんだ俺。

.



fuckinToggleXrayJoint.mel
-------------------------------------------------------

string $panel = `getPanel -wf`;

modelEditor -e -jointXray ( !`modelEditor -q -jointXray $panel` ) $panel;

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

アクティブなビューの、ヂョイントの Xray 表示をオンオフするスクリプト。 

これ書くだけですげえ疲れた。 っていうか書いてすらいない。ほとんどコピペです。ネットからのパクり。








今に始まったことじゃないけど、Maya さまでは、ちょこっとしたスクリプト書くのがすんごくつらいですね。


ジョイントの Xray 表示のオンオフをホットキーに割り当てたかったのですが、ホットキーエディタにそれらしきコマンドが見当たらず、やむを得ず自前でスクリプトを書いてそれをランタイムコマンドにしホットキーを割り当てる、っていういつものやつをやろうとしたんです。




そしたらドツボにはまって、やたら時間かかっちゃった。




ログをサッとコピペしてはい終了、みたいな XSI 風のスクリプトの書き方は、できないんですかね Maya さまは。  

操作しても何もログされなかったり、 Echo All Commands をオンにすると、なんかこう、UI のパネルの名前とかズラズラ出てきて、やたら長く、なんというか、直球コマンドではない。 そして何より、コピペしても動かない orz 



だって、ジョイントの Xray 切り替える操作のログが、これですよ↓

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

modelPanelBarXRayCallback("XRayJointsBtn", "MainPane|viewPanes|modelPanel4|modelPanel4|modelPanel4", "MainPane|viewPanes|modelPanel4|modelPanel4|modelEditorIconBar"); restoreLastPanelWithFocus();

updateModelPanelBar MainPane|viewPanes|modelPanel4|modelPanel4|modelPanel4;

dR_setModelEditorTypes;

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


わ~~ 

長いね! 
複雑だね!




長くても、複雑でも、そのままコピペでとりあえず動いてくれるならいいんだけどね、

動かないんだよね(^∀^)ゲラゲラ 

今やった操作のログを、そのまま実行しても、動かないログ(^∀^)ゲラゲラ 

士んで下ちい Maya さま。



動かないっていうか、エラーは出ないけど、変化は無いんだよね。 UI から操作した、その操作の記録というだけで、Maya 様にどういうコマンドを送ったかというログではないのですかね?




結局 whatIs コマンドとかでコマンドなのかプロシージャなのかとか調べたり、プロシージャが記述されている mel ファイルに深く潜って中身を調べたりとか、やってらんねえっス。  whatIs とかもう、なんなんですか。 Hey, what is whatIs?    I said what the fuck is whatIs,  Maya さま??


Maya さまの国のお方はこれが普通なのでしょうが、俺のようにあの村で育った人間はもう、それはそれはもうだらしない人間でしてね、ほとんどの操作は明確にログされ、そのほとんどがネイティブコマンドなので直接ドキュメント参照できるし、あっちのファイルやこっちのファイルに記述されたプロシージャをぐるぐるぐるぐる巡る必要なんてないし、ほとんどそのままコピペでとりあえず動いちゃうもんだから、すっかり堕落してしまったのです。




結局、こんなちょっとしたことで大調査になってしまい、やってられるかとモニタを窓から射出し、ドキュメントや mel ファイルを読むのをあきらめ、ネットで安易に検索したら安易に見つかって、ほんの一部だけ書き換えたのが冒頭のスクリプトです。






俺の調査の苦労は意味なし。
今度からすぐネット検索することにしよう。







.

| | コメント (1) | トラックバック (0)

カーブから面。

.






XSI でいうと、Curve to Mesh だったっけ。

閉じたカーブが2つあって、その2本のカーブからを作るというもの。



大小の四角形のカーブを重ねて配置し、実行すると、外側の四角形カーブが面になり、内側の四角形カーブは穴になる。 つまり中央に穴の開いた面が生成される。 みたいなの。



これを Maya でやりたかったんだけど、調べてみたらすぐ出てきて、一応ちゃんと想定通りの結果になっている気がするので、将来の自分のためにメモしておきます。

http://help.autodesk.com/view/MAYAUL/2017/ENU//?guid=GUID-4C960C4A-C636-45ED-9E63-874E5AEDD074



そのまんまですね。 

カーブを複数選択、Modeling > Surface > Planar を実行。 以上。 


ヒストリを消さなければ元のカーブとのコネクションを持ち続ける。 つまりカーブの形に変更があれば結果の面にも反映される。 生成される面の種類は、ナーブスかポリゴンか選択可能。




カメラに余白フレームやらセーフフレームやらを表すカーブが関連付けられていて、レンズの焦点距離(画角)をいじっても常に正しくアップデートされるようなリグが組まれていた場合に、画角いっぱいのカーブと内側のカーブとで面を生成して、ほとんど不透明の黒いマテリアルでも与えてやって、レゾリューションゲートあるいはフィルムゲートのように内側のフレームより外を見えなくする という用途を想定していました。 うん、これでいいんじゃねえの。







そういや昔 XSI でもそういうカメラプラグイン作りました。 余白なカメラ というやつで、実は今でも便利に使っています。 2D画ブレなどのためにフレーム外に余白が欲しい時に、それをやりやすくするというものでした。

Maya は Camera Scale というアトリビュートが最初からありますね。これを 1.5 とかにしておけば、現在のフレームの画角の外側に 1.5 倍広くした絵を付け足す形でレンダしてくれますよね。 これ便利ですね。 

でも、余白をピクセルで指定できる機能が欲しいなあ。  大抵の画像のアスペクトは横長なので、%で余白を付けると余白の大きさがタテヨコで違ってきますよね。 ヨコの方が余白が大きくなる。 しかし、画ブレはヨコの方が常に大きいなんてことはもちろん無いわけです。 

だから%じゃなくてピクセルで余白を指定できるといいと俺は思っていて、XSI の自作プラグインではそういう風にしていました。 大抵、タテもヨコも200ピクセルずつ足すとかそういう風に使っていたな。 

こうなると、元の画像のアスペクトが16:9でも、余白を足した後のアスペクトは16:9ではなくなるので、多くの人はこれを嫌っているのではないかとか思う。 俺はそんなに不便だとは思わなかったんだよあ。



まあいいや。

話が大いにそれましたが、カーブ2発から面を1発作る話ですた。





.

| | コメント (0) | トラックバック (0)

« 2017年9月 | トップページ | 2017年11月 »