我想通过Python API在Blender(2.50)中创建一个简单的网格,但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
成员。
有没有选择呢?
答案 0 :(得分:3)
试用2.5x API的this文档。据我所知,尽管顶部有很多警告,但最常用的部分现在相当稳定。我还没有尝试过。
编辑:
我认为相关位是this section - 似乎你创建了一个顶点面等列表并将其传递给它。这似乎已经从我能找到的最新例子中改变了。尝试查看您的脚本文件夹 - 可能有一个示例,您可以查看。
编辑2:我已更新链接以指向当前的实时文档。那里的笔记表明现在可能有更好的方法可以做到这一点但是我已经做了很长时间了,因为我做了任何一个blender脚本,所以无法帮助更多。
答案 1 :(得分:1)