ドミノの続きです。
ドミノは手で並べるのが面白いのでしょうけど、まずはちゃんと倒れるか確認するため、自動で渦巻き状に並べて試します。
少しずつ円を大きくするように三角関数を使えば、渦巻きになります。
import math,bpy
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()
bpy.ops.mesh.primitive_plane_add()
bpy.ops.transform.resize(value=(33,33,1))
bpy.ops.mesh.primitive_cube_add()
bpy.ops.transform.resize(value=(0.5,0.1,1))
bpy.ops.transform.translate(value=(0,0,1))
r=60
for i in range(50,500):
inc_r=720/i
rad_r=math.radians(r)
x=math.log2(i)/math.sqrt(i) * math.cos(rad_r)
y=math.log2(i)/math.sqrt(i) * math.sin(rad_r)
bpy.ops.object.duplicate()
bpy.ops.transform.translate(value=(x,y,0))
bpy.ops.transform.rotate(value=math.radians(inc_r),axis=(0,0,1))
r=r+inc_r
計算式は適当です。
蚊取り線香みたいなのができました。。。ドミノ牌と牌の間が狭い気がしますので、計算式で調節する必要がありますね。
一番最初のCubeを右クリックで選択して、iキー、locationを選択した後、
矢印キーの右を5回ぐらい押してフレームを進めた後、Cubeの位置を、次のCubeとぶつかる位置に移動させ、そこで、iキー、locationを選択します。
あとは、ALT+Aで、アニメーションします。
さっそく倒してみます。

失敗。いろんなところで倒れ始めます。剛体の設定をいろいろ調整しないといけないようです。
続く。

コメント
[…] ← Blenderドミノ(その2) […]