[3dsMax]
レイヤーが削除出来ない問題

●概要

削除できないレイヤーがある。
シーン内のオブジェクトを全部削除して、
レイヤーマネージャーに表示されているオブジェクトは無くなった。
それでも、そのレイヤーは削除できない。

原因は、”レイヤーマネージャーに表示されないオブジェクト” が入っているせいだった。
スクリプトを使い、レイヤーの中身を見たら、パーティクル系のオブジェクトが入っていた。

スクリプトを使い、これらのオブジェクトを削除、または、移動し、
レイヤーを削除できるようにする。

●スクリプトを使って、シーン内のオブジェクト数をカウントする。

objects.count
↑この一行を実行するだけで、シーン内のオブジェクト数を確認できる。
何も無いと思っていたシーン内にオブジェクトが11個もあった。

●スクリプトを使って、一見空に見えるレイヤーの中身を確認する。

 中身を確認したいレイヤーをカレントにして、↓のスクリプトを実行。
hako = layerManager.current
--↑hakoという名前の変数に、カレントレイヤーを入れる。

hako.nodes & nakami
--↑カレントレイヤーの中に入っているものを、変数nakamiに入れる。

for i in nakami do print i.name
--↑forループを使い、変数nakamiの中身を全部リスナーに出力する。

↓実行結果
続きを読む

[3dsMax]
スクリプトでオブジェクト名を使うときの注意点

例:hako001という名前のオブジェクトが存在するとき、それをスクリプトで選択したい場合

taisyou = "$'" + "hako" + "001" + "'"
select taisyou

↑の記述だとエラーになる。

select $’hako001’と記述すれば、ちゃんと動作するのに、
なぜ変数taisyouに入った$’hako001’だとエラーになってしまうのか。

続きを読む