BlenderのShader Nodeの値をPython側から変更したかったのですが、意外とめんどくさかったので備忘録。
環境
Blender2.81
Windows10
コード
こんな感じのshaderの値にアクセスします。
Blenderはズブの素人なので、詳しい人いたらコメントお願いします。
import bpy
mat = bpy.data.materials[mat_name] # get material
node_tree = mat.node_tree # node tree of material
nodes = node_tree.nodes # nodes array of material
bsdf = nodes.get("Principled BSDF") # get shader node you want
bsdf.inputs['Metallic'].default_value = 1.0 # set value to inputs
bsdf.inputs['Roughness'].default_value = 0.0