Realidad Virtual
información adicional
jaume ferrer i rosera

<< índice FAQs

 

21. Scripting: Mover objetos con PlaneSensor con detección de colisiones

Consulta:
¿Cómo disponer de controles que permitan mediante PlaneSensor desplazar un objeto sin salirse de unos límites y consiguiendo que detecte cuando atraviesa otros objetos?

Respuesta:
Se han preparado tres ejemplos simples que usan un sencillo script. En esencia se trata de que con un ROUTE dirigimos las coordenadas que genera el planesensor hasta una función de javascript que las compara con los límites del espacio y con los de la caja contenedora de los objetos con los que deseamos detectar colisiones. Si no se detectan colisiones se reenvían las coordenadas del planesensor al objeto que queremos mover. En caso contrario podemos no enviar nada (con lo cual el objeto se detendría) o bien cambiar cualquier otra cosa de la escena para señalar la colisión, como por ejemplo un cambio de color.

Funcionan con Cortona pero no con CosmoPlayer, lo siento.

Visualizar plane_2D_1 [movimiento 2D. El planesensor va dentro del propio objeto que queremos mover]
Código fuente
[si guardáis el archivo de código fuente en vuestro disco duro y lo editáis con VrmlPad podréis ver el código coloreado]

Visualizar plane_2D_2 [Variante del anterior pero con el planesensor en un objeto aparte distinto del objeto que queremos mover]
Código fuente
[si guardáis el archivo de código fuente en vuestro disco duro y lo editáis con VrmlPad podréis ver el código coloreado]

Visualizar plane_3D [Variante del anterior con movimiento 3D. Hay dos planesensors (XYZ) asociados a dos objetos]
Código fuente
[si guardáis el archivo de código fuente en vuestro disco duro y lo editáis con VrmlPad podréis ver el código coloreado]