ドミノの続きです。
ドミノは手で並べるのが面白いのでしょうけど、まずはちゃんと倒れるか確認するため、自動で渦巻き状に並べて試します。
少しずつ円を大きくするように三角関数を使えば、渦巻きになります。
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) […]