|
Hola Creadores!!
De un tiempo a esta parte, he observado que existen dificultades para asimilar el funcionamiento de los scripts de rotación. Es decir, esos que nos permiten abrir y cerrar cajas, puertas, etc...Y aunque al final siempre se acaba de comprender, este proceso puede ralentizar las clases presenciales de construcción cuando se ve implicado en estas dicho script. Con este manual que incluye dos scripts libres para que os copiéis , trataré de explicar a nuevos y no tan nuevos como funcionan estos en relación con los prims que participan en el trabajo. A continuación, incluimos el código del script que debéis copiar e introducir en el prim que va a ser móvil. Antes de continuar tener en cuenta dos cosas: 1- El resultado del script ante el evento Touch, solo se verá correctamente una vez linkeada o unida la prim puerta a la prim pared. 2- Si el sentido de la rotación de 90º no se adecua al trabajo que estemos realizando, tendremos que modificar las la lineas 24 y 38 del script, cambiando así el eje por el que rotará. Hay tres posibilidades: A) Línea 24 rotation thisrotation = llEuler2Rot(<0.0, 0.0, -90.0 * DEG_TO_RAD>) * llGetRot(); Línea 38 rotation thisrotation = llEuler2Rot(<0.0, 0.0, 90.0 * DEG_TO_RAD>) * llGetRot(); B) Línea 24 rotation thisrotation = llEuler2Rot(<0.0, -90.0, 0.0 * DEG_TO_RAD>) * llGetRot(); Línea 38 rotation thisrotation = llEuler2Rot(<0.0, 90.0, 0.0 * DEG_TO_RAD>) * llGetRot(); C) Línea 24 rotation thisrotation = llEuler2Rot(<-90.0, 0.0, 0.0 * DEG_TO_RAD>) * llGetRot(); Línea 38 rotation thisrotation = llEuler2Rot(<90.0, 0.0, 0.0 * DEG_TO_RAD>) * llGetRot(); Como veis lo único que cambia es el eje por el que se rotarán 90 y –90º.Sólo tenéis que adecuar el script a vuestras necesidades // Empiece del script-----------------------PUERTA------------------------------------------- integer estadopuerta = FALSE; rotation rotactual; default { state_entry() { } touch_start(integer total_number) { rotation rootrot = llGetRootRotation(); if (estadopuerta) { rotation thisrotation = llEuler2Rot(<0.0, 0.0, -90.0 * DEG_TO_RAD>) * llGetRot(); llSetLocalRot(thisrotation / rootrot); estadopuerta = FALSE; llPlaySound("sonido abrir", 5.0); // Modifica esta línea para poner sonido, metiendo un sonido en contenido y cambiando aquí su nombre o renombrándolo sonido abrir en contenido } else { rotation thisrotation = llEuler2Rot(<0.0, 0.0, 90.0 * DEG_TO_RAD>) * llGetRot(); llSetLocalRot(thisrotation / rootrot); estadopuerta = TRUE; llPlaySound("sonido cerrar", 5.0);// Modifica esta línea para poner sonido, metiendo un sonido en contenido y cambiando aquí su nombre o renombrándolo sonido cerrar en contenido } } } // Final del script----------------------------PUERTA----------------------------------------- Leer el script para ver donde y como introducir sonido. Una vez metido este código en el PRIM MOVIL debéis saber que el eje por el que rotará no es ni el borde derecho ni el borde izquierdo, ni el superior ni el inferior; sino que se doblará por uno de sus ejes centrales, Lo veréis cuando tengáis el prim en modo de edición. Si va a ser por ese eje central por el que se doblara la puerta, al construir la caja, el hueco de la pared o lo que sea, tendréis que ubicar ese eje en el quicio o “borde bisagra” del objeto que estéis construyendo. Observa la Imagen... Una vez ubicado el PRIM MOVIL es su posición correcta recortaremos el sobrante mediante Camino de Principio a Fin (en el menú Edición). Así nos quedaremos con la mitad de la puerta y su eje activo en el borde deseado, como podéis comprobar en la siguiente imagen... Cuando unamos la puerta al quicio, el prim padre ha de ser la pared en el caso de la puerta, o la caja en caso de que sea una tapa como se indica en la siguiente imagen. De lo contrario lo que girará será la caja o la pared y no la tapa o la puerta. Je je je. Ya solo nos queda ajustar la textura. El modo mas fácil y barato es duplicar la textura en el menú Edición, pestaña Textura... Otra solución que nos costará el precio de subirnos una textura, consiste en dibujarla en un editor de imagen (como Photoshop),teniendo en cuenta que la mitad ha de quedar oculta al recortar el prim, o si el editor de imagen permite canales alfa, hacer la mitad oculta transparente. Con esto ya conocemos los secretos para empezar a hacer puertas y cajas. Probar a modificar los valores del script para aprender como funciona y que os resulte después mas fácil trabajar con el. Si no os apetece esto, sin modificar el script podéis adecuar el eje de giro que utiliza por defecto a vuestras necesidades modificando el prim Puerta o Tapa hasta que responda correctamente al hacer “Touch”. Espero que este manual os haya servido de ayuda. Animo creadores!! Fritxitin Martinek 3 de enero de 2008
|