Как создать простую сетку в Blender 2.50 через Python API
Я хотел бы создать простую сетку в Blender (2.50) через Python API, но примеры из документации по 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
члены.
Есть ли варианты сделать это?
2 ответа
Попробуйте эту документацию для 2.5x API. Я понимаю, что, несмотря на большие предупреждения в верхней части, наиболее часто используемые разделы сейчас достаточно стабильны. Я еще не пробовал.
РЕДАКТИРОВАТЬ:
Я думаю, что уместным является этот раздел - кажется, вы создаете список граней вершин и т. Д. И передаете его этому. Это, кажется, изменилось от самых последних примеров, которые я могу найти. Попробуйте поискать в своей папке скриптов - там может быть пример, который вы можете посмотреть.
РЕДАКТИРОВАТЬ 2: Я обновил ссылку, чтобы указывать на текущие документы. Заметки там предполагают, что, вероятно, есть лучшие способы сделать это сейчас, но прошло много времени с тех пор, как я делал какие-либо скрипты для блендера, поэтому больше ничего не могу поделать.
Благодаря Нилу, я нашел следующий раздел из документации:
Сценарии для Blender 2.50 - Добавить Mesh Scripts
Я попробую следующий скрипт и сообщу о своих результатах: