viernes, 28 de mayo de 2010

Tutorial 3 NxOgre : Kinematics

En primer lugar vamos a explicar que son y para que sirven los Kinematics, son objetos donde no le afectan el estado de fisica de otros objetos, imaginate un ascensor en un videojuegos, puedes dispararle tirarle cosas, pero en verdad no se mueve, podriamos hacer el mismo ascensor, con Volumen, pero tendriamos que controlar, si un objeto ha entrado o ha salido. Poriamos crear un body, pero a este tipo de objeto si le afecta la fisica de su entorno.

Pongo traducido un trozo del texto bastante interesante de la Wiki NxOgre:

Nota: Como siempre en NxOgre, hay que distinguir entre un cuerpo y un actor. Un actor es sólo la representación física de un objeto físico y no es visible, mientras que un cuerpo es un actor más una visualización (por ejemplo, a través de Entitys Ogre). Lo mismo se aplica para un KinematicActor y KinematicBody una.

Este se aplica a casi todo en NxOgre, un actor es la representación fisica de un objeto, el body es el objto visual en si, unido con un SceneNode de Ogre.

Para crear objetos Kinematics, se realiza así:

mKB = mRenderSystem->createKinematicBody(new NxOgre::Box(20, 2, 20), NxOgre::Vec3(0, 12, 0), "CuboF.mesh");

Le pasamos un Shape, una posición y la malla del objeto.

Voy a pasar el codigo del ejemplo construido, para que veais lo que ocurrre. SRC BloodyMessTutorial5

En este ejemplo me he encontrado dos problemas, uno que sacando la SceneNode para crear otro Kinematics, no he podido rotar dicho objeto, he tenido realizar dicha rotación con mKB->setGlobalOrientation(Quaternion), no consiguiendo del todo la rotación y tampoco uqe ningun objeto colisione, con dicho objeto una vez rotado.

Y el segundo problema y menos comprensible, si cojemos la camara del objeto la movemos y la ponemos en la parte superior del ascensor y miramos hacia abajo como si estuvieramos colgados del techo, pulsamos la tecla espacio para lanzar cubos, alguno cubos colisionan contra el ascensor y otros se escapan, es un efecto bastante curioso y no sabemos si es por cula de la poca comprensión de esta fantastica libreria o tiene errores.

Si alguien nos pudera echar una mano estariamos encantandos.

Hasta la proxima.....

No hay comentarios:

Publicar un comentario

Gracias por tu comentario! :)