myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | mCamera : FOV 変換 : Maya SI 3DCoat ZBrush のカメラを合わせる

昨日の記事 FOV 変換 : Maya SI ZBrush のカメラを合わせる の続きです。

とりあえずSoftimageのGUIを作ってみました:


Softimage : Camera FOV from myara on Vimeo.



DOWNLOAD

Download Script Version

実行方法:
シェルフにボタンを作るか、スクリプトエディターから実行して下さい。
--------------------------------------------

Download Plugin Version

インストール方法:
プラグインフォルダにコピー:
例:

%USERPROFILE%\Autodesk\Softimage_2015\Application\Plugins



もしくはワークグループのプラグインフォルダにコピー

実行方法:
Get > Primitive > Camera > mCamera FOV にクリック
--------------------------------------------

次はMayaかな。
Softimageに慣れているからGUIはすぐ作れたけど、MayaのGUIの作り方は良く分からないな・・・。

SI | Copy & Paste Point Weights

ポイントを選んでコピー(ウェイト情報をとっておく)

複数のポイントを選んでペースト(ウェイト情報を写す)

という単純なスクリプトを書いてみました。

XSIEnvelope (公式サイトがなくなったようですが、rray でダウンロードが出来ます) というプラグインを使っていましたが、デフォーマーの数とポイント数が多いと物凄く遅かった為VBS版を書くことにしました。

結果的に結構速くなりました。

デフォーマー数:215
ポイント数:240

XSIEnvelope の ペースト:
0:04:38.217000

俺のVBS版 ペースト:
0:00:01.074



この差が大きすぎと思ってXSIEnvelopeのコードを見てみました。

どうやらループに問題がありそうでした。
1ポイントにウェイトをペーストして、オブジェクトのエンベロープを更新して、ノーマライズ。
おまけにPrintでログも出しています。

これじゃ遅いですね

全ポイントにウェイトペーストしてから、エンベロープ更新、ノーマライズに変更してみました。
これでエンベロープの情報更新とノーマライズは1回だけで済む。

色々弄って、ノーマライズを1回だけすることにしてみた結果:

デフォーマー数:215
ポイント数:240

XSIEnvelope の ペースト(弄った後):
0:00:01.214


俺のVBS版とほぼ一緒!
自分のコードを書く前に元のコードを見るべきだったな・・・。そうすればちょっと弄るだけで済んだのに。

ちょっと悔しいからサブディビジョンをかけて3440 ポイントにしてもう一回:

デフォーマー数:215
ポイント数:3440

XSIEnvelope の ペースト(弄った後):
0:00:18.2690

俺のVBS版 ペースト:
0:00:02.6914



このような作業(数千ポイントにコピー)がめったにないでしょうけど・・・


勝った!( ̄▽ ̄)



DOWNLOAD

俺のVBS版 :
mCopyPntWeight
mPastePntWeight

XSIEnvelope(コピー&ペーストの部分だけをとって、弄った後)
copyPointWeight
pastePointWeight

SI | mSymm update

昨日は mSymm に複数オブジェクトを対応して欲しいというリクエストを受けて、プラグインを修正してみました。

mSymm2 コマンドは1つのオブジェクトしか対応していないので、GUIだけでmSymm2 を何回も実行する事にしました。
こっちの方が簡単だったからです ^^;

ついでにカットはX軸しか対応していなかったミスを直して、更新しました。

何回もベータ版を出していて、もう2年以上これを使っているからこれで完成版として公開します。
(前回のベータバージョンと大きく変わっていませんけど)

mSymm Download Page


SI | エッジの形を変えずに等距離に整列する(実験)

Alan Fregtman氏の「evenCurves.py」をベースにして、エッジの形を変えずに
等距離に整列する実験スクリプトを書いてみました。

まだ実験的なものなので公開しません。

仕組みは簡単です。
エッジをカーブにして、カーブを均等にして、エッジのポイントの位置をそのカーブに合わせる。

それだけですけど、選択順で上手く行かなかったりします。特にポイント選択です。
ポイントとエッジの番号や選択順で結果が変わるところを直したいけど・・・何も思いつかないです。
誰かヒントを下さい!

パイソンで書いてるから普通より時間が掛かってしまいます><;
何より、エラーが分かりにくいからどこをどう直せば良いか分からない時が多い。

スペースとタブが混じってるだけでエラーが出たりさ。


そろそろ仕事しなきゃいけないんで実験終了。

Evenly Space Edges from myara on Vimeo.

SI | mXray v4

以前書いた XRAY スクリプト はちょっとバグっていて、コードが汚かったけど直す時間がなくてそのまま使っていました。

今日はちゃんと修正して更新しました。リンクは同じです。

DOWNLOAD

機能的にはあまり変わっていません。

コードを整理して、SetGlobalを使って、最後に使ったXRayモードを覚えるようにしました。

あっ、あとは OyaGさんの GViewButton も使ってるんで「label」タグを入れてみました。
(GViewButton はおすすめです!)

変わったところはそれだけかな。

なのになんで バージョンが 4 になってるって?

適当だからです。
Previous page Next page