Aprende programación






5 sept 2009

Java 3D - Moverse por una casa usando los cursores


A continuación os dejo público una aplicación que hice para otro artículo de la revista "Solo Programadores" programada con Java3D. Esta aplicación consiste en una casa diseñada en una matriz y el usuario es capaz de moverse por esta. Curiosamente este artículo también apareció en portada de la revista lo cual me gustó. Aunque quizá el título que eligieron "Realidad virtual" se salga un poco del objetivo, que era aprender Java3D.


Java3D es un entorno bastante curioso. Consiste en generar un arbol de objetos de manera que cada nodo puede tener unas propiedades de rotación, traslado, escalado o cualquier matriz de transformación que le queramos aplicar. Cuando se aplica una matriz de rotación sobre un nodo todos los objetos que descienden de ese nodo quedan rotados con los mismos grados. Desde el punto de vista real, tiene bastante lógica. Cuando un personaje rota un brazo todo el brazo queda rotado. Pero si a su vez rotamos la muñeca está tendrá aplicada dos rotaciones el correspondiente al brazo y el concreto de la muñeca. En este caso el brazo estaría por encima de la muñeca dentro del diseño del árbol.

Desde el punto de vista del diseño, la casa está compuesta por paredes, puertas, camas y mesas. No es que sea mucho, pero está bién para ser un ejemplo. Claramente no se puede traspasar las paredes, camas y mesas. En el caso de las puertas hay un efecto muy curioso que consiste en que se abra la puerta automaticamente cuando te acercas. Finalmente, podreis ver en un pequeño plano 2D el mapa desde la parte superior para saber exactamente donde estais en cada momento.

Para ejecutarlo disponeis de un fichero Casa3D.bat que os permitirá lanzar la aplicación con el classpath conectado a los ficheros .jar.

No hay comentarios:

Publicar un comentario