代码之家  ›  专栏  ›  技术社区  ›  guerda

如何通过Python API在Blender 2.50中创建简单网格

  •  6
  • guerda  · 技术社区  · 14 年前

    我想通过pythonapi在Blender(2.50)中创建一个简单的mesh,但是API文档中的示例还不起作用。

    我试过以下方法,但效果不好 from 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 成员。

    有什么办法可以做吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   neil    10 年前

    尝试 this 2.5x API文档。我知道,尽管顶部有很大的警告,但使用最多的部分现在相当稳定。我还没试过。

    编辑:

    this section -似乎你创建了一个顶点,面等列表,并把它传递给这个。这似乎与我能找到的最新例子有所不同。试着看看你的脚本文件夹-那里可能有一个例子,你可以看看。

        2
  •  1
  •   guerda    14 年前

    感谢neil,我从文档中找到了以下部分:

    Scripts for Blender 2.50 - Add Mesh Scripts

    我将尝试以下脚本并报告结果:

    Add Solid Object Mesh