【blender】引数で指定した数のUV球を円形に配置するAPIスクリプト

スポンサーリンク

コンテンツ

ができた気がする。blenderのバージョンは2.63a、試したのはUbuntu12.04

スクリプト

""" blender専用スクリプト。引数で指定した数のUV球を円形に配置する
"""

import bpy
import sys
argvs = sys.argv

""" UV球を円形に配置する。球の数はblender起動時に引数で指定する """
import math

n = int(argvs[3])
r = 4

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))

これを適当な名前で保存。とりあえず「argtest002.py」という名前でOK

実行結果

$ blender --python argtest002.py 4

で起動
Screenshot_from_2013-08-21 15:13:25

$ blender --python argtest002.py 12

で起動
Screenshot_from_2013-08-21 15:13:47

blenderAPIはpython3なので日本語(UTF-8)もそのまま記入できるみたい。
blender内で数値指定してマクロみたいに使えたらわりと便利かもしれないけど、やり方わからんね(´・ω・`)
こういう感じのものが素材的な感じで流用しやすくなるとモデリングしやすくなると思うけど、特に幾何学的なものが

参考リンク

というかこのAPIは引数処理以外はほぼ↓のページのやつのという^^;
情報処理 I - 第15回:Python による Blender の制御
なんか和歌山大学の資料っぽいんですが…使っていいんだよね?ありがとうございますです(^o^)