Doc:JA/2.6/Manual/Extensions/Python/Geometry
< Doc:JA | 2.6 | Manual | Extensions | Python
2013年5月10日 (金) 19:55時点におけるwiki>Blendmildによる版 (modify 1 word)
Geometry
ここでは geometry の作成を扱う予定です。 さしあたり、これが見本となるコードです:
import bpy
# 頂点座標を定義します。各頂点は3つの浮動小数点数の並びで定義されます。
coords=[(-1.0, -1.0, -1.0), (1.0, -1.0, -1.0), (1.0, 1.0 ,-1.0), \
(-1.0, 1.0,-1.0), (0.0, 0.0, 1.0)]
# この添字(coordsの要素それぞれに、登場順に振られた番号です)を使って
# 面を定義します。各面は4つの整数の並びで定義されます。
# 三角形の面は最初の頂点と4つ目の頂点が同じになる必要があります。
faces=[ (2,1,0,3), (0,1,4,0), (1,2,4,1), (2,3,4,2), (3,0,4,3)]
me = bpy.data.meshes.new("PyramidMesh") # 新規メッシュを作ります
ob = bpy.data.objects.new("Pyramid", me) # メッシュでオブジェクトを作ります
ob.location = bpy.context.scene.cursor_location # オブジェクトを 3D カーソルの位置に置きます
bpy.context.scene.objects.link(ob) # オブジェクトをシーンにリンクします
# メッシュの頂点、辺、面を埋めます
me.from_pydata(coords,[],faces) # 辺か面は [] にすべきです。そうしないと問題が起こるでしょう
me.update(calc_edges=True) # 新たなデータでメッシュを更新します
Source: [[1]]