忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

複数オブジェクトに同じマテリアルを設定する 【Blender】

Blender

投稿日:

やり方

  1. 割り当てたいオブジェクトを全て選択する
  2. 同じマテリアルにしたいマテリアルを持ったオブジェクトを、最後に選択する
    • アクティブオブジェクトにすると選択色がオレンジ色になる
  3. オブジェクト > リンク作成 > マテリアル (Ctrl + L) を実行する

アクティブオブジェクトのマテリアルが、他の選択オブジェクトのマテリアルに一括設定される。

【問題点】割り当ては同じスロットに対して行われる

このマテリアル割り当ては、同じスロットに対して行われる。

複数スロットが割り当て先オブジェクトにすでにあると、意図しないスロットだけに割り当てられてしまうという問題がある。

1スロットのオブジェクトのマテリアルのデータを、
3スロットのオブジェクトのマテリアルデータにコピーしようとしても、
1スロットだけが変わって2、3スロットはそのままになる。

解決法

アクティブオブジェクトのマテリアルスロットを、コピー先のスロット数の最大数と同じ数だけ作って、同じマテリアルを割り当てる。

マテリアルスロットを全て上書きしたい場合

一旦マテリアルを消してからリンク作成を実行する。

  1. 上書きしたいマテリアルをすべて選択する
  2. 下記のスクリプトをコンソールにて実行する
  3. 同じマテリアルにしたいマテリアルを持ったオブジェクトを、最後に選択する
  4. オブジェクト > リンク作成 > マテリアル (Ctrl + L) を実行する
for obj in bpy.context.selected_objects:
    obj.data.materials.clear()

マテリアル一括管理アドオン

プロジェクト内のマテリアルを全てリスト表示したり、様々な一括操作を行うことができる自作アドオン。
大量のマテリアルを管理したいプロジェクトでは、こちらをおすすめする。

3Dモデルなどの制作依頼はこちら

-Blender
-

Copyright© 忘却まとめ , 2021 All Rights Reserved Powered by STINGER.