Face Material Unassign Tool 取扱説明書

Cropped d4cd7ac1381dc72b731d1c4cdf542dd3.png

例2:Material.001、Material.002が増えたObjectを整理する

状態

Material Propertiesに次のようなSlotがある。

Slot 0 → Skin_Mat
Slot 1 → Shirt_Mat
Slot 2 → Material.001
Slot 3 → Material.002
Slot 4 → Old_Mat

しかし、実際にはSlot 0とSlot 1しか使っていない。

操作

  1. Objectを選択
  2. Remove Unused Material Slots を押す
  3. 必要に応じてOutlinerのOrphan DataでMaterial DataをPurgeする

結果

Object側のMaterial Slot一覧が整理されます。


例3:選択Face内のMaterial状態を確認する

操作

  1. Edit ModeでFace範囲を選択
  2. Refresh List を押す

結果

選択Face範囲に含まれるMaterialとFace数が表示されます。

[0] Skin_Mat    120 face(s)
[1] Shirt_Mat 35 face(s)
[4] Old_Mat 3 face(s)

これにより、意図しないMaterialが混ざっているか確認できます。


11. 注意点

このAdd-onは、Mesh Objectの元Faceに対して処理します。

以下の状況では、見た目と処理結果が一致しない場合があります。

  • Geometry NodesでMaterialを上書きしている
  • Shader Node内で透明化やMix Shaderを使っている
  • Modifier適用前後でFace構造が変わっている
  • Linked LibraryやAsset由来のObjectで編集権限がない
  • 同じMaterial Dataを複数Objectで共有している

また、Material Dataを完全に消したい場合は、このAdd-onだけで完結しない場合があります。
不要なMaterial Dataは、OutlinerのOrphan DataでPurgeしてください。


12. このAdd-onで達成できること・できないこと

項目可否
選択Faceに含まれるMaterial一覧の確認可能
選択Faceから指定Materialを外す可能
選択FaceをActive Materialへ戻す可能
未使用Material Slotの削除可能
Material Data本体の完全削除直接は行わない
Fake UserのON/OFF管理現行版では行わない
Orphan DataのPurge現行版では行わない
Geometry Nodes後の生成Faceへの直接処理対象外

13. 用語の統一

取説やBlog記事では、次の表現で統一すると分かりやすくなります。

推奨表現意味
FaceのMaterial割り当てを変更するFaceの material_index を変更する
ObjectからMaterial Slotを削除するSlot枠をObjectから消す
Material SlotからMaterial Dataを外すSlotを空にする
Material DataをPurgeするMaterial本体を未使用データとして削除する
Fake Userを付ける未使用でもMaterial Dataを保持する

避けた方がよい表現は次です。

Materialを解除する
Materialを削除する
Material Slotから削除する
FaceからMaterialを消す

これらは、Slotを消すのか、Slotの中身を外すのか、Material Data本体を消すのかが曖昧になるためです。


【注意点・例外】

このAdd-onの「Unassign」は、Blenderの内部仕様に合わせた実用的な解除処理です。
厳密には、Faceを完全なMaterial未割り当て状態にするのではなく、選択Faceの参照先を空Material Slotへ変更します。

そのため、作業後に空Slotが残る場合があります。
不要な空Slotや未使用Slotは、Remove Unused Material Slots で整理してください。

ただし、空SlotをFaceが参照している場合、そのSlotは「使用中」扱いになります。
その場合は、Faceを別のMaterial Slotへ割り当て直してから整理する必要があります。


【出典】

Blender Manual – Material Assignment
https://docs.blender.org/manual/en/latest/render/materials/assignment.html

Blender Python API – MeshPolygon.material_index
https://docs.blender.org/api/current/bpy.types.MeshPolygon.html

Blender Python API – Mesh.materials
https://docs.blender.org/api/current/bpy.types.Mesh.html

Blender Manual – Data-block / Fake User
https://docs.blender.org/manual/en/latest/interface/controls/templates/data_block.html

Blender Developer Documentation – ID Datablocks
https://developer.blender.org/docs/features/core/datablocks/id_type/

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA