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

●概要

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

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

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

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

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

広告

コメントを残す

メールアドレスが公開されることはありません。

スパム対策用の計算式と画像認証です。↓の欄を入力しないとコメントが出来ません。 *

*