Tu estás aquí: ¡Bienvenido! » Traducciones » Panda3D Básico
Usuario
Buscar páginas
Esta Pagina
General

Panda3D Básico

Panda3D es un motor 3D: una biblioteca de subrutinas para renderizar en 3D y el desarrollo de juegos. La biblioteca esta escrita en C++ con un conjunto de enlaces Python. El desarrollo de juegos con Panda3D por lo general consiste en escribir un programa Python o C++ que controla la biblioteca Panda3D.

Panda fue creado para el desarrollo de juegos comerciales, y sus principales usuarios son todavía los desarrolladores comerciales de juegos. Debido a esto, Panda3D necesita enfatizar en cuatro áreas: poder, velocidad, integridad y tolerancia a errores. Todo el mundo sabe lo que el poder y la velocidad son. Sin embargo, la integridad y la tolerancia a errores merecen ser más comentados.

La integridad significa que Panda3D contiene toneladas de herramientas poco divertidas pero esenciales: navegación gráfica de escena, monitor de endimiento, optimizador de animación, y así sucesivamente. Estas cosas pueden no ser sexy, y como resultado, los motores open-source a menudo no las tienen. Pero cuando se está decidido hacer bien el trabajo, y no sólo jugar, estos instrumentos deben estar allí.

La tolerancia a errores es sobre el hecho de que todos los desarrolladores de juegos introducen errores. Cuando lo hacen, usted quiere que su motor de un mensaje de error claro que ayude a encontrar el error. Muchos motores sólo se bloquean si se pasa el valor incorrecto a una función. Panda3D casi nunca falla, y mucho código se dedica a la dificultad de localizar y aislar errores.

Por último, para volver al poder y la velocidad: la mejor forma de medir las capacidades Panda3D es echar un vistazo a los programas de ejemplo. Estos son programas cortos que demuestran las capacidades de Panda3D. Las capturas de pantalla, tomadas en una Radeon X700, tienen los cuadros por segundo en la esquina superior derecha.

Panda3D fue desarrollado por Disney para su juego multijugador online masivo, Toontown. Fue lanzado como software libre en 2002. Panda3D ahora es desarrollado en conjunto por Disney y el Entertainment Technology Center de la Universidad de Carnegie Mellon.

Puede leer más sobre las características de Panda3D.

Panda3D no es una herramienta de principiante o un juguete

Para utilizar correctamente Panda3D, debe ser un programador avanzado. Si no sabe lo que es un “API” es, o si no sabe lo que es un “árbol”, probablemente encontrara Panda3D abrumador. Esto no es una herramienta para hacer juegos con clic: esta es una herramienta para profesionales. Si bien es importante señalar esto para que tenga expectativas precisas, también es relevante tener en cuenta que Panda3d es uno de los motores más fáciles y más poderosos que jamás pueda utilizar, y su participación es bienvenida.

Si acaba de empezar a programar, le sugerimos que su mejor opción es comenzar con una clase de programación. Alternativamente, podría intentar enseñar a sí mismo utilizando una herramienta de formación como Alice, también de CMU. Mientras que en la discusión sobre las herramientas, hay que señalar aquí como referencia que “Scene Editor” es una herramienta muy útil para la construcción de componentes de su aplicación panda y si desea optar por probarlos una vez que se sienta cómodo usando panda, entonces usted puede encontrar información sobre ellos en la sección VIII: H del manual.

Algunas personas han visto capturas de pantalla de juegos para niños escrito en Panda3D, y han concluido que Panda3D es gráficamente limitado. No es así. Los desarrolladores de juegos para niños a menudo optan por no utilizar shaders o otro tipo de gráficos avanzados, porque los niños suelen tener equipos más antiguos. Pero Panda3D soporta la gama completa de lo que los motores modernos pueden hacer: proporciona soporte adecuado para el “normal mapping”, “gloss mapping”, “HDR”, coloreo y sombreado de dibujos animados, “bloom” y un número de otras cosas. También le permite escribir sus propios shaders, por lo que es capaz de cualquier cosa.

La gente a veces tiene la impresión errónea de que Panda3D está escrito en python, lo que lo haría muy lento. Pero Panda3D no está escrito en python - está escrito en C++. Python es sólo para scripting, los desarrolladores suelen escribir las partes de rendimiento intensivo en C++. Para ver qué cantidad de imágenes por segundo da típicamente un pequeño programa en Panda3D , eche un vistazo a las capturas de pantalla de los programas de ejemplo. Estas fueron tomadas con una Radeon X700. Por supuesto, sólo un programa de ejemplo se pueden ejecutar a 400fps, pero, pero para un juego real, 60 fps es bastante posible. Una advertencia, sin embargo: para obtener ese tipo de rendimiento, es necesario comprender las tarjetas 3D y optimización del rendimiento 3D. Esto no sucede automáticamente. Panda3D incluye herramientas que necesita para lograr 60fps.

Licencia de Software Panda3D

Desde la versión 1.5.3, Panda3D ha liberado bajo la llamada “licencia BSD modificada,” que es una licencia de software libre con muy pocas restricciones sobre su uso. En las versiones 1.5.2 y anteriores, se utilizó una licencia propietaria que era muy similar en intención a las licencias BSD y MIT, aunque hay cierto desacuerdo acerca de la libertad entregada por dos de las cláusulas. La licencia antigua todavía se puede acceder aquí.

Aunque el motor en sí es totalmente gratuito, viene con varias bibliotecas de terceros que no son software libre. Algunas de ellas (como FMOD) incluso restringe el uso en juegos comerciales, a menos que se tenga una copia con licencia de FMOD. Por esta razón, Panda3D hace que sea fácil desactivar o borrar esas bibliotecas restringidas de terceros, y la mayor parte del tiempo ofrece una alternativa. Por ejemplo, en lugar de FMOD también viene con OpenAL, que puedes usar en su lugar.

Usted puede leer la licencia de Panda3D.

Quién está trabajando en Panda3D

Hay un número de desarrolladores en la comunidad comercial y open-source. En la actualidad, los dos miembros más activos de la comunidad de desarrollo son de Disney y el Entertainment Technology Center en la Universidad Carnegie Mellon. Debido a que ambas organizaciones tienen objetivos específicos, Panda3D necesariamente debe servir a ambos:

  • El interés primario de Disney en Panda3D es comercial. Panda3D se está utilizando en el desarrollo de una serie de juegos de Disney y exposiciones en parques de atracciones. Para atender las necesidades de Disney, Panda3D debe ser un motor completamente equipado, capaz de todas las prestaciones y la calidad que uno espera en cualquier título comercial de categoría A.
  • El objetivo principal Entertainment Technology Center es la educación. Para atender las necesidades del Entertainment Technology Center, Panda3D deben estar bien adaptados para su uso en proyectos de estudiantes. Dado que los estudiantes tienen un talento único para causar errores, se necesita fiabilidad a prueba de balas. Dado que los proyectos duran un semestre, la curva de aprendizaje debe ser muy corta, y el prototipado debe ser muy rápido.

Como resultado, los dos conjuntos de objetivos son complementarios. El desarrollo rápido y una alta fiabilidad que necesita el Entertainment Technology Center también son muy ventajosos, en un estudio de desarrollo de juegos, ya que disminuye el tiempo de desarrollo y los costos. La calidad visual y el conjunto de características completo necesitado por Disney para hacer un juego de calidad profesional también llega a ser útil en un entorno universitario: con una amplia gama de características a su disposición, los estudiantes pueden explorar su creatividad con más detalle de lo que podrían con un motor más limitado.

El idioma con mayor respaldo es Python. Aunque puede utilizar C++ también, la documentación se encuentra principalmente dirigida a utilizar Python.

El capítulo introductorio

Este capítulo introductorio del manual está diseñado para ir a través de algunos de los aspectos básicos del uso de Panda3D. Este capítulo está estructurado como una tutoría, no como una referencia.

 
traducciones/que_es_panda3d.txt · Última modificación: 04/08/2010 a las 23:23 por alej0
Este sitio funciona sobre el motor wiki de DokuWiki.
© 2003-2008 Hugo Ruscitti