RGBA値を使用して
import bpy
from math import radians
# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=30, radius2=0, depth= 15)
# 円錐の位置を変更する
bpy.context.object.location[0] = 0.0 # X座標
bpy.context.object.location[1] = 0.0 # Y座標
bpy.context.object.location[2] = 15.0 # Z座標
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(90)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 2
# 円錐を選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]
# オブジェクトに名前を付ける
bpy.context.object.name = "Zion Cone"
このスクリプトでは、新しいマテリアルを作成し、シェーダーノードを使用して透明度を設定しています。また、マテリアルを円錐に割り当てるようにしています。RGBA値を設定する場合は、transparent_node.inputs[0].default_valueを設定することで可能です。例えば、赤色を使用する場合は、`transparent_node.inputs[0].default_value = (1.0, 0.0, 0.0
上記のコードでは、作成したマテリアルのRGBA値を (0, 1, 0, 0) に設定し、アルファ値を 0 に設定しているため、緑色になります。また、マテリアルに透明度を与えるために use_nodes を True に設定して、ノードを使って Emission ノードと Material Output ノードを接続しています。
import bpy
from math import radians
# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=30, radius2=0, depth=15)
# 円錐の位置を変更する
bpy.context.object.location[0] = 0.0 # X座標
bpy.context.object.location[1] = 0.0 # Y座標
bpy.context.object.location[2] = 15.0 # Z座標
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(90)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 2
# オブジェクトに名前を付ける
bpy.context.object.name = "Zion Cone"
# マテリアルを作成する
mat = bpy.data.materials.new(name="Green")
mat.diffuse_color = (0, 0.1, 0, 0.0) # RGBAの値を設定する (赤, 緑, 青, アルファ)
mat.use_nodes = True
nodes = mat.node_tree.nodes
links = mat.node_tree.links
emission = nodes.get("Emission")
if not emission:
emission = nodes.new(type='ShaderNodeEmission')
output = nodes.get("Material Output")
links.new(emission.outputs[0], output.inputs[0])
# オブジェクトにマテリアルを割り当てる
if len(bpy.context.object.material_slots) == 0:
bpy.context.object.data.materials.append(mat)
else:
bpy.context.object.material_slots[0].material = mat
import bpy
from math import radians
# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=30, radius2=0, depth=2)
# 円錐の位置を変更する
bpy.context.object.location[0] = 0.0 # X座標
bpy.context.object.location[1] = 0.0 # Y座標
bpy.context.object.location[2] = 0.0 # Z座標
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
# 円錐を選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]
# オブジェクトに名前を付ける
bpy.context.object.name = "Zion Cone"