隅歩つ

書いて理解を深める

BlenderのPython APIでマテリアル設定

BlenderPython API(以下、bpy)が理解が難しいです。

なかなかしっくりきませんが、あきらめずにがんばってます。

今回はマテリアルを設定してみます。

自力でドキュメントで理解とかは無理なので、この本で勉強しています。

BlenderユーザーのためのPython入門

BlenderユーザーのためのPython入門

  • 作者:大西 武
  • シーアンドアール研究所
Amazon

マテリアル設定の最初

デフォルトのcubeに色を付けます。

コードの全体像はこちら↓

import bpy

for m in bpy.data.materials:
    color = (0, 1, 1, 1)
    m.use_nodes = True
    bsdf = m.node_tree.nodes["Principled BSDF"]
    bsdf.inputs[0].default_value = color
    bsdf.inputs[4].default_value = 1
    bsdf.inputs[7].default_value = 0.5
    m.diffuse_color = color

まず、色を設定します。

RGBで設定します。
今回は、GとBと透明度を100%にしました。

color = (0, 1, 1, 1)

ノードを使うようにセットします。

m.use_nodes = True

「プリンシプルBSDF」をセットします。

bsdf = m.node_tree.nodes["Principled BSDF"]

色、メタリック、ラフネスを設定します。

bsdf.inputs[0].default_value = color
bsdf.inputs[4].default_value = 1
bsdf.inputs[7].default_value = 0.5

最後にディフューズをセットします。

m.diffuse_color = color

docs.blender.org

これをScriptingで実行すると以下のようになります。

docs.blender.org

https://yuuuha.hatenablog.com/entry/bpy_primitiveyuuuha.hatenablog.com

note.com