●概要
削除できないレイヤーがある。
シーン内のオブジェクトを全部削除して、
レイヤーマネージャーに表示されているオブジェクトは無くなった。
それでも、そのレイヤーは削除できない。
原因は、”レイヤーマネージャーに表示されないオブジェクト” が入っているせいだった。
スクリプトを使い、レイヤーの中身を見たら、パーティクル系のオブジェクトが入っていた。
スクリプトを使い、これらのオブジェクトを削除、または、移動し、
レイヤーを削除できるようにする。
●スクリプトを使って、シーン内のオブジェクト数をカウントする。
objects.count
↑この一行を実行するだけで、シーン内のオブジェクト数を確認できる。
何も無いと思っていたシーン内にオブジェクトが11個もあった。
●スクリプトを使って、一見空に見えるレイヤーの中身を確認する。
hako = layerManager.current --↑hakoという名前の変数に、カレントレイヤーを入れる。 hako.nodes & nakami --↑カレントレイヤーの中に入っているものを、変数nakamiに入れる。 for i in nakami do print i.name --↑forループを使い、変数nakamiの中身を全部リスナーに出力する。
↓実行結果
出てきた。レイヤーマネージャーに表示されないオブジェクト郡。
対処法1:中身を他のレイヤーに移動する。
hako = layerManager.current --↑hakoという名前の変数に、カレントレイヤーを入れる。 hako2 = layerManager.getLayerFromName "☆☆☆" --↑hako2という名前の変数に移動先のレイヤーを入れる。 --(☆☆☆の部分を移動先にしたいレイヤーの名前に置き換える必要あり) hako.nodes & nakami --↑カレントレイヤーの中に入っているものを、変数nakamiに入れる。 for i in nakami do( hako2.addnode i ) --↑forループを使い、変数nakamiの中身を全部対象のレイヤーに移動する。
対処法2:中身を削除する。
hako = layerManager.current --↑hakoという名前の変数に、カレントレイヤーを入れる。 hako.nodes & nakami --↑カレントレイヤーの中に入っているものを、変数nakamiに入れる。 for i in nakami do( delete i ) --↑forループを使い、変数nakamiの中身を全部削除する。
これで削除出来なかったレイヤーが削除出来るようになった。
※以前のmaxなら、
レイヤーの中身を全選択するボタンを押して、
選択したレイヤーに追加するボタンを押す事で、
見えないオブジェクトを他のレイヤーに移動する事が出来たけど、
レイヤーマネージャーが更新された最近のmaxだと、それが出来なくなっている。
※最近のmaxだと(2018以降?)、
見えなかったパーティクル系オブジェクトが可視化される様になった。
●参考資料リンク
3ds Max 2017 ヘルプ
インタフェース: LayerProperties
パーティクル フローをあるレイヤから他のレイヤに移動した後で、空になったレイヤを削除できない 3ds Max Autodesk Knowledge Network
レイヤーを同期しても、3ds Maxでパーティクルフローと依存関係が別々のレイヤーに移動されない 3ds Max Autodesk Knowledge Network
[レイヤ エクスプローラ] に、レイヤを削除するボタンが無い 3ds Max Autodesk Knowledge Network