Realidad Virtual
información adicional
jaume ferrer i rosera
4. EJEMPLO 1: Control de rotaciones
de objetos anidados mediante scripting
Sobre la atracción de Las
Tazas Locas de la Práctica 2:
Aquí tenéis un ejemplo muy simple y austero del principio de funcionamiento
de una atracción tipo Tazas Locas para que os ayude a arrancar a la hora
de construir vuestra propia versión. Básicamente se trata de dos
PROTOS anidados (Diamante y Subconjunto) a partir de los cuales definimos los
elementos básicos que se irán repitiendo. Después creamos
instancias de esos protos y finalmente añadimos algún elemento
de interfaz de usuario y escribimos un script definiendo el comportamiento de
la aplicación.
El código está documentado con comentarios para que os resulte más fácil comprender su funcionamiento.
En la cabecera de los Protos se encuentran las entradas de información que serán necesarias para canviar las características de los objetos desde fuera, cuando creemos instancias de ellos o cuando los controlemos desde un script.
Para simplificar el estudio del código no se han usado Inlines, ni texturas, ni sonidos, de modo que todo el código se encuentra a la vista en el mismo archivo. En vuestro caso podéis complicarlo cuanto queráis a condición de que funcione.
Las funciones de JavaScript que controlan el comportamiento de los objetos podrían hacerse mucho más sofisticadas, así como la forma de capturar las acciones del usuario (ahora sólo una bola roja 'sensible al tacto'). Añadiendo otros elementos de interfaz y modificando el código actual podría conseguirse variar la velocidad y sentido de giro, por ejemplo. Así mismo, los objetos deberían modelarse de acuerdo a los objetivos de la aplicación según vuestro propio planteamiento de diseño de interacción.
Se ha desestimado el uso de la función de JavaScript setTimeout() por incompatibilidades con el VRML y se ha usado en su lugar un TimeSensor que trabaja como un reloj que va llamando a la función encargada de calcular las rotaciones.
Este ejemplo debe tomarse sólo como una ayuda al desarrollo de vuestra propia versión de la Tazas Locas, no como algo que deba seguirse al pie de la letra: