blender python
1x1x1の 立方体を作る
中心 000
import bpy
# 新しいメッシュオブジェクトを作成
bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))
# オブジェクトを選択状態にする
obj = bpy.context.active_object
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
import bpy
import random
from mathutils import Vector
# 選択されているオブジェクトをクリア
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type='MESH')
bpy.ops.object.delete()
# 立方体を作成
bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))
cube = bpy.context.active_object
# 円柱を10本ランダムに描く
for _ in range(10):
# ランダムな位置を生成
random_position = Vector((random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5)))
# 円柱を作成
bpy.ops.mesh.primitive_cylinder_add(radius=0.03, depth=3, location=random_position)
# 立方体を選択
cube.select_set(True)
bpy.context.view_layer.objects.active = cube
円柱をランダムに回転させ、方向を変える
import bpy
import random
from mathutils import Vector, Euler
# 選択されているオブジェクトをクリア
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type='MESH')
bpy.ops.object.delete()
# 立方体を作成
bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))
cube = bpy.context.active_object
# 円柱を10本ランダムに描く
for _ in range(10):
# ランダムな位置を生成
random_position = Vector((random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5)))
# ランダムな回転を生成(オイラー角度)
random_rotation = Euler((random.uniform(0, 2 * 3.1416), random.uniform(0, 2 * 3.1416), random.uniform(0, 2 * 3.1416)), 'XYZ')
# 円柱を作成
bpy.ops.mesh.primitive_cylinder_add(radius=0.03, depth=3, location=random_position, rotation=random_rotation)
# 立方体を選択
cube.select_set(True)
bpy.context.view_layer.objects.active = cube
立方体を 水色透明にして
import bpy
# 立方体を作成
bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))
cube = bpy.context.active_object
# 立方体のマテリアルを作成
mat = bpy.data.materials.new(name="TransparentBlue")
mat.use_nodes = False # ノードを使用しない
# マテリアルの色を水色に設定
mat.diffuse_color = (0, 0.5, 1, 0.5) # RGBAの色と透明度
# 立方体にマテリアルを割り当て
cube.data.materials.append(mat)
# 立方体を選択
cube.select_set(True)
bpy.context.view_layer.objects.active = cube