// hideToggle
string $sel[] = `ls -sl`;
for ($n in $sel)
{
$nAttr = getAttr ($n + ".visibility");
if ($nAttr == 1)
{
setAttr ($n +".visibility") 0;
}
else
{
setAttr ($n +".visibility") 1;
}
}
選択したオブジェクトの表示、非表示を切り替えます。
ただ単純に表示状態、非表示状態を切り替えるだけです。
以前、MaxでしていたものをMayaに置き換えてみました。
複数選択で表示されているものは非表示、非表示状態のものは表示ができるので、
ハイポリモデル、ローポリモデルを見比べたりとかにも便利です。
仕組みは簡単ですが案外使えるので重宝しております。
MELはじめたてなのでこんな簡単な文にも苦労してしまいました。
ちょっとわかりづらいなと思ったところをメモ。
`ls -sl`;
選択しているオブジェクトを取得。
getAttr ($n + ".visibility");
setAttr ($n +".visibility") 0;
アトリビュート値の取得、設定。
変数($n、$sel)などを使う場合、
setAttr (変数 + ".アトリビュート値") 設定値;
という書き方をしなくてはいけない。
これはちょっとややこしい。
MaxScriptを触っていたのでプログラムの基本はわかるんですが、
記述の仕方がずいぶん違いますね。
括弧とかダブルクォーテーションの使い方が面白いですね。
スクリプトはシェルフに入れるなり、ショートカットに登録するなりで
好きに使用してください。
0 件のコメント:
コメントを投稿