作成スクリプト。
http://www.morere.eu/local/cache-code/7006f73d4d11f359e51f8add3d0e82f4.txt
結構簡単なスクリプトでできるんですね。
参考になりそうです。
bpy.ops.graph.sound_bakeってところでmp3のファイルを解析してるんですね。
---------
import bpy
rows = 5
columns = 5
r = 0
c = 0
def spiral(X, Y):
x = y = 0
dx = 0
dy = -1
for i in range(max(X, Y)**2):
if (-X/2 < x <= X/2) and (-Y/2 < y <= Y/2):
print(x,y)
bpy.ops.mesh.primitive_cube_add(location = (x, y, 0))
bpy.context.scene.cursor_location = bpy.context.active_object.location
bpy.context.scene.cursor_location.z -= 1
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
####
bpy.context.active_object.scale.x = 0.5
bpy.context.active_object.scale.y = 0.5
bpy.context.active_object.scale.z = 3.5
bpy.ops.object.transform_apply(scale=True)
bpy.ops.anim.keyframe_insert_menu(type='Scaling')
bpy.context.active_object.animation_data.action.fcurves[0].lock = True
bpy.context.active_object.animation_data.action.fcurves[1].lock = True
bpy.context.area.type = 'GRAPH_EDITOR'
step = 19000/(rows*columns)
bpy.ops.graph.sound_bake(filepath="/home/yann/Documents/articles_lpmag/article_blender_soundvisualizer/blend/Grace_Valhalla_-_99__.mp3", low=i*step, high=i*step + step)
bpy.context.active_object.animation_data.action.fcurves[2].lock = True
if x == y or (x < 0 and x == -y) or (x > 0 and x == 1-y):
dx, dy = -dy, dx
x, y = x+dx, y+dy
spiral(rows, columns)
bpy.context.area.type = 'TEXT_EDITOR'
----------
0 件のコメント:
コメントを投稿