blender python
トーラスを作る
半径1 薄い青
マイナー半径 0.05
RGBA 4値で 色を付ける
import bpy
# トーラスを作成
bpy.ops.mesh.primitive_torus_add(
align='WORLD',
location=(0, 0, 0), # トーラスの中心の座標
rotation=(0, 0, 0), # トーラスの回転
major_radius=2, # 半径
minor_radius=0.03 # マイナー半径
)
# トーラスの名前を設定
torus_object = bpy.context.active_object
torus_object.name = "Torus_radius=2" # 名前を設定
# トーラスのマテリアルを作成
material = bpy.data.materials.new(name="Radius2Material")
material.use_nodes = False # ノードを使用しない
# 色を指定(RGBA) - もう少し濃い水色
material.diffuse_color = (0.2, 0.4, 1, 1)
# トーラスにマテリアルを割り当て
torus_object.data.materials.append(material)
import bpy
import math
# 半径
radius = 2
# 正六角形の頂点座標を計算
vertices = []
for i in range(6):
angle = i * math.pi / 3 # 60度ごとに頂点を配置
x = radius * math.cos(angle)
y = radius * math.sin(angle)
z = 0
vertices.append((x, y, z))
# 新しいメッシュを作成
mesh = bpy.data.meshes.new(name="正六角形_r=2_mesh")
obj = bpy.data.objects.new("正六角形_r=2", mesh)
# メッシュデータに頂点座標を設定
mesh.from_pydata(vertices, [], [(0, 1, 2, 3, 4, 5)])
# シーンに追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# オブジェクトをアクティブに設定
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
# マテリアルを作成
material = bpy.data.materials.new(name="水色Material")
material.use_nodes = False
material.diffuse_color = (0.5, 0.8, 1.0, 1.0) # RGBA
# オブジェクトにマテリアルを割り当て
obj.data.materials.append(material)