😘
Blenderでクルクルしてみる
はじめに
blenderにどっぷりつかって、アニメーションもそこそこ作り、次に大量のオブジェクトに規則正しい動きをさせようとしてAnimation Nodesさわったら、これはコードでやったほうが性に合ってるっぽいと感じたので、pythonで簡単なアニメーションを作成してみました。
動画のトランジットなんかで使えそうなやつです。
コードは以下のようになります。
縦横にcubeを5x5並べて、原点から離れている分、遅く回転するようにキーフレームを打ってます。
import bpy
import math
collection = bpy.data.collections.new('panel')
bpy.context.scene.collection.children.link(collection)
offx = 1
offy = 1
for i in range(5):
for j in range(5):
bpy.ops.mesh.primitive_cube_add(size=1, location=(i + offx * i, j + offy * j, 0))
bpy.ops.transform.resize(value=(1, 1, 0.2))
collection.objects.link(bpy.context.object)
for o in collection.objects:
d = math.ceil(math.hypot(o.location[0], o.location[1]))
o.keyframe_insert(data_path="rotation_euler", frame= d * 5)
o.rotation_euler.y = math.radians(360.0)
o.keyframe_insert(data_path="rotation_euler", frame= d * 5 + 20)
おわりに
pythonで操作できるようになって、自分の中では一つレベルが上がった気がします。
情報は調べればなんとかなりそうだし、自由度が高そうなので、僕はコードでアニメーションを操作していこうと思います。
Discussion