6

Python API を使用して Blender (2.50) で単純なメッシュを作成したいのですが、API ドキュメントの例はまだ機能しません。

私は以下を試しましたが、それはAPI 2.49からのものです

   from Blender import *
   import bpy

   editmode = Window.EditMode()    # are we in edit mode?  If so ...
   if editmode: Window.EditMode(0) # leave edit mode before getting the mesh

   # define vertices and faces for a pyramid
   coords=[ [-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1] ]  
   faces= [ [3,2,1,0], [0,1,4], [1,2,4], [2,3,4], [3,0,4] ]

   me = bpy.data.meshes.new('myMesh')          # create a new mesh

   me.verts.extend(coords)          # add vertices to mesh
   me.faces.extend(faces)           # add faces to the mesh (also adds edges)

   me.vertexColors = 1              # enable vertex colors 
   me.faces[1].col[0].r = 255       # make each vertex a different color
   me.faces[1].col[1].g = 255
   me.faces[1].col[2].b = 255

   scn = bpy.data.scenes.active     # link object to current scene
   ob = scn.objects.new(me, 'myObj')

   if editmode: Window.EditMode(1)  # optional, just being nice

facesメッシュ オブジェクトにはまたはvertsメンバーがないため、これは機能しません。

これを行うオプションはありますか?

4

2 に答える 2

3

2.5x API については、このドキュメントを試してください。上部に大きな警告が表示されているにもかかわらず、最も使用されているセクションは現在かなり安定していることを理解しています. まだ試していません。

編集:

関連するビットはこのセクションだと思います-頂点面などのリストを作成してこれに渡すようです。これは、私が見つけた最新の例から変更されたようです。スクリプト フォルダを調べてみてください - 参照できる例がそこにあるかもしれません。

編集 2: 現在のライブ ドキュメントを指すようにリンクを更新しました。そこにあるメモは、おそらくこれを行うためのより良い方法があることを示唆していますが、ブレンダーのスクリプトを作成してから長い時間が経過しているため、これ以上のことはできません.

于 2010-09-07T09:06:11.877 に答える
1

ニールのおかげで、ドキュメントから次のセクションを見つけました。

Blender 2.50 のスクリプト - メッシュ スクリプトの追加

次のスクリプトを試して、結果を報告します。

ソリッド オブジェクト メッシュを追加

于 2010-09-08T11:33:25.743 に答える