Panda 3d

Hola a todos.recién salgo del apasionante mundo de Blender ge me meto de cabeza en el apasionante mundo de panda 3d, un gran engine, sencillo, pero efectivo, que paso a ser gratuito hace, paso a ser gratuito, fue creado por Disney, yutiliza Python, pero puede ser usado con C++.

Lo cierto es que es el engine, lo suficientemente simple como para que lo pueda entender, más completo que he encontrado hasta ahora.

En serio, se lo recomiendo a todos, principiantes o no principiantes.

El código en Python queda muy legible y se entiende perfectamento, lo malo es cuando yo me pongo a escribir, que me salen los errores por todos lados.

Os dejo una muestra de código, es el hello world del programa:
Import direct, directbase. Directstart.

From pandac. Pandamodules import *.

From direct, tasque import task.

From direct, actor import actor.

From direct, interval. Intervalglobal import *.

Import math.
#cargar el escenario.

Environ = loader, loadmodel(models/environment).

Environ, reparentto (render).

Environ, setscale (0.25,0.25,0.25).

Environ, setpos(-8,42,0).
#función que dirige la cámara.

Def spincameratask(task):
Angledegres = task, time * 6.0.

Angleradians = angledegres * (math, pi / 180.0).

Base, Camera, setpos(20*math, sin(angleradians),-20.0*math, cos(angleradians),3).

Base, Camera, sethpr(angledegres, 0, 0).

Return task, cont.

Taskmgr, add(spincameratask, spincameratask).
#cargar el ppanda y su animación.

Pandaactor = actor. Actor(models/panda-model,{walk:models/panda-walk4}).

Pandaactor, setscale (0.005,0.005,0.005).

Pandaactor, reparentto (render).
#ejecutar la animación del panda.

Pandaactor, loop(walk).
#desesperados son lo intervalos de la secuencia de movimiento del panda.

Pandaposinterval1= pandaactor, posinterval(13,point3(0,-10,0), startpos=point3(0,10,0)).

Pandaposinterval2= pandaactor, posinterval(13,point3(0,10,0), startpos=point3(0,-10,0)).

Pandahprinterval1= pandaactor, hprinterval(3,point3(180,0,0), starthpr=point3(0,0,0)).

Pandahprinterval2= pandaactor, hprinterval(3,point3(0,0,0), starthpr=point3(180,0,0)).
#crear y ejecutar la secuencia de movimiento del panda.

Pandapace = sequence (pandaposinterval1, pandahprinterval1.

Pandaposinterval2, pandahprinterval2, name = pandapace).

Pandapace, loop().

Run().

Lo que hace este programa es que un panda empieza a andar de un lado a otro sobre un escenario, mientras la cámara da vueltas mirandosiempre al punte cntral.

Esta es la web: http://www.panda3dorg.

Con el programa vienen incntables ejemplos (unos quince o así) que son también muy fáciles de entender.

Fanáticos del 3d: a por panda 3d. (o al menos yo.

Ver más sobre el tema y los comentarios en el foro