Blenderドミノ(その2)

ドミノの続きです。

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

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で、アニメーションします。

さっそく倒してみます。

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

続く。

コメント

  1. […] ← Blenderドミノ(その2) […]

タイトルとURLをコピーしました