一直線ばかりだったドミノを少し変化させていきたいと思います。倒すドミノを1枚づつ増やしていく配置としました。あまり面白味がないので、ドミノの配置に少し乱数を加え、マテリアルを2種類用意してランダムに割り当てました。
そろそろ立体にしてみようかと思っているところです。
#blender 3.0.0 import bpy import random for item in bpy.data.meshes: bpy.data.meshes.remove(item) domino_distance = 10 domino_count = 50 domino_width = 4 mat_b = bpy.data.materials.new("Blue") mat_b.diffuse_color = (0, 0, 1, 1.0) mat_w = bpy.data.materials.new("White") mat_w.diffuse_color = (1, 1, 1, 1.0) for x in range(1,domino_count): for y in range(x): x_location = (x - 1)*domino_distance + random.random() y_location = (y-x/2)*domino_width *3 bpy.ops.mesh.primitive_cube_add(location=(x_location, y_location, 0), scale=(1,domino_width,10),rotation=(0, 0, 0.0) ) bpy.ops.rigidbody.object_add() bpy.context.object.rigid_body.friction = 1 if random.random() > 0.6: bpy.context.object.data.materials.append(mat_w) else: bpy.context.object.data.materials.append(mat_b) if x== 1: bpy.context.object.rotation_euler[1] = 0.3 s=domino_distance * domino_count*1.2 bpy.ops.mesh.primitive_plane_add(size=s, location=(s/2 - 10, 0, -10 ), scale=(1, 1, 1)) bpy.ops.rigidbody.object_add() bpy.context.object.rigid_body.type = 'PASSIVE'