Doc:JA/2.6/Manual/Extensions/Python/Geometry

提供: wiki
< Doc:JA‎ | 2.6‎ | Manual‎ | Extensions‎ | Python
移動先: 案内検索

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]]