tag:blogger.com,1999:blog-64643516148583382072024-03-13T11:28:18.196+09:00MayaのMELで何か作るMayaのMELをいろいろ作ってみてます。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.comBlogger119125tag:blogger.com,1999:blog-6464351614858338207.post-86249951941933782052016-12-11T20:38:00.001+09:002016-12-11T20:38:10.657+09:00s_MayaScripts更新s_MayaScripts更新<br />
<br />
バグ対応の更新<br />
<br />
リグのエイムリグの改良とそのリグでモーションコピーする機能を追加<br />
<br />
新機能も追加しましたがベータということで<br />
<br />サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-74132871688846296092016-09-17T11:07:00.001+09:002016-09-24T22:20:17.140+09:00s_MayaScripts更新s_MayaScripts更新<br />
<br />
RIgSetUp更新<br />
シーン内に2体分のセットアップがしにくかったので修正。<br />
<br />
AnimationWorkTool<br />
SmoothCurveを追加<br />
選択したモーションカーブの最初と最後のキーの値に近づけるように中間キーをスムーズにする<br />
そんなに使っていないのでバグがあるかもです。<br />
<br />
PoseCopyPaste更新<br />
ビジビリティのチェック関係なく保存していたのを修正 <br />
<br />
SaveLocatorPos追加<br />
選択したノード以下のロケータの位置回転スケール情報をテキストに出力する<br />
<br />
ModelCheck更新<br />
ロケータでバインドしていないエラーがで出ていたのを修正サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-81110949988301764712016-08-23T00:17:00.001+09:002016-08-23T00:27:13.435+09:00s_MayaScripts更新だいぶ書いていませんでいたが生きてるよ<br />
<br />
s_MayaScripts更新です。<br />
<br />
主にリグです。 <br />
とりあえず簡単にリグの説明を追加しました。HELPで見れます。<br />
あとモジュールのセットアップを分かりやすくしてみました。<br />
たいしたリグじゃないですが、モジュールのマクロが便利です。<br />
モジュール実行順を記入してオートセットアップすると一気にリグが入ります。<br />
人以外にもいろんなキャラクターにリグを仕込めます。<br />
IK、FK、スプラインIK、エイム、マルチコンストレイン、など分かりやすい機能しか入っていません。<br />
追加したのはブレンドシェイプじゃなくてオブジェクトの排他的表示切替、<br />
テクスチャーをパカパカ切り替えたいときのUV移動パターン切り替えです。<br />
切り替えスイッチをUIのスライダーに変更。 <br />
メタノードネットワークを追加。。<br />
メタノードネットワーク機能を使っていない感じもしますが、いつか役に立つでしょう。<br />
あと一部のモジュールにメタノードがまだ入っていません。<br />
リグ機能的には影響はないので追々。 <br />
<br />
他にも追加をいろいろしていますが、マニュアルが必要ですね。<br />
あとバグチェックを完全にできていない気がします。<br />
何か発見したらご連絡ください。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-44589674055818910872016-03-06T21:15:00.002+09:002016-03-06T21:26:45.136+09:00s_MayaScripts更新久しぶりに更新<br />
<div>
色々修正しました。</div>
<div>
主にアニメーション関係の更新と追加</div>
<div>
<br /></div>
<div>
TRS_CopyPaste</div>
<div>
SRTをTRSに変えました。なんとなく。</div>
<div>
内容は、はじめに選択したノードのTRSを次に選択したノードにコピーします。</div>
<div>
オフセットを押して実行するとノードの関係を維持したままコピーします。</div>
<div>
頭に手を当てたままにするモーションを作るときに便利です。</div>
<div>
コンストレインでも出来ますがリグが複雑になるのも、あんまり嬉しくないので作りました。</div>
<div>
<br /></div>
<div>
clipExporterImporter</div>
<div>
クリップの複数保存とインポートツール</div>
<div>
バグ修正しました。<br />
<br />
その他いろいろ更新しました。</div>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-122001759793914332016-01-04T01:58:00.001+09:002016-01-04T01:58:56.215+09:00今年もよろしく去年から初めたブログ7月ごろから一気に投稿が減りましたが<br />
今年もMELは作っていくと思います。<br />
今年もよろしくお願いします。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-76200983714591144012015-11-23T22:54:00.003+09:002015-11-23T22:55:53.136+09:00s_MayaScripts更新更新や追加がたくさんあったので久しぶりにアップ。<br />
リグセットアップとモーションコピーが設定が少しやりやすくなりました。<br />
クリップのエクスポートインポートも少し改善<br />
テクスチャーのカラーとアルファ。UVスクロールアニメーションをロケータの情報に変換するFBXAnimationConvertの更新<br />
など他にも追加更新したツールがあったと思います。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-74649575902307290322015-10-19T00:46:00.000+09:002015-10-19T00:46:21.386+09:00いろいろ更新があったが追加更新がたくさんあってアップできていない。<br />
複数のクリップをエクスポートインポートするMELとか<br />
モデルチェックするツールをカスタマイズが出来るようにしてみたり<br />
リグのセットアップマクロをUI化、モーションコピーマクロのUI化など<br />
進めてはいるけれど公開できるまで出来ていない。<br />
まだまだデバッグや機能追加中。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-43520607221343313032015-08-31T03:46:00.000+09:002015-08-31T03:46:08.365+09:00モデルチェックシーンの情報を全てチェックするのは時間もかかるし見落としも発生する<br />
一度チェックするMELは作ったが、プロジェクトに特化したもので<br />
今のプロジェクトではエラーがでたりMELが動かなかったりする。<br />
カスタマイズできるチェックMELを作成中<br />
テキストにルールを書く感じです。<br />
UIでルールを書けるようにしてテキストに保存まで出来ればもっと楽。<br />
とりあえずコアを作るサッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-52364962227846347242015-08-24T00:30:00.002+09:002015-08-24T00:30:43.663+09:00いろいろ勉強中今のだとフリップしてしまう。<br />
それに末端のひねり以外の回転がついてこないので、あまり良くない。<br />
ツイストの設定もよく分かっていない。<br />
オブジェクトでアップを決めるほうがいろんなキャラクタに対応できそうなんで<br />
そうしようと思ってるが、うまく言ってない。<br />
シーンデータをチェックするMELを考え中サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-60563005502516024822015-08-08T04:39:00.002+09:002015-08-08T04:39:35.965+09:00ゆれ物RIG難しいなんとなくヘアでゆれ物リグが出来つつあるが、外国の技術を見ているとまったく組み方が分からない動画が上がっている。IKFKの切り替えにしてもまだまだ古いやり方しかわからない。<br />
FKIKのスナップもまだ組み込んでいない。<br />
少しずつ作っていく。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-3488427141824240722015-07-29T22:48:00.000+09:002015-07-29T22:48:03.986+09:00リグ関係の研究中またリグを見直しています。まだスプラインIKがイマイチなので探索中。<br />
脊髄も現在FKでやっているので何かいい手法をネットで探し中。<br />
スケールを変えると崩れていたので今日なんとか修正できたと思う。<br />
カートゥーン的な伸縮も追加していきたい。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-70736993283023827022015-07-06T02:46:00.001+09:002015-07-06T02:46:23.539+09:00s_MayaScripts更新少しだけ動作チェックしたので更新しました。<br />
maya2016でも動いているようですが、リグで何かエラーが出ているので後日直します。<br />
バグなど、なにかあれば気軽にコメントください。<br />
<br />サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-55908109956364198452015-07-04T22:53:00.001+09:002015-07-04T22:53:09.633+09:00テクスチャーリロード更新とりあえず単品であっぷします。<br />
前回はPSD専用でしたが、fileノードのテクスチャーも更新します。<br />
マテリアルが32こ以上あればプログレスバーを表示します。<br />
後にZIPに含めます。<br />
<br />
global proc yjp_UpdateTexturesReload()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $UpdateTexturesReloadTime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $fElapsed = `timerX -startTime $UpdateTexturesReloadTime`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $time = `intSliderGrp -q -value yjp_TexturesReloadtime`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($fElapsed > $time)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $tex[] = `ls -tex`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $fileSize = size($tex);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($fileSize == 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("No texture"+ "\n") ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>deleteUI yjp_UpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $amount = 0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($fileSize > 32)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>progressWindow<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-t "Reloading Textures..."<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-pr $amount<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-st "Reloading: ..."<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-ii 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for($each in $tex)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $type = `nodeType $each`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($type == "file")<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $imagepath = `getAttr ($each + ".fileTextureName")`;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`size($imagepath)` > 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setAttr ($each + ".fileTextureName") -typ "string" $imagepath;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`progressWindow -q -ic`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($fileSize > 32)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$amount += 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>progressWindow -edit -max $fileSize -pr $amount -st ("Reloading Textures: " + $each);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`exists psdUpdateTextures`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>psdUpdateTextures;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($fileSize > 32)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>progressWindow -ep;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("Texture reload"+ "\n") ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$UpdateTexturesReloadTime = `timerX`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ;<br />
}<br />
<br />
global proc yjp_UpdateTexturesAuto()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`window -q -ex yjp_UpdateTexturesReloadwindow`) deleteUI yjp_UpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>window -s 1 -t "UpdateTexturesAuto 1.0" -rtf true yjp_UpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $UpdateTexturesReloadTime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$UpdateTexturesReloadTime = `timerX`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>columnLayout -adjustableColumn true;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>rowColumnLayout -w 300 -nc 2 -cw 1 240 -cw 2 50 ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>intSliderGrp -label "sec" -field true<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-cw3 40 40 210<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-min 2 -max 30<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-value 1<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-step 1 yjp_TexturesReloadtime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 40 -l "close" -c ("deleteUI yjp_UpdateTexturesReloadwindow ");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent ..;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>window -e -wh 300 30 yjp_UpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>showWindow yjp_UpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>scriptJob -parent yjp_UpdateTexturesReloadwindow -event idle yjp_UpdateTexturesReload;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>scriptJob -parent yjp_UpdateTexturesReloadwindow -event SelectionChanged ("deleteUI yjp_UpdateTexturesReloadwindow");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>reloadTextures;<br />
}<br />
<div>
<br /></div>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-10253370566125680532015-05-24T12:08:00.006+09:002015-05-24T12:08:57.051+09:00psdテクスチャーのオートリロードMaya2013でテクスチャーオートリロードがないので作りました。<br />
といってもスクリプトジョブで頻繁にリロードを実行しているのでちょっと重いかもしれないです。<br />
リロード間隔は1秒から60秒をスライダーで調整します。<br />
デフォルト10秒です。<br />
ツールを起動したままフォトショップで保存、更新するとMayaがバックグラウンドでもリロードしてました。<br />
<br />
global proc yjp_psdUpdateTexturesReload()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $psdUpdateTexturesReloadTime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $fElapsed = `timerX -startTime $psdUpdateTexturesReloadTime`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $time = `intSliderGrp -q -value yjp_TexturesReloadtime`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($fElapsed > $time)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>psdUpdateTextures;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$psdUpdateTexturesReloadTime = `timerX`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ;<br />
}<br />
<br />
global proc yjp_psdUpdateTexturesAuto()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`window -q -ex yjp_psdUpdateTexturesReloadwindow`) deleteUI yjp_psdUpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>window -s 1 -t "psdUpdateTexturesAuto 1" -rtf true yjp_psdUpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $psdUpdateTexturesReloadTime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$psdUpdateTexturesReloadTime = `timerX`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>columnLayout -adjustableColumn true;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>rowColumnLayout -w 300 -nc 2 -cw 1 240 -cw 2 50 ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>intSliderGrp -label "sec" -field true<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-cw3 40 40 210<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-min 2 -max 60<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-value 10<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-step 1 yjp_TexturesReloadtime;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 40 -l "close" -c ("deleteUI yjp_psdUpdateTexturesReloadwindow ");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent ..;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>window -e -wh 300 30 yjp_psdUpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>showWindow yjp_psdUpdateTexturesReloadwindow;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>scriptJob -parent yjp_psdUpdateTexturesReloadwindow -event idle yjp_psdUpdateTexturesReload;<br />
}サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-67019135616882545292015-05-07T02:31:00.000+09:002015-05-07T02:31:21.082+09:00頂点とUVのシンメトリMEL UVはバグってます<br />
頂点とUVのシンメトリMELを合体させてみた<br />UVは頂点座標から対称を探しているはずがバグってます<div>
複数選択に対応はしたのですが何故か実行するたびに元に戻ってしまう。</div>
<div>
対称の頂点取得がどこかでバグっています</div>
<div>
左右どちらかの頂点、フェース、エッジ、UVで選択している情報を</div>
<div>
頂点に変換して対称頂点を探して更にUVを動かしています。</div>
<div>
今後修正します。</div>
<div>
<br /><blockquote class="tr_bq">
<blockquote class="tr_bq">
//yjp_pMatchSwapArrayを使用</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
global proc yjp_doVertexUVSymmetryMove(int $dir)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $vetx[] = `ls -sl -fl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(size($vetx) < 1 )return;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $t = `currentTime -q` ;</blockquote>
<blockquote class="tr_bq">
</blockquote>
<blockquote class="tr_bq">
int $nom = `checkBox -q -v wsNormalMatcheCheck`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
int $wsbf = `intFieldGrp -q -value1 wsBindFrameField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>currentTime $wsbf ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToVertices;hilite;<span class="Apple-tab-span" style="white-space: pre;"> </span>selectType -ocm -alc false;selectType -ocm -polymeshVertex true;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>PolySelectConvert 3;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$vetx = `ls -sl -fl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $node[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>tokenize $vetx[0] "." $node;</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//選択した頂点のオブジェクト</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $sourcobj = $node[0];</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//参照オブジェクト</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $Allvtx[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$obj = `textFieldGrp -q -tx yjp_wsAnothermeshField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`objExists $obj`)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Allvtx = `ls -fl ($obj + ".vtx[*]")`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Allvtx = `ls -fl ($sourcobj + ".vtx[*]")`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//中心を指定</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $center[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$center[0] = `floatFieldGrp -q -value1 yjp_VUW_CenterField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$center[1] = `floatFieldGrp -q -value2 yjp_VUW_CenterField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$center[2] = `floatFieldGrp -q -value3 yjp_VUW_CenterField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$uv_center[0] = `floatFieldGrp -q -value1 uvCenterField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$uv_center[1] = `floatFieldGrp -q -value2 uvCenterField`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//選択した頂点の位置を中心からどちらか調べる</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $Vertex[] = `pointPosition $vetx[0]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $d[] = {1,1,1};</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $ax;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $dirax;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>switch ($dir)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 0:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 1:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($Vertex[0] > $center[0])$d[0] = -1;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ax = 0;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dirax = 1;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 2:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 3:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($Vertex[1] > $center[1])$d[1] = -1;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ax = 1;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dirax = 2;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 4:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>case 5:</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($Vertex[2] > $center[2])$d[2] = -1;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ax = 2;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dirax = 3;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $VertexValueA[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $VertexValueB[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $Swapvtx[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//対称の頂点のみのグループにする</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($n=0;$n<size($Allvtx);$n++)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `pointPosition $Allvtx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[$ax]*$d[$ax] > $center[$ax])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Swapvtx[size($Swapvtx)] = $Allvtx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ($VertexValueA[$ax] + " " + $Allvtx[$n] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(size($Swapvtx)==0)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("対称の頂点がありません" +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Swapvtx = `yjp_pMatchSwapArray $Swapvtx $vetx $dirax 0 $nom`;</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $newx,$newy,$newz;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $newU,$newV;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $targetVertex;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $VertexPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $VertexMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $movevtx[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($dir < 6)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("vtx " +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($n=0;$n<size($vetx);$n++)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("vetx "+$vetx[$n] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("Swapvtx " +$Swapvtx[$n] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($Swapvtx[$n] == "none")</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `pointPosition $vetx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `pointPosition $Swapvtx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexPlus = $vetx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexMinus = $Swapvtx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 0 || $dir == 1)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[0] < $VertexValueB[0])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexPlus = $Swapvtx[$n]; $VertexMinus = $vetx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `pointPosition $Swapvtx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `pointPosition $vetx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 0)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $center[0] - ($VertexValueA[0] - $center[0]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $VertexValueA[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $VertexValueA[2];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $center[0] - ($VertexValueB[0] - $center[0]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $VertexValueB[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $VertexValueB[2];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if ($dir == 2 || $dir == 3)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[1] < $VertexValueB[1])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexPlus = $Swapvtx[$n]; $VertexMinus = $vetx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `pointPosition $Swapvtx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `pointPosition $vetx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 2)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $VertexValueA[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $center[1] - ($VertexValueA[1] - $center[1]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $VertexValueA[2];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $VertexValueB[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $center[1] - ($VertexValueB[1] - $center[1]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $VertexValueB[2];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if ($dir == 4 || $dir == 5)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[2] < $VertexValueB[2])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexPlus = $Swapvtx[$n]; $VertexMinus = $vetx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `pointPosition $vetx[1]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `pointPosition $vetx[$n]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 4)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $VertexValueA[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $VertexValueA[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $center[2] - ($VertexValueA[2] - $center[2]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newx = $VertexValueB[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newy = $VertexValueB[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newz = $center[2] - ($VertexValueB[2] - $center[2]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $VertexPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>move -ws $newx $newy $newz $targetVertex;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$movevtx[size($movevtx)] = $targetVertex;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $movevtx;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(5<$dir)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("uv " +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $ConvSel[],$UVPlus,$UVMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($n=0;$n<size($vetx);$n++)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("vetx "+$vetx[$n] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("Swapvtx " +$Swapvtx[$n] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($Swapvtx[$n] == "none")</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $vetx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToUVs;hilite; selectType -ocm -alc false;selectType -ocm -polymeshUV true;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>PolySelectConvert 4;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ConvSel = `ls -sl -fl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$UVMinus = $ConvSel[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("UVMinus "+ $UVMinus +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `polyEditUV -q $UVMinus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("utyf "+ $VertexValueA[0] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -cl ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $Swapvtx[$n];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToUVs;hilite; selectType -ocm -alc false;selectType -ocm -polymeshUV true;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>PolySelectConvert 4;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ConvSel = `ls -sl -fl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$UVPlus = $ConvSel[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("UVPlus "+ $UVPlus +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `polyEditUV -q $UVPlus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("sgd "+ $VertexValueB[0] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -cl ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 6 || $dir == 7)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[0] < $VertexValueB[0])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `polyEditUV -q $UVPlus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `polyEditUV -q $UVMinus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>////print ("tkxk "+$VertexValueA[0] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("zkt "+$VertexValueB[0] +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 6)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newU = $uv_center[0] - ($VertexValueA[0] - $uv_center[0]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newV = $VertexValueA[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $UVMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if ($dir == 7)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newU = $uv_center[0] - ($VertexValueB[0] - $uv_center[0]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newV = $VertexValueB[1];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $UVPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 8 || $dir == 9)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($VertexValueA[1] < $VertexValueB[1])</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueA = `polyEditUV -q $UVMinus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$VertexValueB = `polyEditUV -q $UVPlus`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($dir == 8)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newU = $VertexValueA[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newV = $uv_center[1] - ($VertexValueA[1] - $uv_center[1]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $UVMinus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if ($dir == 9)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newU = $VertexValueB[0];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$newV = $uv_center[1] - ($VertexValueB[1] - $uv_center[1]);</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$targetVertex = $UVPlus;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$movevtx[size($movevtx)] = $targetVertex;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("kotae " + $newU+" "+$newV +" "+ $targetVertex +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>polyEditUV -r 0 -u $newU -v $newV $targetVertex;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $movevtx;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToUVs;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>currentTime $t ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
global proc yjp_VUW_SymmetryObjGet(int $input)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
if($input == 1)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
string $sel[] = `ls -sl`;</blockquote>
<blockquote class="tr_bq">
if(size($sel)==1)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
textFieldGrp -e -tx $sel[0] yjp_wsAnothermeshField;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
else if($input == 0)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
textFieldGrp -e -tx "" yjp_wsAnothermeshField;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
global proc yjp_VUW_SymmetryCenter()</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
string $sel_point[] = `ls -sl`;</blockquote>
<blockquote class="tr_bq">
if(`size$sel_point` == 0){return ;}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $vc[],$uvValue[];</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`gmatch $sel_point[0] "*.vtx*"`)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("A" +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$vc = `xform -q -a -ws -t $sel_point[0]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToUVs;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$sel_point =`ls -sl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$uvValue = `polyEditUV -q $sel_point[0]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`gmatch $sel_point[0] "*.map*"`)</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>{</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("B" +"\n");</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$uvValue = `polyEditUV -q $sel_point[0]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>ConvertSelectionToVertices;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$sel_point =`ls -sl`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>$vc = `xform -q -a -ws -t $sel_point[0]`;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
floatFieldGrp -e -value1 $vc[0] -value2 $vc[1] -value3 $vc[2] yjp_VUW_CenterField;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>floatFieldGrp -e -value1 $uvValue[0] uvCenterField;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>floatFieldGrp -e -value2 $uvValue[1] uvCenterField;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
<br /></blockquote>
<blockquote class="tr_bq">
global proc yjp_VU_Symmetry()</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
if(`window -q -ex yjp_VUW_SymmetryWindow`)</blockquote>
<blockquote class="tr_bq">
{</blockquote>
<blockquote class="tr_bq">
deleteUI yjp_VUW_SymmetryWindow ;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
<blockquote class="tr_bq">
window -tb 1 -tlb 0 -t "Vtx Uv Symmetry1.0" yjp_VUW_SymmetryWindow ;</blockquote>
<blockquote class="tr_bq">
</blockquote>
<blockquote class="tr_bq">
columnLayout ;</blockquote>
<blockquote class="tr_bq">
</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>rowColumnLayout -nc 2 -cw 1 255 -cw 2 65;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>floatFieldGrp -numberOfFields 2</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> -label "UV center"</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>-cw3 60 70 70</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>-pre 6</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>-value1 0.5 -value2 0.5 uvCenterField;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 60 -h 25 -label "Get center" -ann "選択した頂点から対称座標を入力" -command "yjp_VUW_SymmetryCenter";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>floatFieldGrp -numberOfFields 3</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>-label "VTX center" </blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>-cw4 60 60 60 60</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>-value1 0.0 -value2 0.0 -value3 0.0 yjp_VUW_CenterField;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent..;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent..;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>rowColumnLayout -nc 2 -cw 1 220 -cw 2 120;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> intFieldGrp -numberOfFields 1</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> -label "RunFrame"</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> -cw 1 70</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> -value1 0 wsBindFrameField;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span> checkBox -l "NormalMatche" -ann "法線が似ている頂点を探す" -v 0 wsNormalMatcheCheck;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent..;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
rowColumnLayout -nc 3 -cw 1 220 -cw 2 48 -cw 3 48;</blockquote>
<blockquote class="tr_bq">
textFieldGrp -label "Another mesh" -cw2 70 140 yjp_wsAnothermeshField;</blockquote>
<blockquote class="tr_bq">
button -label "ObjGet" -ann "別のメッシュとシンメトリする" -command "yjp_VUW_SymmetryObjGet 1";</blockquote>
<blockquote class="tr_bq">
button -label "CLEAR" -ann "Another mesh欄を消す" -command "yjp_VUW_SymmetryObjGet 0";</blockquote>
<blockquote class="tr_bq">
setParent..;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>rowColumnLayout -nc 6 -cw 1 50 -cw 2 50 -cw 3 50 -cw 4 50 -cw 5 50 -cw 6 50 ;</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "X←" -c "yjp_doVertexUVSymmetryMove 0";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "X→" -c "yjp_doVertexUVSymmetryMove 1";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "Y↓" -c "yjp_doVertexUVSymmetryMove 2";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "Y↑" -c "yjp_doVertexUVSymmetryMove 3";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "Z↑" -c "yjp_doVertexUVSymmetryMove 4";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "Z↓" -c "yjp_doVertexUVSymmetryMove 5";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span></blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "U ←" -c "yjp_doVertexUVSymmetryMove 6";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "U →" -c "yjp_doVertexUVSymmetryMove 7";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "V ↓" -c "yjp_doVertexUVSymmetryMove 8";</blockquote>
<blockquote class="tr_bq">
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -w 50 -h 25 -l "V ↑" -c "yjp_doVertexUVSymmetryMove 9";</blockquote>
<blockquote class="tr_bq">
setParent..;</blockquote>
<blockquote class="tr_bq">
//button -w 130 -h 25 -l "Close" -c ("deleteUI -window WeightSymmetryWindow") ;</blockquote>
<blockquote class="tr_bq">
</blockquote>
<blockquote class="tr_bq">
setParent..;</blockquote>
<blockquote class="tr_bq">
showWindow yjp_VUW_SymmetryWindow ;</blockquote>
<blockquote class="tr_bq">
window -e -wh 330 150 yjp_VUW_SymmetryWindow ;</blockquote>
<blockquote class="tr_bq">
}</blockquote>
</blockquote>
</div>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-51295546662866661862015-03-22T01:57:00.001+09:002015-03-22T01:57:55.071+09:00ポーズコピーペーストボーナスツールの改造版<br />
ノードの種類を指定してコピーできます。<br />
ビジビリティもコピーするか設定できます。<br />
UVスクロールはシーン内の全てをコピーします。<br />
シェルフはそのままペーストしますが、<br />
PosePasteはペーストされるノードを調べてからペーストします。<br />
<br />
//GetTextStringLine.melつかってます<br />
global proc yjp_PosePaste()<br />
{<br />
string $PExportPath = `internalVar -usd`;<br />
int $n;<br />
string $cmd[] = `GetTextStringLine ($PExportPath + "/pose.txt")`;<br />
for ($n=0;$n<size($cmd);$n++)<br />
{<br />
string $buffer[];<br />
int $c = 0;<br />
tokenize $cmd[$n] " .;" $buffer;<br />
print ("cmd " + $cmd[$n] + "\n") ;<br />
if(`objExists $buffer[2]`)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $atlist[] = `listAttr -keyable -connectable -unlocked -scalar -write -hd $buffer[2]`;<br />
if(stringArrayCount($buffer[3], $atlist) > 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>eval $cmd[$n];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
else<br />
{<br />
print ("no obj " + $buffer[1] + "\n") ;<br />
}<br />
<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
print ("ポーズペースト終了" + "\n") ;<br />
<br />
}<br />
global proc yjp_PoseCopy(int $mode)<br />
{<br />
string $node[];<br />
if(`radioButtonGrp -q -sl PoseCopyRBG` == 1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`checkBox -q -v UseUVanimCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$node =`ls -type "transform" -type "place2dTexture"`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$node =`ls -type "transform"`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
else if(`radioButtonGrp -q -sl PoseCopyRBG` == 2)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`checkBox -q -v UseUVanimCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$node =`ls -type "transform" -type "place2dTexture" -sl`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$node =`ls -type "transform" -sl`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
else if(`radioButtonGrp -q -sl PoseCopyRBG` == 3)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -hi;<br />
$node =`ls -type "transform" -sl`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`checkBox -q -v UseUVanimCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$pt =`ls -type "place2dTexture" `;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$node = stringArrayCatenate($node, $pt);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
int $n;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global string $gShelfTopLevel;<br />
string $script,$text;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $writable;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $command = "";<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
int $ti = `currentTime -q`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($item in $node)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $attlist[] ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>clear $attlist;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`nodeType $item` == "transform")<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("mseh " + $item +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $cnode[] = `listRelatives -c -s -f $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(size($cnode) > 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`nodeType $cnode[0]` == "mesh" && `checkBox -q -v MeshOnlyCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("mseh " + $item +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`checkBox -q -v UseVisibilityCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "translate?" -st "rotate?" -st "scale?" -st "visibility" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "translate?" -st "rotate?" -st "scale?" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`nodeType $cnode[0]` == "mesh" && !`checkBox -q -v MeshOnlyCB` && `checkBox -q -v UseVisibilityCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "visibility" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`nodeType $cnode[0]` == "locator" && `checkBox -q -v locatorOnlyCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(`checkBox -q -v UseVisibilityCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "translate?" -st "rotate?" -st "scale?" -st "visibility" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "translate?" -st "rotate?" -st "scale?" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`checkBox -q -v groupOnlyCB` && `checkBox -q -v UseVisibilityCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "visibility" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`nodeType $item` == "joint" && `checkBox -q -v JointOnlyCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("joint " + $item +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "translate?" -st "rotate?" -st "scale?" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else if(`nodeType $item` == "place2dTexture" && `checkBox -q -v UseUVanimCB`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("UV " + $item +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$attlist = `listAttr -keyable -connectable -unlocked -scalar -write -hd -st "offset?" -st "translateFrame?" $item`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//Step through list of appropriate attributes for each object<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (size($attlist)>0){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($att in $attlist)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$match = ("match \"\\\\.\" " + $att);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print $match;<br />
<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ( `eval $match` != "." ) //if not a compound<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
//<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Check for input connections to current attr<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$input = `listConnections -source 1 ($item + "." + $att)`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (`size $input` == 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$writable = 1; //if no connections<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (`nodeType $input[0]` == "character")<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$writable = 1; //if connected to character set<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$writable = `isAnimCurve $input[0]`; //check for anim curves<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if ($writable)<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// add to command list for shelf button and print to script editor<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $val = `getAttr ($item + "." + $att)`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$text = ("setAttr -clamp " + $item + "." + $att + " " + $val + ";\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ($text);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$command = ($command+$text);<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else <span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// if locked by connection only print warning to script editor<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$text = ($item + "." + $att + " : locked by input connection");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>warning ($text);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
if($mode == 1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//make shelf button containing list of setAttrs<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$buttonName = $ti;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (`tabLayout -exists $gShelfTopLevel`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>shelfButton<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-command ($command)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-image "createPose.png"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-iol $buttonName<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-label $buttonName<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-annotation $buttonName ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>error ("Must have active shelf to create shelf button");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> //textToShelf ($ti, $text);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
if($mode == 0)<br />
{<br />
string $PExportPath = `internalVar -usd`;<br />
int $PFile;<br />
$PFile =`fopen ($PExportPath + "/pose.txt") "w"`;<br />
fprint ($PFile, "//\r\n");<br />
fprint ($PFile, $command);<br />
fclose ($PFile);<br />
}<br />
print ("ポーズコピー終了" + "\n") ;<br />
return ;<br />
}<br />
<br />
global proc yjp_PoseCopyPaste()<br />
{<br />
if(`window -q -ex yjp_PoseCopyPaste`)<br />
{<br />
deleteUI yjp_PoseCopyPaste ;<br />
}<br />
window -wh 210 200 -tb 1 -tlb 0 -t "PoseCopyPaste" yjp_PoseCopyPaste ;<br />
columnLayout -w 130;<br />
radioButtonGrp<br />
-nrb 3<br />
-la3 "All" "Select" "Hierarchy"<br />
-sl 1<br />
-cw3 40 50 60 PoseCopyRBG;<br />
rowColumnLayout -nc 4;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
checkBox -label "mesh" -value true MeshOnlyCB;<br />
<br />
checkBox -label "Joint" -value true JointOnlyCB;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>checkBox -label "group" -value true groupOnlyCB;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>checkBox -label "locator" -value true locatorOnlyCB;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
checkBox -label "Visibility" -value true UseVisibilityCB;<br />
checkBox -label "UVanim" -value true UseUVanimCB;<br />
setParent ..;<br />
rowColumnLayout -nc 4;<br />
button -w 80 -h 25 -l "PoseCopyShelf" -c "yjp_PoseCopy 1" ;<br />
button -w 60 -h 25 -l "PoseCopy" -c "yjp_PoseCopy 0";<br />
button -w 60 -h 25 -l "PosePaste" -c "yjp_PosePaste" ;<br />
<br />
setParent ..;<br />
showWindow yjp_PoseCopyPaste ;<br />
window -e -wh 230 90 yjp_PoseCopyPaste ;<br />
}サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-2719317314382831902015-03-20T02:26:00.000+09:002015-03-20T02:26:02.235+09:00もっと勉強しよう最近ボーナスツールとかDLしてなかったので導入<br />
MELを眺める<br />
よく分からない処理をしているなー<br />
土日は研究だ。<br />
<br />サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-53516092996033391062015-03-18T01:34:00.000+09:002015-03-18T01:34:49.537+09:00対称物取得についてツイが分かっているならリストを登録して<br />
<br />
global proc string yjp_MirrorString(string $txt)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $txtA[] ={"A","B","C","D"};<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $txtB[] ={"D","C","B","A"};<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $index = stringArrayFind($txt,0,$txtA);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return $txtB[$index];<br />
}<br />
<br />
こんな感じでやればルール化されていれば確実。<br />
ルール化されていない対称物を探す方法をなんとかしたい。<br />
ジョイント名とかラベルとかルールなしが理想。<br />
<br />
<br />サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-12916235035210457422015-03-07T11:23:00.000+09:002015-03-07T11:23:42.312+09:00mayaのコピーペーストのルールが分からないメッシュを選択してコピーペーストしてみたらシーンのほとんどがペーストされた。<br />
バインドも外しているし、親ノードすらない状態でも他のノードをコピーしている。<br />
ルールがわからない。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-7810872960915503462015-03-01T18:06:00.000+09:002015-03-01T21:49:33.969+09:00オブジェクトのエクスポートインポートでいい方法は無いか?コピペでもいいですがメッシュなどペーストすると関連するジョイントやマテリアルまで名前が変わってインポートされるので同じ名前のメッシュやマテリアルがあれば置き換えて欲しい。<br />
そんなMELが出来れば楽だなー。<br />
<br />
例えば前バージョンのあるメッシュだけ最新のシーンに読み込みたい時。<br />
最新シーンでペーストする。<br />
pastedメッシュの関連しているジョイントを調べる。<br />
古いメッシュデタッチ。<br />
pastedメッシュのウエイトを保存。<br />
デタッチ。<br />
最新シーンのジョイントと位置を同じにする。<br />
同じジョイントが無ければ追加。<br />
pastedメッシュバインド<br />
古いメッシュをリネーム。<br />
pastedメッシュをリネーム。<br />
pasted付きマテリアルと同じ新シーンマテリアルをアサインしなおす。<br />
<br />
工程が多い。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-23712987846848338582015-03-01T00:16:00.001+09:002015-03-01T00:16:28.099+09:00キーコピーペーストボーナスツールにもストアポーズがありますがキーコピーペーストを作ってみました。<br />
pose.txtにsetAttrを記述しているのでMaya2つ起動してポーズのコピペができます。<br />
ビジビリティUVアニメのキーもコピーできる。<br />
<blockquote class="tr_bq">
//<br />
//<br />
//<br />
//<br />
//<br />
//GetTextStringLineつかってます<br />
global proc yjp_PosePaste()<br />
{<br />
string $PExportPath = `pwd`;<br />
int $n;<br />
string $cmd[] = `GetTextStringLine ($PExportPath + "/pose.txt")`;<br />
for ($n=0;$n<size($cmd);$n++)<br />
{<br />
string $buffer[];<br />
tokenize $cmd[$n] " ." $buffer;<br />
if(`objExists $buffer[1]`)<br />
{<br />
eval $cmd[$n];<br />
}<br />
}<br />
<br />
}<br />
global proc yjp_PoseCopy(int $mode)<br />
{<br />
string $node[];<br />
if(`radioButtonGrp -q -sl PoseCopyRBG` == 1)<br />
{<br />
$node =`ls -type "joint" -type "transform" -type "place2dTexture"`;<br />
}<br />
else<br />
{<br />
$node =`ls -type "joint" -type "transform" -type "place2dTexture" -sl`;<br />
}<br />
int $n;<br />
string $script;<br />
int $ti = `currentTime -q`;<br />
for ($n=0;$n<size($node);$n++)<br />
{<br />
float $valt[],$valr[],$vals[],$valtv,$valtu;<br />
int $valv;<br />
if(`nodeType $node[$n]` == "joint")<br />
{<br />
$valt = `getAttr ($node[$n] + ".t")`;<br />
$script += ("setAttr " + $node[$n] + ".t "+ $valt[0] + " "+$valt[1]+ " " +$valt[2] + "\;\n");<br />
<br />
$valr = `getAttr ($node[$n] + ".r")`;<br />
$script += ("setAttr " + $node[$n] + ".r "+ $valr[0] + " "+$valr[1]+ " " +$valr[2] + "\;\n");<br />
<br />
$vals = `getAttr ($node[$n] + ".s")`;<br />
$script += ("setAttr " + $node[$n] + ".s "+ $vals[0] + " "+$vals[1]+ " " +$vals[2] + "\;\n");<br />
}<br />
else if(`nodeType $node[$n]` == "transform" && `checkBox -q -v UseVisibilityCB`)<br />
{<br />
if(!`checkBox -q -v JointOnlyCB`)<br />
{<br />
$valt = `getAttr ($node[$n] + ".t")`;<br />
$script += ("setAttr " + $node[$n] + ".t "+ $valt[0] + " "+$valt[1]+ " " +$valt[2] + "\;\n");<br />
<br />
$valr = `getAttr ($node[$n] + ".r")`;<br />
$script += ("setAttr " + $node[$n] + ".r "+ $valr[0] + " "+$valr[1]+ " " +$valr[2] + "\;\n");<br />
<br />
$vals = `getAttr ($node[$n] + ".s")`;<br />
$script += ("setAttr " + $node[$n] + ".s "+ $vals[0] + " "+$vals[1]+ " " +$vals[2] + "\;\n");<br />
}<br />
string $v[] = `listConnections -type animCurveTU $node[$n]`;<br />
if(size($v) >0)<br />
{<br />
$valv = `getAttr ($node[$n] + ".v")`;<br />
$script += ("setAttr " + $node[$n] + ".v "+ $valv + "\;\n");<br />
}<br />
}<br />
else if(`nodeType $node[$n]` == "place2dTexture" && `checkBox -q -v UseUVanimCB`)<br />
{<br />
string $t[] = `listConnections -type animCurveTU $node[$n]`;<br />
if(size($t) >0)<br />
{<br />
$valtv = `getAttr ($node[$n] + ".translateFrameV")`;<br />
$script += ("setAttr " + $node[$n] + ".translateFrameV "+ $valtv + "\;\n");<br />
<br />
$valtu = `getAttr ($node[$n] + ".translateFrameU")`;<br />
$script += ("setAttr " + $node[$n] + ".translateFrameU "+ $valtu + "\;\n");<br />
}<br />
}<br />
}<br />
if($mode == 1)<br />
{<br />
textToShelf ($ti, $script);<br />
}<br />
if($mode == 0)<br />
{<br />
string $PExportPath = `pwd`;<br />
int $PFile;<br />
$PFile =`fopen ($PExportPath + "/pose.txt") "w"`;<br />
fprint ($PFile, "//\r\n");<br />
fprint ($PFile, $script);<br />
fclose ($PFile);<br />
}<br />
return ;<br />
}<br />
<br />
global proc yjp_PoseCopyPaste()<br />
{<br />
if(`window -q -ex yjp_PoseCopyPaste`)<br />
{<br />
deleteUI yjp_PoseCopyPaste ;<br />
}<br />
window -wh 210 200 -tb 1 -tlb 0 -t "PoseCopyPaste" yjp_PoseCopyPaste ;<br />
columnLayout -w 130;<br />
radioButtonGrp<br />
-nrb 2<br />
-la2 "All" "Select"<br />
-sl 1<br />
-cw2 40 40 PoseCopyRBG;<br />
rowColumnLayout -nc 3;<br />
checkBox -label "JointOnly" -value true JointOnlyCB;<br />
checkBox -label "Visibility" -value true UseVisibilityCB;<br />
checkBox -label "UVanimation" -value true UseUVanimCB;<br />
<br />
button -w 80 -h 25 -l "PoseCopyShelf" -c "yjp_PoseCopy 1" ;<br />
button -w 60 -h 25 -l "PoseCopy" -c "yjp_PoseCopy 0";<br />
button -w 60 -h 25 -l "PosePaste" -c "yjp_PosePaste" ;<br />
<br />
setParent ..;<br />
showWindow yjp_PoseCopyPaste ;<br />
window -e -wh 230 70 yjp_PoseCopyPaste ;<br />
}</blockquote>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-35891798807784878352015-02-28T15:28:00.000+09:002015-03-05T00:50:02.238+09:00yjp_DuplicateMeshSkin以前作ったyjp_DuplicateMeshSkinで<br />
バインドされたメッシュを加工し、ヒストリーを消す時にyjp_DuplicateMeshSkinを使う事で<br />
ウエイトが崩れずに済むと聞いて試したら本当に大丈夫だった。<br />
でも中間オブジェクトが複数出来てしまうと・・<br />
見てみると複数できている。<br />
yjp_DetachBindShelfで再バインドしてみると中間オブジェクトを消す処理でエラーが発生している<br />
ちょっと調べてみよう。<br />
<br />
<br />
<a name='more'></a><br />
global proc string yjp_DuplicateMeshSkin()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $objs[] = `ls -sl`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if( size($objs) == 0)return(0);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//メッシュ複製<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>rename $objs[0] ($objs[0] + "_old");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $newmeshA[] = `duplicate -n $objs[0] -rr ($objs[0] + "_old")`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>yjp_doImitateBind ($objs[0] + "_old") $newmeshA[0];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ($newmeshA[0]);<br />
}<br />
という事で新メッシュ名を変えるんではなく、古いほうの名前を変えるようにした。<br />
中間オブジェは置いておく。<br />
消すのは↓こちらで消す。<br />
<a href="http://area.autodesk.jp/column/tutorial/maya_atoz/about_node/index-2.html">http://area.autodesk.jp/column/tutorial/maya_atoz/about_node/index-2.html</a><br />
<br />
yjp_DetachBindShelfの中間オブジェを消す処理も削除した。<br />
中間オブジェを使っている人もいるかもしれないので、MELは分けます。<br />
s_MayaScriptsをDLしないとDuplicateMeshSkinは使えないです。<br />
yjp_doImitateBind プロシージャを使っています。<br />
<div>
<br /></div>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-81932351484894097842015-02-23T00:07:00.000+09:002015-02-23T00:07:47.045+09:00yjp_WeightSymmetry1.2更新yjp_WeightSymmetryのコピー方向が安定していなかったので修正<br />
<br />
YZのミラーコピーは実装していないが記述では少し残っています。<br />
<br />
/*<br />
yjp_WeightSymmetry1.2<br />
ウエイトミラーです。<br />
重なっているジョイントのみアトリビュートでラベル名をつけてください。<br />
対称ジョイントが同じラベル名になるようにしてください。<br />
バインドフレームはデフォルト0ですがバインド時のポーズがあるフレームを指定してください<br />
ノーマルマッチは左右対称頂点を検索する時に法線が似ている頂点を探します。<br />
アナザーメッシュ欄は何もなければ選択した頂点のメッシュ内で対称にします<br />
対称のオブジェゲットをすればそのメッシュから対称の頂点を探します。<br />
左右半分のどちらかの頂点を選んでから←→どちらかのボタンを選びます。<br />
<br />
*/<br />
<br />
yjp_WeightSymmetryが使用しているプロシージャ<br />
//yjp_pMatchSwapArray.mel<br />
//yjp_WeightTransfer.mel<br />
//yjp_jontMirrorArray.mel<br />
<br />
global proc yjp_doWeightSymmetry(int $dir)<br />
{<br />
string $vetx[] = `ls -sl -fl`;<br />
if(size($vetx) < 1 )return;<br />
<br />
int $t = `currentTime -q` ;<br />
<br />
int $nmc = `checkBox -q -v wsNormalMatcheCheck`;<br />
int $wsbf = `intFieldGrp -q -value1 wsBindFrameField`;<br />
int $oo = 0;<br />
currentTime $wsbf ;<br />
<br />
string $node[];<br />
tokenize $vetx[0] "." $node;<br />
<br />
//選択した頂点のオブジェクト<br />
string $sourcobj = $node[0];<br />
<br />
//参照オブジェクト<br />
string $Allvtx[];<br />
$obj = `textFieldGrp -q -tx yjp_wsAnothermeshField`;<br />
if(`objExists $obj`)<br />
{<br />
$Allvtx = `ls -fl ($obj + ".vtx[*]")`;<br />
}<br />
else<br />
{<br />
$Allvtx = `ls -fl ($sourcobj + ".vtx[*]")`;<br />
}<br />
<br />
//中心を指定<br />
float $center[] = {0,0,0};<br />
int $ax;<br />
int $d[] = {1,1,1};<br />
int $dirax;<br />
<br />
/*<br />
$center[0] = `floatFieldGrp -q -value1 WeightSymmetryCenterField`;<br />
$center[1] = `floatFieldGrp -q -value2 WeightSymmetryCenterField`;<br />
$center[2] = `floatFieldGrp -q -value3 WeightSymmetryCenterField`;<br />
*/<br />
<br />
//選択した頂点の位置を中心からどちらか調べる<br />
float $Vertex[] = `pointPosition $vetx[0]`;<br />
<br />
switch ($dir)<br />
{<br />
case 0:<br />
case 1:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$ax = 0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dirax = 1;<br />
if($Vertex[0] > $center[0])<br />
{<br />
$d[0] = -1;<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if($dir == 1)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dir = 0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$dir = 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
break;<br />
case 2:<br />
case 3:<br />
if($Vertex[1] > $center[1])$d[1] = -1;<br />
$ax = 1;<br />
$dirax = 2;<br />
break;<br />
case 4:<br />
case 5:<br />
if($Vertex[2] > $center[2])$d[2] = -1;<br />
$ax = 2;<br />
$dirax = 3;<br />
break;<br />
}<br />
//print ("d " + $d[0] + $d[1] + $d[2] + "\n") ;<br />
//print ("ax " + $ax + "\n") ;<br />
//print ("dirax "+ $dirax + "\n") ;<br />
<br />
float $VertexValueA[];<br />
float $VertexValueB[];<br />
string $Swapvtx[];<br />
<br />
//対称の頂点のみのグループにする<br />
for ($n=0;$n<size($Allvtx);$n++)<br />
{<br />
$VertexValueA = `pointPosition $Allvtx[$n]`;<br />
<br />
if ($d[$ax] == 1)<br />
{<br />
<br />
if($VertexValueA[$ax] > $center[$ax])<br />
{<br />
$Swapvtx[size($Swapvtx)] = $Allvtx[$n];<br />
//print ($VertexValueA[$ax] + " " + $Allvtx[$n] +"\n");<br />
}<br />
}<br />
else if ($d[$ax] == -1)<br />
{<br />
//print ("VertexValueA "+ $dirax + "\n") ;<br />
if($VertexValueA[$ax] < $center[$ax])<br />
{<br />
$Swapvtx[size($Swapvtx)] = $Allvtx[$n];<br />
//print ($VertexValueA[$ax] + " " + $Allvtx[$n] +"\n");<br />
}<br />
}<br />
<br />
}<br />
if(size($Swapvtx)==0)<br />
{<br />
print ("対称の頂点がありません" +"\n");<br />
return ;<br />
}<br />
<br />
$Swapvtx = `yjp_pMatchSwapArray $Swapvtx $vetx $dirax 1 $nmc`;<br />
string $vtxGrA[] = $vetx;<br />
string $vtxGrB[] = $Swapvtx;<br />
<br />
if ($dir == 0)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("X<<"+$vtxGrA[0] +" "+$vtxGrB[0] +"\n\n");<br />
yjp_WeightTransfer $vtxGrB $vtxGrA 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $vtxGrB;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ($vtxGrB[0] +"\n");<br />
}<br />
else<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("X>>"+$vtxGrB[0] +" "+$vtxGrA[0] +"\n\n");<br />
yjp_WeightTransfer $vtxGrA $vtxGrB 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>select -r $vtxGrA;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ($vtxGrA[0] +"\n");<br />
}<br />
currentTime $t ;<br />
<br />
return ;<br />
}<br />
global proc yjp_WeightSymmetryObjGet(int $input)<br />
{<br />
if($input == 1)<br />
{<br />
string $sel[] = `ls -sl`;<br />
if(size($sel)==1)<br />
{<br />
textFieldGrp -e -tx $sel[0] yjp_wsAnothermeshField;<br />
}<br />
}<br />
else if($input == 0)<br />
{<br />
textFieldGrp -e -tx "" yjp_wsAnothermeshField;<br />
}<br />
}<br />
/*<br />
global proc yjp_WeightSymmetryCenter()<br />
{<br />
string $selobj[] = `ls -sl`;<br />
if(`size$selobj` == 0){return ;}<br />
float $vc[] = `xform -q -a -ws -t $selobj[0]`;<br />
floatFieldGrp -e -value1 $vc[0] -value2 $vc[1] -value3 $vc[2] WeightSymmetryCenterField;<br />
}<br />
*/<br />
global proc yjp_WeightSymmetry()<br />
{<br />
if(`window -q -ex yjp_WeightSymmetryWindow`)<br />
{<br />
deleteUI yjp_WeightSymmetryWindow ;<br />
}<br />
window -tb 1 -tlb 0 -t "WeightSymmetry1.2" yjp_WeightSymmetryWindow ;<br />
<br />
columnLayout ;<br />
<br />
<br />
rowColumnLayout -nc 2 -cw 1 220 -cw 2 96;<br />
/*<br />
floatFieldGrp -numberOfFields 3<br />
-label "center"<br />
-cw3 60 60 60<br />
-value1 0.0 -value2 0.0 -value3 0.0 WeightSymmetryCenterField;<br />
button -w 50 -label "center" -ann "選択した頂点から対称座標を入力" -command "yjp_WeightSymmetryCenter";<br />
*/<br />
intFieldGrp -numberOfFields 1<br />
-label "BindFrame"<br />
-cw 1 70<br />
-value1 0 wsBindFrameField;<br />
checkBox -l "NormalMatche" -ann "法線が似ている頂点を探す" -v 0 wsNormalMatcheCheck;<br />
setParent..;<br />
rowColumnLayout -nc 3 -cw 1 220 -cw 2 48 -cw 3 48;<br />
textFieldGrp -label "Another mesh" -cw2 70 140 yjp_wsAnothermeshField;<br />
button -label "ObjGet" -ann "別のメッシュとシンメトリする" -command "yjp_WeightSymmetryObjGet 1";<br />
button -label "CLEAR" -ann "Another mesh欄を消す" -command "yjp_WeightSymmetryObjGet 0";<br />
setParent..;<br />
<br />
rowColumnLayout -nc 2 -cw 1 158 -cw 2 158;<br />
<br />
button -h 30 -l "X←" -c "yjp_doWeightSymmetry 0";<br />
button -h 30 -l "X→" -c "yjp_doWeightSymmetry 1";<br />
<br />
setParent..;<br />
//button -w 130 -h 25 -l "Close" -c ("deleteUI -window WeightSymmetryWindow") ;<br />
<br />
setParent..;<br />
showWindow yjp_WeightSymmetryWindow ;<br />
window -e -wh 320 82 yjp_WeightSymmetryWindow ;<br />
}サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-20266277116526021332015-02-22T01:59:00.000+09:002015-02-25T01:55:44.855+09:00ウエイトエディット1.5 更新<div class="tr_bq">
<h2>
yjp_weightedit1.5更新</h2>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_If_neZdDCuCbAxJ8r_i9xWCq4SZYW7UH8FBotsw_nr72tyKlUeWLHzTS6g6OQHWGChutZ5vQAvbdggbmUKVlpqyctZE84aqUfCPsLZpm_C8TLaNZDQ2TJ_XCZuYmCbeHNe4sM260hUA/s1600/WS000001.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_If_neZdDCuCbAxJ8r_i9xWCq4SZYW7UH8FBotsw_nr72tyKlUeWLHzTS6g6OQHWGChutZ5vQAvbdggbmUKVlpqyctZE84aqUfCPsLZpm_C8TLaNZDQ2TJ_XCZuYmCbeHNe4sM260hUA/s1600/WS000001.JPG" height="111" width="320" /></a></div>
<br />
1頂点だけですがウエイト調整がリアルタイムで出来ます。<br />
同じインフルエンスと値であれば複数頂点も調整できます。<br />
今回は合計が1になっていないバグを調整。<br />
スライダーが入力時に適切な最大値に変動するようにしました。<br />
1つのスライダを1にすることが出来なくなってしまうが、<br />
他のスライダを0にすることで1に出来ます。<br />
スライダーの最大値を変動するときの挙動が気になりますが、<br />
なんとなくバランス配分固定できている気がしています。<br />
ホールド変更やニューバランスボタンでスライダーバランスが再設定されます。(たぶん)<br />
このMELはMayaLTでも動くのでしょうかねー。<br />
<br />
<a name='more'></a>結局スライダーの最大値を変えない事にした。<br />
そのほうが操作性がいいです。<br />
値があるスライダーをホールドする時だけ気をつければ1以上になる事はないです。<br />
しかし配分固定はいい感じに動いてくれないですね。<br />
いい方法はないのだろうか。<br />
<blockquote>
global proc yjp_weightedit_balance(int $num)<br />
{<br />
float $val[],$total;<br />
int $c = 0;<br />
float $holdfloat = 0.0;<br />
float $changeval[];<br />
float $a,$v;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $Rate;<br />
string $joint,$label;<br />
int $n,$count[];<br />
int $m =1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $yjp_weightedit_float[];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global string $yjp_weightedit_joint[];<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $step = `floatField -q -v yjpWeigtEditStepField`;<br />
//ホールド状態の処理<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
$count[$c] = 0;<br />
$val[$c] = `floatSliderGrp -q -v $control[$n+2]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$joint = `floatSliderGrp -q -l $control[$n+2]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $jwi = stringArrayFind($joint,0,$yjp_weightedit_joint);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> if(`checkBox -q -v $control[$n]`)<br />
{<br />
//ホールド<br />
$holdfloat += $val[$c];<br />
}<br />
else if($num == $c)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//動かしたスライダ<br />
setAttr ($joint + ".type") 18;<br />
setAttr ($joint + ".drawLabel") 1;<br />
setAttr ($joint + ".displayHandle") 1;<br />
$holdfloat += $val[$c];<br />
}<br />
else<br />
{<br />
//変化させるスライダ<br />
$count[$c] = 1;//変化対象ならインデックスに1<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>if($val[$c] == 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$c] = $yjp_weightedit_float[$jwi];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$v += $val[$c];//残りのウエイト合計<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
$c++;<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//変化させるウエイト=1-決定したウエイト<br />
$total = 1 - $holdfloat;<br />
//print ("total " + $total +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("v " + $v +"\n");<br />
if($v == 0)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Rate = 1;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$Rate = $total / $v;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//print ("Rate " + $Rate +"\n");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $all;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> for ($c=0;$c<size($val);$c++)<br />
{<br />
if($count[$c])<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$c] = $val[$c]*$Rate;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$c] *= 1 / $step;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$c] = floor($val[$c] + 0.5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$c] *= $step;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$all += $val[$c];<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> //print ("val " + $all +"\n");<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int $i = `intArrayFind 1 0 $count`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$val[$i] += ($total-$all);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> $c = 0;<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> //</span>floatSliderGrp -e -max 1 $control[$n+2];<br />
if(`checkBox -q -v $control[$n]`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
else if($num == $c )<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> //</span>floatSliderGrp -e -max $total $control[$n+2];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//floatSliderGrp -e -v $total $control[$n+2];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
else<br />
{<br />
floatSliderGrp -e -v $val[$c] $control[$n+2];<br />
}<br />
$c++;<br />
}<br />
if(`checkBox -q -v yjp_weightedit_ac`)<br />
{<br />
yjp_weightedit_apply;<br />
}<br />
}<br />
global proc yjp_weightedit_apply()<br />
{<br />
string $vtxArray[] = `ls -sl`;<br />
if(size($vtxArray) == 0)return ;<br />
string $node[];<br />
tokenize $vtxArray[0] "." $node;<br />
string $sc = `findRelatedSkinCluster $node[0]`;<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float $step = `floatField -q -v yjpWeigtEditStepField`;<br />
string $SkinScript,$jointList_out;<br />
float $weight;<br />
int $n;<br />
for( $n=0 ; $n<size($control); $n += 5 )<br />
{<br />
$weight = `floatSliderGrp -q -v $control[$n+2]`;<br />
$jointList_out = `floatSliderGrp -q -l $control[$n+2]`;<br />
$SkinScript += ( "-tv " + $jointList_out + " " + $weight + " " );<br />
}<br />
if( $SkinScript != "" )<br />
{<br />
<br />
for ($n=0;$n<size($vtxArray);$n++)<br />
{<br />
$SkinScript = ("skinPercent " + $SkinScript + $sc + " " + $vtxArray[$n] );<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> undoInfo -swf off;<br />
eval( $SkinScript );<br />
//print ($SkinScript +"\n");<br />
undoInfo -swf on;<br />
}<br />
}<br />
}<br />
global proc yjp_weightedit_newbalance()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $yjp_weightedit_float[];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global string $yjp_weightedit_joint[];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>clear $yjp_weightedit_float;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>clear $yjp_weightedit_joint;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for ($n=0;$n<size($control);$n += 5)<br />
{<br />
$val = `floatSliderGrp -q -v $control[$n+2]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$joint = `floatSliderGrp -q -l $control[$n+2]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$yjp_weightedit_float[$n] = $val;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$yjp_weightedit_joint[$n] = $joint;<br />
}<br />
}<br />
global proc yjp_weightedit_get()<br />
{<br />
string $node[];<br />
string $sourcevtxArray[] = `ls -sl -fl`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global float $yjp_weightedit_float[];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>global string $yjp_weightedit_joint[];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>clear $yjp_weightedit_float;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>clear $yjp_weightedit_joint;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>if(!`gmatch $sourcevtxArray[0] "*.vtx*"`)return ;<br />
string $window[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
if(size($window))deleteUI $window;<br />
if(size($sourcevtxArray) == 0)return ;<br />
tokenize $sourcevtxArray[0] "." $node;<br />
string $sourcobj = $node[0];<br />
string $scA = `findRelatedSkinCluster $sourcobj`;<br />
//print ($sourcobj + " sourcobj " + $scA + "\n") ;<br />
int $n,$i;<br />
float $weight[];<br />
string $jointList[];<br />
if(`checkBox -q -v yjp_weightedit_hz`)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> $weight = `skinPercent -ib 0.0001 -q -v $scA $sourcevtxArray[0]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> $jointList = `skinPercent -ib 0.0001 -q -t $scA $sourcevtxArray[0]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$weight = `skinPercent -ib 0.0000 -q -v $scA $sourcevtxArray[0]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$jointList = `skinPercent -ib 0.0000 -q -t $scA $sourcevtxArray[0]`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $labeltxt = "";<br />
float $step = `floatField -q -v yjpWeigtEditStepField`;<br />
$h = 60;<br />
window -e -h $h yjp_WeightEditwindow;<br />
for ($n=0 ; $n < size($jointList) ; $n++)<br />
{<br />
int $bool = 0;<br />
int $hid = 1;<br />
//getAttr ($jointList[$n] + ".objectColor");<br />
setAttr ($jointList[$n] + ".lockInfluenceWeights") 0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> if($weight[$n] == 0)<br />
{<br />
$bool = 1;<br />
$hid = 0;<br />
}<br />
$labeltxt = `getAttr ($jointList[$n] + ".otherType")`;<br />
string $hcb = `checkBox -w 30 -l "" -v $bool -p yjp_WeightEditQueueLayout -onc ("yjp_weightedit_Hold 1 " + $n) -ofc ("yjp_weightedit_Hold 0 " + $n)`;<br />
textField -w 80 -tx $labeltxt -p yjp_WeightEditQueueLayout -cc ("yjp_weightedit_JointLabel " + $n);<br />
floatSliderGrp -en $hid -w 320 -p yjp_WeightEditQueueLayout -cw 1 70 -cw 2 40 -cw 3 200 -cw 4 200 -label $jointList[$n] -field true<br />
-minValue 0 -maxValue 1.0<br />
-fieldMinValue 0 -fieldMaxValue 1.0<br />
-s $step<br />
-ss $step<br />
-dc ("yjp_weightedit_balance " + $n)<br />
-cc ("yjp_weightedit_JointUnhilite " + $n)<br />
-value $weight[$n];<br />
button -en $hid -w 20 -l "<" -p yjp_WeightEditQueueLayout -c ("yjp_weightedit_step -1 " + $n);<br />
button -en $hid -w 20 -l ">" -p yjp_WeightEditQueueLayout -c ("yjp_weightedit_step 1 " + $n);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> $yjp_weightedit_float[$n] = $weight[$n];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$yjp_weightedit_joint[$n] = $jointList[$n];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>$h += 23;<br />
}<br />
window -e -h $h yjp_WeightEditwindow;<br />
}<br />
global proc yjp_weightedit_step(int $di,int $num)<br />
{<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
int $c =0;<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
if($c == $num)<br />
{<br />
float $val = `floatField -q -v yjpWeigtEditStepField` ;<br />
$val = $val * $di;<br />
$val += `floatSliderGrp -q -v $control[$n+2]`;<br />
floatSliderGrp -e -v $val $control[$n+2];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
$c++;<br />
}<br />
yjp_weightedit_balance $num;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>yjp_weightedit_JointUnhilite $num;<br />
}<br />
global proc yjp_weightedit_Reset()<br />
{<br />
global float $yjp_weightedit_float[];<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
int $n;<br />
int $c =0;<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
floatSliderGrp -e -v $yjp_weightedit_float[$c] $control[$n+2];<br />
$c++;<br />
}<br />
yjp_weightedit_apply;<br />
}<br />
global proc yjp_weightedit_Hold(int $bool ,int $num)<br />
{<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
int $n;<br />
int $c =0;<br />
string $joint;<br />
int $en = 1;<br />
if($bool)<br />
{<br />
$en = 0;<br />
}<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
if($c == $num)<br />
{<br />
//ホールド<br />
$joint = `floatSliderGrp -q -l $control[$n+2]`;<br />
checkBox -e -v $bool $control[$n];<br />
floatSliderGrp -e -en $en $control[$n+2];<br />
button -e -en $en $control[$n+3];<br />
button -e -en $en $control[$n+4];<br />
setAttr ($joint + ".lockInfluenceWeights") $bool;<br />
}<br />
$c++;<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>yjp_weightedit_newbalance;<br />
}<br />
global proc yjp_weightedit_JointLabel(int $num)<br />
{<br />
int $n;<br />
int $c = 0;<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
if($c == $num)<br />
{<br />
string $label = `textField -q-tx $control[$n+1]`;<br />
string $joint = `floatSliderGrp -q -l $control[$n+2]`;<br />
setAttr ($joint + ".type") 18;<br />
$labeltxt = `setAttr -type "string" ($joint + ".otherType") $label`;<br />
}<br />
$c++;<br />
}<br />
}<br />
global proc yjp_weightedit_JointUnhilite(int $num)<br />
{<br />
int $n;<br />
int $c = 0;<br />
string $control[] = `rowColumnLayout -q -ca yjp_WeightEditQueueLayout`;<br />
for ($n=0;$n<size($control);$n += 5)<br />
{<br />
string $joint = `floatSliderGrp -q -l $control[$n+2]`;<br />
setAttr ($joint + ".drawLabel") 0;<br />
setAttr ($joint + ".displayHandle") 0;<br />
}<br />
}<br />
global proc yjp_weightedit_autoget()<br />
{<br />
global int $yjp_WeightEditJob;<br />
if (`checkBox -q -v yjp_weightedit_ag`)<br />
{<br />
if (`scriptJob -ex $yjp_WeightEditJob`)scriptJob -force -kill $yjp_WeightEditJob;<br />
$yjp_WeightEditJob =`scriptJob -p "yjp_WeightEditwindow" -e "SelectionChanged" "yjp_weightedit_get"`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("yjp_WeightEditJob " + $yjp_WeightEditJob+ "\n") ;<br />
}<br />
else<br />
{<br />
scriptJob -kill $yjp_WeightEditJob -force;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>print ("yjp_WeightEditJobkill " + $yjp_WeightEditJob+ "\n") ;<br />
}<br />
<br />
}<br />
global proc yjp_weightedit_paint()<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>checkBox -e -v 0 yjp_weightedit_ag;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>checkBox -e -v 0 yjp_weightedit_ac;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>artUserPaintCtx artUserPaintCtx;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>artUserPaintCtx -e -pm 1 -ic "yjp_weightedit_apply" artUserPaintCtx;<br />
}<br />
global proc yjp_WeightEdit()<br />
{<br />
if(`window -q -ex yjp_WeightEditwindow`) deleteUI yjp_WeightEditwindow;<br />
window -s 1 -t "WeightEdit 1.5" -rtf true yjp_WeightEditwindow;<br />
string $no = "";<br />
global int $yjp_WeightEditJob;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string $form = `formLayout`;<br />
string $Buttton = `columnLayout -adjustableColumn true`;<br />
rowColumnLayout -nc 9 -cw 1 70 -cw 2 60 -cw 3 50 -cw 4 70 -cw 5 60 -cw 6 30 -cw 8 40 -cw 8 70 -cw 9 40;<br />
<br />
//button -h 25 -w 60 -l "Reset" -c "yjp_weightedit_Reset";<br />
checkBox -w 70 -l "HideZero" -v 1 -cc "yjp_weightedit_get" yjp_weightedit_hz;<br />
checkBox -w 60 -l "AutoGet" -v 1 -cc "yjp_weightedit_autoget" yjp_weightedit_ag;<br />
button -h 25 -w 50 -l "Get_vtx" -c "yjp_weightedit_get";<br />
checkBox -w 60 -l "AutoApply" -v 1 yjp_weightedit_ac;<br />
button -h 25 -w 50 -l "Apply" -c "yjp_weightedit_apply" ;<br />
text -l "snap";<br />
floatField -w 40 -v 0.01 -pre 3 yjpWeigtEditStepField ;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>button -h 25 -w 70 -l "newbalance" -c ("yjp_weightedit_newbalance;");<br />
button -h 25 -w 40 -l "Close" -c ("deleteUI -window yjp_WeightEditwindow;");<br />
setParent ..;<br />
rowColumnLayout -nc 5 -cw 1 40 -cw 2 60 -cw 3 100 -cw 4 240 -cw 5 40 ;<br />
text -l "Hold";<br />
text -l "Label";<br />
text -l "Joint";<br />
text -l "Value";<br />
text -l "step";<br />
setParent ..;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setParent ..;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> string $WES = `scrollLayout -horizontalScrollBarThickness 16 -verticalScrollBarThickness 16 yjp_WeightEditscrollLayout`;<br />
rowColumnLayout -nc 5 -cw 1 30 -cw 2 80 -cw 3 320 -cw 4 20 -cw 5 20 yjp_WeightEditQueueLayout;<br />
<br />
setParent ..;<br />
setParent ..;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>formLayout -edit<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-attachForm $Buttton "top" 0<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-attachNone $Buttton "bottom"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> -attachForm $Buttton "left" 5<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> -attachForm $Buttton "right" 5<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>-attachForm $WES "top" 50<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-attachForm $WES "bottom" 0<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> -attachForm $WES "left" 0<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> -attachForm $WES "right" 0<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>$form;<br />
window -e -wh 500 180 yjp_WeightEditwindow;<br />
showWindow yjp_WeightEditwindow;<br />
$yjp_WeightEditJob =`scriptJob -p "yjp_WeightEditwindow" -e "SelectionChanged" "yjp_weightedit_get"`;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>yjp_weightedit_get;<br />
}</blockquote>
サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0tag:blogger.com,1999:blog-6464351614858338207.post-12981612613026316822015-02-18T00:55:00.001+09:002015-02-18T00:55:37.593+09:00yjp_WeightEdit 1.4のバグ値がある状態でホールドしで他のスライダーを動かすと1まで動かせるので別のスライダーでマイナス値が入る。<br />
複数選択でapplyが出来る時と出来ないときがある。なぜだ。<br />
スムーズにスライダーが動かないことがある。<br />
それでもこのMELは結構いい出来。<br />
<br />
ペイント機能もつけようと思ったけどあまり使わないかもしれない。<br />
次はフェースのポジション取得がしたい。<br />
標準でありそうなんだけど。サッチェルhttp://www.blogger.com/profile/12794457036591302702noreply@blogger.com0