Em homenagem ao artigo Blender estar na página principal desta semana da Wikipédia em português, fiz alguns testes com scripts Python dentro do Blender.
O que é Blender?
Blender (ou blender3D) é um programa de computador de código aberto, desenvolvido pela Blender Foundation, para modelagem, animação, texturização e renderização de modelos tridimensionais e, criação de aplicações interativas em 3D, tais como jogos, apresentações e outros. Possui motor de jogo integrado especial para produção de jogos, o Game Blender. Está disponível sobre uma licença dupla: Blender License e GNU General Public License.
Criando alguns botões:
from Blender.Draw import Register, PushButton, QKEY, ESCKEY, Exit
def draw():
PushButton(“Hello blender!”, 400, 100, 300, 100, 80, “Hello blender!!”)
PushButton(“Exit”, 400, 100, 270, 100, 20, “Q or ESC to exit”)
def event(evt, val):
if (evt == QKEY and not val) or (evt == ESCKEY):
Exit()
if __name__ == ‘__main__’:
Register(draw, event)
Mostrando os objetos da cena atual:
import Blender
obj = Blender.Object.Get()
print str(obj)
Criando um objeto Mesh e modificando o polígono:
from Blender import NMesh, Redraw
from math import sqrt
me = NMesh.GetRaw()
i = 0
j = 0
vertices = 9
n = sqrt(vertices)
for i in range(0, n, 1):
for j in range(0, n, 1):
v = NMesh.Vert(j, i, 0.0)
me.verts.append(v)
NMesh.PutRaw(me, “plane”, 1)
Redraw()
Criando a face do objeto Mesh:
import Blender
from Blender import NMesh
from math import sqrt
me=NMesh.GetRaw()
i = 0
j = 0
vertices = 9
n = sqrt(vertices)
n0=int(n)
for i in range(0, n-1):
for j in range(0, n-1):
f=NMesh.Face()
f.v.append(me.verts[i*n0+j ])
f.v.append(me.verts[i*n0+j+1 ])
f.v.append(me.verts[(i+1)*n0+j+1 ])
f.v.append(me.verts[(i+1)*n0+j ])
me.faces.append(f)
NMesh.PutRaw(me, “plane”, 1)
Blender.Redraw()
Artigos sobre BPY na Blender Artists e os scripts com a identação correta aqui
have fun!