myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

Maya : カメラ消せない時に

またMayaにやられた・・・。

今回の案件で色んなデータをインポートしたり、エクスポートしたりしてすることが多いので、シーンがめっちゃ汚くなってしまいます。
それでデータ整理しようとすると、なんと!絶対に消せないカメラが出てきます。

削除しようとすると「// Error: Non-deletable node等など」

リネームしようとすると「// Error: Can't rename a read only node」

OMG!

ていうか、めんどうくせ・・・。

mayaのせいか、先方の方でなんか特殊なカメラ設定使っているのか、分からないけどこの「_UNKNOWN_REF_NODE_fosterParent1」というカメラが何をされても生き残る最強カメラでございます。

同僚の方に聞いてみたら、削除可能にしてくれるMelを渡してくれました。
原因が分からないけど、ネットのどっからこのmelを落として消せるようになったと。

実際に何をやるのかさっぱりですが、確かにカメラ消せました。

コードを見るとなんとなく、こういう仕組みらしいね:
選択されたオブジェクトの中でカメラだけをとって、デフォルトのカメラでなければ削除します。選択にカメラが入っていないとエラーが出ます。
あれ?単純すぎない?何で[delete]で消せないのにmelで消せるのか不思議です。
いつかこの謎が明らかになるでしょうか。とりあえずこのコードは使えるから、満足しちゃいましょう。
----------

つまり、このmelを実行すれば直ります:

カメラを選択してから以下のmel実行

string $selection[] = `ls -sl -dag -type camera`;  
string $cameras[]; 
for ($each in $selection) 
if(`objectType -isType "camera" $each`) 
$cameras[(size($cameras))] = $each; 
camera -e -startupCamera false $each; 
delete $each; 
else 
warning("selected object isn't a camera"); 
};

Next page