「Blenderスクリプトでチョコレートブロック(その2)」の続きです。
CYCLESエンジンにしてから、グラスに新規マテリアルを設定します。
mat=bpy.data.materials.new(name='Material.001') bpy.context.object.data.materials.append(mat)
ノードを有効にして、新規追加します。ガラスっぽくするので、BsdfGlassにします。
mat.use_nodes=True mat.node_tree.nodes.new(type='ShaderNodeBsdfGlass')
ノードを入力出力つなげたら、オブジェクトにマテリアルを設定します。
inp = mat.node_tree.nodes['Material Output'].inputs['Surface'] outp = mat.node_tree.nodes['Glass BSDF'].outputs['BSDF'] mat.node_tree.links.new(inp,outp) bpy.data.objects['Curve'].active_material = mat
床には色は付けません。
bpy.context.scene.cursor_location = (0,0,0) bpy.ops.mesh.primitive_plane_add() bpy.ops.transform.resize(value=(99, 99, 1))
ランプが明るくなるように設定。
lamp=bpy.data.lamps['Lamp'] bpy.data.scenes['Scene'].cycles.samples=10 bpy.data.lamps['Lamp'].shadow_soft_size=1
strengthは、ノードから指定します。
lamp.use_nodes=True lamp.node_tree.nodes['Emission'].inputs['Strength'].default_value = 10000
全スクリプトです。
bpy.context.scene.render.engine='CYCLES' mat=bpy.data.materials.new(name='Material.001') bpy.context.object.data.materials.append(mat) mat.use_nodes=True mat.node_tree.nodes.new(type='ShaderNodeBsdfGlass') inp = mat.node_tree.nodes['Material Output'].inputs['Surface'] outp = mat.node_tree.nodes['Glass BSDF'].outputs['BSDF'] mat.node_tree.links.new(inp,outp) bpy.data.objects['Curve'].active_material = mat bpy.context.scene.cursor_location = (0,0,0) bpy.ops.mesh.primitive_plane_add() bpy.ops.transform.resize(value=(99, 99, 1)) lamp=bpy.data.lamps['Lamp'] bpy.data.scenes['Scene'].cycles.samples=10 bpy.data.lamps['Lamp'].shadow_soft_size=1 lamp.use_nodes=True lamp.node_tree.nodes['Emission'].inputs['Strength'].default_value = 10000
コメント
[…] ← Blenderスクリプトでチョコレートブロック(その3) […]