2º Versión del CuboLoco, ahora con colisiones

9 05 2010

Aqui presnetamos la 2º version del CuboLoco, ahora con colisiones simples, utilizando la AABB, Eje Coordenadas de la Caja Alineados.

Siguientes tutoriales explicaremos colisiones simples….

SRC CuboLoco

CuboLoco v2


Acciones

Information

3 responses

15 05 2010
Alba

Hola! Estaba echando un vistazo a tus tutoriales y como veo que tienes idea quería saber si me podrías dar una idea para solucionar un problema que tengo y no se como solucionarlo. Te lo simplifico para que entiendas, imagina que tengo cubos sobre un terreno, y puedo moverlos con el ratón (usando CEGUI), quiero que dichos cubos no se atraviesen, pero usando lo que tú usas no me funciona, porque eso lo tengo dentro del método mouseMoved, y al final se atraviesan, sabes cómo podría solucionarlo? Gracias de antemano!!

15 05 2010
Alba

Hola! Estaba echando un vistazo a tus tutoriales y como veo que tienes idea quería saber si me podrías dar una idea para solucionar un problema que tengo y no se como solucionarlo. Te lo simplifico para que entiendas, imagina que tengo cubos sobre un terreno, y puedo moverlos con el ratón (usando CEGUI), quiero que dichos cubos no se atraviesen, pero usando lo que tú usas no me funciona, porque eso lo tengo dentro del método mouseMoved, y al final se atraviesan, sabes cómo podría solucionarlo? Gracias de antemano!!!

16 05 2010
freakteam

Hola alba me llamo manuel, entiendo esto así…., se supone que cuando tu haces un mouseMoved, vas cambiando la posicion de tus cubos, se supone , que se utilizas la colisión simple, deberias llamar al metodo de activar colisiones y no permiitr seguir aumentando la posicion de los cubos, si hay algun tipo de colision, lo que hacemos en este ejemplo, es todo lo contrario, a lo que tu tienes, ya que nosotros desviamos la posición del cubo hacia otra dirección
Lo que tu debess hacer es impedir que tu objeto avanze en la dirección que estas moviendo con el raton cuandno se produzca alguna colisión.

Entiendo que tu metodo quedaria algo así:

bool mouseMove(…){

Ogre::Vector3 viejaPosicion = objeto->getPosition();
objeto->setPosition(x++,y,z);
if(objeto->getWordlAABB()->intersections(“Con los demas objetos”){
objeto->setPosition(viejaPosicion);
}

}

Espero haberte ayudado, si quieres solo tienes que mandarnos el proyecto, y intentamos ayudarte.

Un saludo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: