Realidad Virtual Con Matlab

March 18, 2018 | Author: David Jaramillo Payano | Category: Point And Click, Window (Computing), Animation, Computer File, Microsoft Windows


Comments



Description

[0] Introducción al Generador de V-RealmV-Realm Builder es un poderoso paquete de edición de tres dimensiones para la creación de objetos en 3D y mundos "para ser visto con el Explorador de V- Realm o cualquier otro navegador VRML 2.0. Es importante recordar que VRML 2.0 fue desarrollado como una " red de "especificación amistosa de archivos virtual. V-Realm Builder y VRML no se pretende sustituir las herramientas de modelado que tenemos hoy. VRML no puede esperar para hacer frente a los paquetes de modelado que crean objetos increíblemente realistas con 5 o 10 millones de polígonos. Estos objetos pueden estar bien para equipos independientes o aplicaciones, pero esperar que un archivo de este tamaño para ser fácilmente transportable en la red en tiempo real no es factible.Debido a esto, V-Reino Generador utilizando VRML fue diseñado para darnos herramientas para minimizar el tamaño de los archivos y para proporcionar un medio de modelar objetos más complejos con primitivas, sin tener que sobrecargar la red con archivos de gran tamaño. Para su comodidad, hemos incluido una copia de la especificación de VRML 2.0 en el CD de instalación que viene con el software de Generador V-Realm. Se puede encontrar en el directorio principal llamado SPEC. No debe haber un directorio / SPEC que contiene un directorio llamado / VRML2 con los archivos HTML que conforman la especificación de VRML 2.0, y un archivo README.TXT. Por favor, lea el archivo README.TXT en primer lugar. Ligos Corporation diseñó V-Realm Builder tanto con usuarios expertos y novatos en la mente. Su punto de entrega y la capacidad de clic el mismo control íntimo del entorno 3D se obtiene por la codificación manual. Sin embargo, el desarrollo en la automatización de la entrega de VRML y visual instantánea feed- back, que acelera drásticamente la construcción de mundo en 3D. V-Realm GUI Builder está diseñado específicamente para VRML e incluso un desarrollador con experiencia en la creación de mundos VRML 3D. V-Realm Builder proporciona poderosas capacidades de edición que simplifica el proceso de creación 3D. Al igual que con nuestras versiones anteriores del generador V-Reino, esta versión tiene una interfaz potente e intuitiva para el modelado del mundo. Ahora hemos añadido comportamientos interactivos tal como se hizo en la especificación de VRML 2.0. Si está familiarizado con las versiones anteriores del Generador de V- Reino, que ya estarán familiarizados con la mayoría de los controles utilizados. Si usted nunca ha utilizado cualquiera de nuestros productos, usted quedará impresionado con el pensamiento y la sencillez que hemos diseñado en las interfaces que se emplean por nuestro Creador. El control es ahora en la punta de los dedos. Cada nodo campos son editables directamente con una respuesta inmediata en la escena de las modificaciones realizadas a cualquier variable o nodo. Este control pone el generador de V-Realm en una clase propia. Ninguno de los constructores disponibles en el mercado hoy en día hacen que estos nodos para agregar, editar y modificar simples y fáciles. Muchas de las funciones de edición se completa con un solo clic del ratón, el uso del teclado se limita sólo a las funciones que requieran la intervención. Ahora la codificación manual de los mundos VRML es realmente una cosa del pasado. Este manual está diseñado para mostrarle cómo empezar con el Generador de V-Reino y cómo utilizar sus características muy avanzadas. Las mejoras de texto se enumeran a continuación le ayudarán a comprender el uso de la aplicación Generador de V-Realm. El texto que no se ha mejorado en modo alguno se refiere a la información estándar que explica la aplicación. Términos que están en negrita se refieren a los nombres de variables, títulos de cuadros de diálogo, o términos importantes para recordar. Condiciones que se encuentran en todos los CAPS de este tipo se refieren a valores constantes, tales como títulos de Verdadero y Falso, o el botón en los cuadros de diálogo, como Aceptar y Cancelar. Los artículos que se han mejorado-sombra como ésta se referirá a los ejemplos V-Realm Builder para demostrar el uso de la aplicación Generador de V-Realm. Los artículos que están mejor bajo la sombra como ésta se referirá a la información esencial para la comprensión de cómo utilizar el Generador de V-Realm. Este tipo de sombreado se utiliza para señalar los usos especiales de botones u otras herramientas. Información muy importante va a ser la sombra de esta manera, así como en negrita. Los recuadros se refieren a consejos útiles que explican por qué y cómo realizar tareas particulares. Esta sección a veces, le dará accesos directos proporcionados por la aplicación Generador de V-Realm para llevar a cabo tareas más complejas. Ejercicios Los ejercicios siempre para ayudar al usuario a aprender VRML y el generador de V-Realm se separan con una línea gruesa, como esta frase es. [1] V-Realm Builder y el programa de instalación de instalación Introducción Bienvenido. Usted está a punto de embarcarse en un viaje excitante y fascinante mundo de un edificio de tres dimensiones. Para empezar, vamos a repasar lo que ya tenemos. Usted debería haber recibido el siguiente con este producto:  Guía del usuario  CD-ROM  Tarjeta de Registro Por favor lea el Acuerdo de Licencia de Ligos Corporation que se imprime en la inserción de la bandeja de CD-ROM de la tarjeta. Contiene información importante que usted debe saber antes de usar el producto. No te olvides de registrar el software. La ayuda prevista sólo para los usuarios que registren su software. Requisitos del sistema El programa mínimo de requisitos de hardware y su sistema informático necesita para ejecutar V-Realm Builder son los siguientes.  Una computadora personal con un 486 a 66 (mínimo) del procesador. Un sistema basado en un procesador Pentium 120 MHz o superior se recomienda.  Microsoft Windows NT 3.51/4.0 o Microsoft Windows 95.  Un sistema con al menos 16 MB de RAM (32 MB recomendado).  Un dispositivo de ratón apuntando se requiere.  Una tarjeta de sonido es recomendable.  Una unidad de disco duro con aproximadamente 40 MB de espacio libre en disco.  Los requisitos mínimos de vídeo son adaptador de vídeo VGA con 1 MB de RAM, capaz de mostrar 256 colores a una resolución de 640x480. Sin embargo, un adaptador de VGA con 2 MB de RAM, capaz de ejecutar a una resolución de 800x600 en color de alta se recomienda. El rendimiento puede ser mejorado en gran medida con cualquiera de las tarjetas OpenGL disponibles en el mercado. Instalación del Generador de V-Realm Builder es fácil de instalar, y la configuración. Para comenzar el proceso de instalación, coloque el CD-ROM en la unidad. Si está utilizando Windows 95 o Windows NT 4.0, y la instalación no se inicia automáticamente, seleccione la ejecución de la opción de Inicio del menú. Si está utilizando Windows NT 3.51, cambie a Administrador de programas y elegir la ejecución de la opción Archivo del menú. En la pantalla, verá la ejecución de cuadro de diálogo. En el cuadro de edición siempre de tipo: x: setup.exe donde x: es la unidad con la instalación de CD-ROM. Seleccione Aceptar o pulse Intro y el procedimiento de instalación se iniciará automáticamente. Se le pedirá que escriba una ubicación en su disco duro en el que instalar los archivos de programa. Usted puede seleccionar la ubicación predeterminada o una nueva ubicación de su elección. localización por defecto es recomendable. A partir de V-Realm Builder Para iniciar la aplicación, en Windows NT 4.0 o Windows 95, vaya al inicio de menú para localizar el V- Realm Builder 2.0 y haga clic en la carpeta de la V-Realm Builder icono del programa 2.0. Si está utilizando Windows NT 3.51, cambiar a la Gerente de Programas y busque la V-Realm 2.0 Icono de grupo y haga doble clic en el icono de V-Builder Reino Programa. [2] V-Realm Interface Builder V-Realm Builder Características V-Realm Builder posee una serie de características importantes que amplían su capacidad de construir mundos en 3D eficientes. Estos incluyen:  Interfaz intuitiva : La interfaz de Builder V-Realm elimina la necesidad de codificación manual de VRML, sin quitarle el poder. Su facilidad de uso le permite dominar rápidamente su funcionamiento y crear mundos VRML.  Los estándares abiertos : V-Realm Builder crea archivos que pueden ser leídos por todos los navegadores compatibles con VRML 2.0 ... no hay extensiones propietarias que limiten su público.  Extendidos controles de manipulación 3D: V-Realm Builder incluye potentes herramientas de 3D manipulación de formas para la transformación de los objetos y la iluminación.  Las bibliotecas personalizables: V-Realm Builder proporciona VRML objetos, texturas y materiales a través de objetos personalizables, Textura y bibliotecas de materiales. Una serie de mundos ejemplo también se incluyen como ejemplos de casi todas las características disponibles en VRML.  Retroalimentación visual instantánea con múltiples vistas: un árbol de nodos y múltiples puntos de vista de los objetos 3D se pueden visualizar simultáneamente, aumentando la interacción del desarrollador con el entorno 3D en construcción. V-Realm Builder muestra un máximo de cuatro puntos de vista simultáneos que son objeto de ajuste independiente para una visualización óptima.  El mapeo de textura: Los objetos pueden ser de textura con el GIF (transparencia), JPEG y formatos de archivo RGB. Texturas de película son compatibles con el MPEG1, MPEG2, AVI y formatos de archivo.  Importación de objetos 3D: V-Realm Builder le permite importar cualquier estándar VRML 1.0 archivo, así como objetos 3D creados en los formatos de archivo: Wavefront (*. obj), RAW (*. cruda), 3D Studio (* .3 ds), trueSpace de objetos (*. mazorca).  Editores especializados: Extrusión, animación de fotograma clave, rejilla de elevaciones, y los editores de modelado de polígonos.  VRML 2.0 Cumplimiento: V-Realm Builder lee todos los mundos VRML 2.0 compatibles.  Soporte de audio y vídeo: V-Realm Builder permite al usuario incorporar muchos de los de audio de uso común y formatos de archivos de vídeo en los mundos que ellos construyen.  Los puntos de vista definidos por: El usuario tiene la posibilidad de guardar tantas posiciones en un mundo como se desee. Estas posiciones pueden ser utilizados como guías para navegar por el mundo o como una visita virtual.  Control de la barra de herramientas personalizable: Todas las barras son móviles, acoplable, y se puede mostrar. La interfaz de usuario permite al usuario controlar todas las barras de herramientas disponibles.  Árbol de nodos inteligentes: Al editar un archivo VRML mediante la adición o la inserción de los nodos de la "inteligente" árbol de nodos, permiten colocar automáticamente el objeto de nodo en el lugar más eficiente para la codificación VRML. En muchos casos, actúa como un comprobador de sintaxis para asegurar que los nodos se colocan adecuadamente.  Función de búsqueda: Los productos en el árbol de nodo se puede localizar rápidamente escribiendo la palabra que desea buscar. El cursor atravesar el árbol de nodos hasta que encuentre el elemento adecuado de forma automática.  Inteligente Barras de herramientas: barra de herramientas de iconos "en gris" cuando no se relacionan con la función que se realiza. Los iconos que están relacionados con la tarea que se realiza se mantendrá sólido.  Archivo de salida simplificada: V-Realm Builder escribe archivos compactos del mundo, ya que no escriba los valores que son "default". Además, el constructor ofrece la opción de guardar automáticamente un archivo en el g-zip comprimido en formato de archivo binario. Tutorial de inicio rápido Como se puede adivinar, la creación de entornos interactivos en 3D puede ser una tarea desalentadora, especialmente en una herramienta 2D orientado como un PC.Sin embargo, el generador de V-Realm le da todas las herramientas que necesita para crear estos mundos con una interfaz gráfica que es de gran alcance y fácil de usar. Antes de entrar en los detalles, vamos a construir una escena simple e interactivo para familiarizarse con la interfaz. VRML puede ser utilizado como una plataforma para crear cualquier cosa, desde un logo girando a una página web para un juego en 3D en toda regla. Vamos a empezar poco a poco, sin embargo, y crear una bola de animación que se puede "empujar" a partir de una plataforma. Este tutorial está escrito para ser seguido paso a paso por un novato V-Realm World Builder Builder. En este tutorial recordar que hacer clic en un medio de botón o el icono a la izquierda del ratón, salvo indicación contraria. Si algunos de los términos o de las funciones no tienen sentido en este momento, no se preocupe. Sólo tienes que seguir cada paso, con las ilustraciones como guía. 1. Abra V-Realm Builder 2.0 desde el menú Inicio de Windows. Si no lo es ya, maximizar la aplicación a la pantalla completa. 2. Comience por hacer clic en el botón Nuevo documento . Lo que ves es la interfaz de tres partes que componen V-Realm Builder. A la izquierda hay un área en blanco, blanco llamado el árbol de la ventana Nodo . A medida que construye su mundo, una representación de árbol del mundo, se mostrará aquí. A la derecha hay un área grande de color negro a que se refiere como un panel de visualización . Aquí es donde usted va a ver el mundo real, ya que se está construyendo, y donde se va a hacer la mayor parte de su trabajo. A lo largo de la parte superior y los lados son los barras de herramientas que le dan acceso a los diferentes modos del constructor, y los bloques de construcción de un mundo VRML conocido como nodos (ver Figura 1): Figura 1: imagen de la pantalla 3. Vamos a empezar con una función de barra de herramientas para agregar cielo y la tierra a nuestro mundo . Izquierda haga clic una vez sobre el icono de fondo Insertar . Tenga en cuenta que la ventana del nodo de árbol se actualiza para incluir en el nodo de fondo. (Tenga en cuenta que un cielo color de fondo por defecto y se proporcionan de forma predeterminada para ayudarle.) 4. Volver a la barra de herramientas y haga clic en la Esfera I nsertar icono . la ventana del árbol de nodo se actualiza con el grupo que representa a la esfera y sus posibles propiedades. El panel de vista se actualiza para mostrar una esfera y su entorno. La caja y maneja rodea la esfera indican que la esfera se selecciona, y puede ser manipulado (también conocido como transformada ). 5. Haga clic y mantén pulsado el botón izquierdo del ratón sobre la esfera, y la caja de manipulador va a cambiar . En este punto, puede arrastrar el campo a una nueva ubicación y soltarlo. Por ahora , mueva la esfera a la parte superior izquierda del panel de vista (ver figura 2): Figura 2: Imagen de la ventana principal de Vista 6. Es importante en VRML para nombrar (o "DEF", como en definir) el objeto de crear una interacción más tarde . En el árbol de nodos, haga clic una vez en el nivel superior del grupo de la esfera, en la transformada de la palabra, para seleccionarlo. Haga clic de nuevo para cambiarlo. Cambiar la palabra "transformación" a la "bola", y pulsar la tecla de Enter . 7. Siempre es una buena idea guardar periódicamente su archivo, por lo que haga clic en el icono Guardar , y guarde el archivo con el nombre "ball.wrl" . 8. Ahora vamos a crear un cuadro en el que la pelota puede descansar . Haga clic en el cuadro de diálogo I nsertar icono , y una caja se ha creado y seleccionado. Podemos cambiar la escala del tamaño de la caja utilizando el manipulador se encarga de (los pequeños bloques blancos en las esquinas). Haga clic y mantenga el cursor sobre uno de estos controladores, y arrastre para cambiar la escala de la caja . Vamos a hacer un poco más pequeño, cerca de la mitad de su tamaño actual, y suelte el botón del ratón. Ahora vamos a hacerlo más alto . En el teclado, mantenga pulsada la tecla Mayús y seleccione con el ratón y arrastre un manejador de "arriba" (hacia adelante en su alfombrilla de ratón) para cambiar la escala de la altura de la caja. Ahora debe tener un pedestal alto y delgado. 9. Durante el proceso de worldbuilding, puede ser útil para moverse por el mundo y verlo desde diferentes ángulos. En este momento, estás en el modo de Selección , indicada por la flecha del cursor. Para mover el punto de vista de todo el mundo, haga clic en el modo de navegación icono . Ahora, a medida que haga clic y arrastre en el interior del panel de Vista , usted "caminar" hacia adelante y hacia atrás, y ser capaz de girar sobre si mismo. Si alguna vez quiere volver a su posición original, haga clic en el Visor de Restaurar el icono en la parte superior derecha del panel. Cuando haya terminado de mover,haga clic en el botón Modo de Selección para volver a la manipulación de objetos. 10. Al igual que hizo con la esfera en el paso 5, mover la caja debajo de la esfera . Su panel de vista presenta una vista en perspectiva de la escena, por lo que alinear objetos en el espacio 3D puede ser un poco complicado. El constructor también proporciona paneles de otros puntos de vista (superior, lateral, frontal, etc) para ayudarle hacia fuera, así que es posible que desee temporalmente cambiar a múltiples puntos de vista con el Vista Ecualizar paneles deicono . Al hacer clic y arrastrar la acción es el mismo que antes, pero ahora se puede comprobar su progreso en 4 perspectivas simultáneamente. Una vez que tengas la caja en la esfera, puede volver a Ver Panel Principal . 11. Cambie el nombre del grupo de la caja de transformación de "pedestal" como lo hizo en el paso 6 con la esfera. 12. Tiempo para agregar color un poco más a nuestro mundo. Abra la biblioteca de materiales haciendo clic en el icono de la barra . Si lo desea, arrastre el cuadro de diálogo Seleccionar material a un lado para que usted todavía puede ver los objetos en el panel de Vista por debajo. Desplácese hacia abajo hasta de plástico azul en la lista de elementos y haga clic en él . La ventana debe mostrar una esfera azul brillante . Haga clic y mantenga en esta esfera, y arrastrar y soltar el color sobre la bola del panel de vista . La pelota se pondrá azul. Cierre el cuadro de diálogo Seleccionar material . 13. Las texturas son como los materiales, pero se basan en imágenes 2D . Abra la Biblioteca de Texturas y desplácese hacia abajo para ladrillo (Pequeña )(Ver Figura 3) . Al igual que en el Paso 12, arrastrar y soltar la textura sobre el pedestal , y cerrar el cuadro de diálogo: Figura 3: Seleccionar textura para el objeto 14. Guarde el archivo! 15. VRML también se conoce como "Mundos en movimiento", así que ahora vamos a añadir un poco de animación y la interacción . La configuración predeterminada no debe haber sido cambiado. Haga clic en la bola para seleccionarlo, y cambiar a modo de fotogramas clave . La interfaz va a cambiar para dar cabida a un indicador de línea de tiempo. Animaciones en VRML se crea especificando una serie de eventos (conocido como KeyFrames) durante un período de tiempo. Usted puede especificar como pocos o tantos fotogramas clave como desee, y el constructor (o un navegador VRML) se interpolar los fotogramas intermedios para crear una animación fluida. Para este ejercicio, queremos hacer rodar la bola fuera del pedestal y rebotar en el suelo cuando "empujar" en el pedestal. En primer lugar, tenemos que establecer el primer fotograma clave, donde la pelota descansa en la actualidad, así que haga clic en la bola y la liberación . Los cambios de línea de tiempo para mostrar las propiedades de la pelota en el "0" segundos marca, indicado por teletipos de color rojo. 16. Ahora vamos a configurar el siguiente fotograma clave en la marca de 1 segundo . Usted puede "saltar" a la siguiente serie de teletipos haciendo clic en el icono Fotograma siguiente en la parte superior de la línea de tiempo ... el marcador salta a los teletipos 1-segundo . Haga clic y arrastre para mover el balón a la derecha y hacia abajo un poco, alrededor de dos unidades (la bola en la actualidad tiene un diámetro de 2 unidades). 17. En este momento, la línea de tiempo sólo se establece un segundo, por lo que cambiar la duración de la línea de tiempo a 4 segundos, haga clic en la flecha hacia arriba al lado de la Duración caja ; (ver Figura 4). 18. Haga clic en la marca de 2 segundos para establecer nuevos tickers de fotogramas clave. Arrastre la pelota hacia abajo y otra vez para hacer que parezca como si hubiera aterrizado en el suelo. Si te sientes muy aventurero, puede cambiar la escala de la altura de la bola para hacer que parezca que "aplastado" en el impacto! 19. Haga clic en un nuevo conjunto de fotogramas clave en alrededor de 2,6 segundos, y mover la bola de derecha y de arriba a la cima de su punto de rebote al lado. "Unsquish" si es necesario. 20. Haga clic en un conjunto de fotogramas clave en 3,2 segundos, y mover el balón a la derecha y hacia abajo de nuevo al suelo . 21. Haga clic en un conjunto de fotogramas clave en 4,0 segundos, y mover el balón hasta la última parada en el extremo derecho del panel de vista . 22. ¡Eso es! Usted ha creado una animación de VRML! Para ver cómo se ve, haga clic en el icono Reproducir . No se preocupe si no se ve perfecto ... puede tomar un poco de práctica, pero pronto consigue la caída de la creación de animación en 3D. 23. Uno de los otros aspectos clave de VRML es la interacción con el visitante a su mundo. Una forma de crear interacción es mediante la asignación de un "gatillo" que se inicia un evento como la animación. Para este mundo, queremos configurarlo para que cuando el usuario hace clic en o zumbidos en el pedestal, que perturba la bola haciendo que rodar. Para ello, haga clic en el gatillo I nsertar animación icono de asignar un sensor para el evento . De forma predeterminada, los valores por defecto del botón de radio para sensor de contacto, que es exactamente lo que queremos (ver Figura 4). Asigne el Senso Touch r para el pedestal. Seleccione Aceptar. Devuelva su cursor al comienzo de la animación haciendo clic en el icono de primer fotograma : Figura 4: Adjuntar disparo pedestal 24. Guarde el archivo. Deja modo de fotogramas clave haciendo clic en el botón de modo de barra de herramientas de fotogramas clave . Volverá a modo Construir. 25. Antes de probar nuestro mundo, es posible que desee cambiar al modo de navegación y "dar un paso atrás" de la escena arrastrando hacia abajo con el cursor. Cuando estás colocado, volver a su herramienta Selección . 26. Puede probar el mundo sin salir de el constructor por el cambio a modo de prueba . Esto simula un entorno de navegador VRML en el que se puede ver cómo el mundo funciona realmente. Ahora haga clic en el pedestal , y la bola rodar, caer al suelo, rebotar y rodar hasta detenerse. Para salir del modo de prueba haciendo clic en el icono de nuevo . ¡Felicitaciones! Usted ha creado su primer interactiva VRML mundo 2.0 en el generador de V-reino! Y esto es sólo el principio. A medida que continúe su trabajo con las lecciones de este manual, usted encontrará que hay muchas maneras de animar objetos, crear escenas más complejas, añadir una mayor interacción, e incorporar otros medios de comunicación en sus mundos. El tutorial de inicio rápido y todos los ejercicios incluidos en este manual se han implementado y están disponibles para que usted compruebe que trabajar en contra.Por favor, consulte el sub-directorio de la aplicación Generador de V-reino llamado "Mundos \ Tutoriales \" de los mundos. Realm-V de Windows y menús Es importante tener en cuenta al leer esta sección del manual que vamos a usar términos que describan las acciones en los nodos de la especificación de VRML 2.0.Vamos a hacer comentarios como: "Esto va a agregar un nodo IndexedFaceSet al árbol de nodos.", Esto no parece tener suficiente descripción de lo que se está haciendo. Lo que estamos tratando de lograr aquí es una descripción sencilla de lo que hacen los diferentes elementos. Si necesita más información, consulte la sección correspondiente que sigue para obtener detalles completos. Menú Principal Figura 5: Menú Principal El menú principal permite al usuario acceder a todos los comandos y opciones disponibles. Ahora vamos a discutir todos los comandos y opciones disponibles a través de este menú. Por cada menú vamos a explorar el sub-menú y así sucesivamente. Option File Figura 6: Option File Cuando se selecciona, el archivo de la opción en el menú principal muestra una lista de opciones de archivo para actuar sobre el archivo actual. Nueva CTRL + N abre un nuevo archivo de datos. Abrir CTRL + O se abre un archivo seleccionado. Esta opción se abrirá un cuadro de diálogo que permita al usuario elegir el archivo que se abrirá. Cerrar cierra el archivo actual. Guardar CTRL + S Guarda el archivo actual. Guardar como guarda el archivo seleccionado en un nombre de archivo específico. Esta opción se abrirá un cuadro de diálogo para que el usuario introduzca el nombre deseado para el archivo actual. Guardar como ... Gzip guarda el archivo seleccionado como un archivo comprimido con gzip. Archivos recientes se refiere a abrir los archivos recientemente. Salir de las salidas de V-Realm Builder. Editar Opciones Figura 7: La opción Editar Cuando se selecciona, la Edición opción en el menú principal muestra una lista de opciones de edición para actuar sobre el archivo actual. Deshacer CTRL + Z para deshacer los últimos cambios realizados en el archivo. Cortar CTRL + X corta las líneas seleccionadas del archivo, y los coloca en la portapapeles. Copiar CTRL + C copia las líneas seleccionadas en el portapapeles. Suprimir elimina el nodo seleccionado en ese momento. Pegar CTRL + V pega el portapapeles en el mundo actual después de que el nodo seleccionado. Ver Opciones Figura 8: Vista de la opción Cuando se selecciona, el Vista opción en el menú principal muestra una lista de puntos de control. Los artículos marcados estará activo durante la sesión de creación de mundo. A continuación se enumeran las opciones y lo que se refieren. Barras de herramientas ... permite al usuario seleccionar las barras de herramientas para mostrar en la pantalla. Ecualizar Vistas muestra todas las vistas disponibles. Vista principal muestra sólo la vista en perspectiva principal. Arriba / Abajo Ver muestra sólo la vista ortográfica superior / inferior. Izquierda / Derecha Vista muestra sólo la vista ortográfica izquierda / derecha. Adelante / Atrás Ver muestra sólo la parte frontal / vista atrás ortográfica. Ver nodo de árbol muestra la ventana de árbol de nodos. Editor de Interpolator muestra el Editor de interpolador. Opciones de keyframe permite al usuario configurar las opciones de fotogramas clave. Los nodos Opción Figura 9: Opción de nodos Cuando la Nodos de la opción elegida en el menú principal, la siguiente lista de opciones se muestran para la selección del usuario. Por favor, familiarícese con todos los nodos de VRML que se pueden utilizar para crear archivos. Una escena es la representación visual de la prestada. Archivo WRL. Insertar Hay muchos nodos VRML que pueden ser insertados en la escena. Ellos se dividen en grupos aquí. Para un nodo individual seleccionar el grupo apropiado. Editar Permite al usuario editar el nodo seleccionado. Ocultar Oculta el nodo seleccionado. Esto tiene el efecto de sacarlo de la escena gráfica sin borrarla realmente. Mostrar Muestra el nodo seleccionado en ese momento escondida. Esto tiene el efecto de devolver el nodo oculto al escenario gráfico. Figura 10: Nodos: opción Insertar Cuando la opción Insertar se selecciona en la opción de los nodos de una lista de grupos de ganglios se mostrará para la selección. En este punto el usuario puede elegir cualquiera de los nodos lista para su inserción en la escena. A continuación vamos a entrar en más detalles una lista de los nodos incluidos en cada grupo. El uso y opciones de animación de disparo también se enumeran. Figura 11: Opción Apariencia Apariencia Muestra una lista de nodos para mejorar el aspecto que puede Se inserta en la escena. Apariencia Inserta un nodo Appearance en la escena. FontStyle Inserta un nodo FontStyle en la escena. ImageTexture Inserta un nodo ImageTexture en la escena. Material Inserta un nodo de materiales en la escena. MovieTexture Inserta un nodo MovieTexture en la escena. PixelTexture Inserta un nodo PixelTexture en la escena. TextureTransform Inserta un nodo TextureTransform en la escena. Figura 12: Opción Bindable Enlazables Muestra una lista de nodos enlazables que se pueden insertar en la escena. Antecedentes Inserta un nodo de fondo en la escena. Niebla Inserta un nodo Fog en la escena. NavigationInfo Inserta un nodo NavigationInfo en la escena. Punto de vista Punto de vista Inserta un nodo en la escena. Figura 13: Opción Común Común Muestra una lista de nodos comunes que se pueden insertar en la escena. AudioClip Inserta un nodo AudioClip en la escena. Script Inserta un nodo de secuencias de comandos en la escena. Forma Inserta un nodo Shape en la escena. Sonido Inserta un nodo de sonido en la escena. InfoMUNDO Inserta un nodo WorldInfo en la escena. Prototipo Inserta un nodo PROTO en la escena. Prototipo de instancia Inserta una instancia de un nodo PROTO en el escena. USO Inserta una copia de un nodo que ya DEF'd en el escena. Figura 14: Opción Geometría Geometría Muestra una lista de nodos geométricos que se pueden insertar en la escena. Caja Inserta un nodo Caja en la escena. Cono Cono Inserta un nodo en la escena. Cilindro Cilindro Inserta un nodo en la escena. ElevationGrid Inserta un nodo ElevationGrid en la escena. Extrusión Inserta un nodo de extrusión en la escena. IndexedFaceSet Inserta un nodo IndexedFaceSet en la escena. Esfera Inserta un nodo esfera en la escena. Texto Inserta un nodo de texto en la escena. Figura 15: Opción de Grupos Grupos Muestra una lista de nodos de agrupamiento que se pueden insertar en la escena. Anchor Inserta un nodo de anclaje en la escena. Billboard Inserta un nodo Billboard en la escena. Colisión Inserta un nodo de colisión en la escena. Grupo Inserta un nodo Grupo en la escena. Transformar Inserta un nodo Transform en la escena. Inline Inserta un nodo en línea en la escena. LD Inserta un nodo LOD en la escena. Cambiar Inserta un nodo Switch en la escena. Figura 16: Opción de luces Luces Muestra una lista de nodos de iluminación que se pueden insertar en la escena. DirectionalLight Inserta un nodo DirectionalLight en la escena. PointLight Inserta un nodo PointLight en la escena. SpotLight Inserta un nodo SpotLight en la escena. Figura 17: Opción de Sensores Sensores Muestra una lista de nodos de sensores que se puede insertar en la escena. CylinderSensor Inserta un nodo CylinderSensor en la escena. PlaneSensor Inserta un nodo PlaneSensor en la escena. ProximitySensor Inserta un nodo ProximitySensor en la escena. SphereSensor Inserta un nodo SphereSensor en la escena. TimeSensor Inserta un nodo TimeSensor en la escena. TouchSensor Inserta un nodo TouchSensor en la escena. VisibilitySensor Inserta un nodo VisibilitySensor en la escena. Figura 18: Uso de la opción Utilice Inserta un nodo de uso en la escena. Animación de activación Inserta un disparo de animación en una animación de fotogramas clave Bibliotecas Opción Figura 19: Opción de Bibliotecas Agregar al Permite al usuario agregar elementos a una biblioteca seleccionada. Editar Permite al usuario editar los elementos de una biblioteca seleccionada. Importar desde Permite al usuario importar un elemento de biblioteca en la escena. Añadir a la opción de la Figura 20: Añadir a la opción El usuario debe seleccionar la biblioteca a la que un elemento se agregará. Un cuadro de diálogo aparecerá que permitirá que el elemento que se añade. Esta opción se utiliza cuando un elemento seleccionado en la vista de árbol se agrega a una biblioteca. Editar Opciones Figura 21: Opción Editar El usuario debe seleccionar la biblioteca en la que puede ser el elemento que desea editar encontrado. Un cuadro de diálogo aparecerá que permitirá al usuario editar los elementos de la biblioteca seleccionada. Opción Importar desde Figura 22: Importar desde la opción El usuario debe seleccionar la biblioteca de la que será una mercancía importada. Un cuadro de diálogo aparecerá que permitirá al usuario seleccionar un elemento para la importación al escenario gráfico. Los manipuladores Opción Figura 23: Opción de Manipuladores Cuando la Opción manipuladores se selecciona en el menú principal, una lista de opciones manipulador se muestra. A fin de que los manipuladores para el trabajo, el usuario debe seleccionar un objeto de manipulación antes de seleccionar la opción de manipulador. Utilice el botón de modo de selección para seleccionar el objeto, a continuación, seleccione un manipulador que se aplica al objeto. Universal coloca una caja de unión y manipulador de cuadro de la ficha en torno a un objeto seleccionado. Con estos dos manipuladores y el uso de las teclas MAYÚS, CONTROL, o CONTROL + SHIFT, puede producir el movimiento de un manipulador de Open Inventor. Una tabla que muestra la manipulación y las pulsaciones de teclado para la obtención de las que la manipulación de la siguiente manera. (Véase el Apéndice C) Este es el manipulador por defecto Centro de la bola coloca un manipulador bola central alrededor del objeto seleccionado en ese momento. El manipulador de bola central permite al usuario mover o girar un objeto alrededor de su punto central. Este manipulador mantiene escala de los objetos que se mueven. Los manipuladores de luz muestra el manipulador de la luz en la escena. Se permite al usuario variar la posición y dirección de una fuente de luz de la escena. El manipulador de luz altera cualquier fuente de luz en la escena. Una luz debe ser añadido a la escena antes de que esta opción se convierte en activa. Véase el Apéndice C para una descripción completa de los manipuladores. Modo Opción Figura 24: Opción de modo de Cuando el modo de la opción elegida en el menú principal de los siguientes elementos para la selección en la pantalla. Color Establece el modo de generador de corriente de color. Esto permite al usuario editar / adquisición de valores de color para diferentes tipos de geometría. Modelo Establece la opción de Generador de corriente para el modelo. Esto permite al usuario mover y manipular objetos en el mundo se está construyendo. Navegación Establece la opción de Generador de corriente para la navegación. Esto permite al usuario caminar por el interior del mundo tal y como se está construyendo. Pan Permite al usuario activar en el mundo y ver los objetos circundantes. Elige Permite al usuario seleccionar un objeto en el mundo para ser manipulado. Modo de fotogramas clave Abre el animador de fotogramas clave para su edición. Prueba Permite una animación o una ruta para ser probado. Desactiva los manipuladores. Ventana de la opción Figura 25: Opción Ventana Cuando la ventana de la opción elegida en el menú principal los siguientes elementos se muestran para la selección del usuario. Cascada Cascades las ventanas abiertas. Azulejos Azulejos las ventanas abiertas. Organizar iconos Organiza todas las ventanas en iconos de la pantalla. Lista de listas de hasta ocho ventanas abiertas. Ayuda Opción Figura 26: Opción de Ayuda La opción de Ayuda en el menú principal muestra las opciones de archivo de Ayuda del Generador de V- Realm. Los temas Builder Realm V- y V-Reino de generador de índice son los archivos de ayuda específicos para el generador de V-Realm. El V-Realm Builder Temas opción, se muestra el contenido del archivo Builder V-Realm ayuda. El Generador de V-Realm Índice opción muestra todas las secciones en el Generador de V-reino en una lista ordenada alfabéticamente. Utilice la opción Buscar en el Índice de V- Builder reino o reinos V-Temas Builder para buscar determinados términos que figuran en el archivo de ayuda. La Acerca de V-Realm Builder opción muestra la información actual sobre el generador de V-Realm. Realm V-menús emergentes Vista de árbol menú emergente Figura 27: Vista de árbol menú emergente Este menú se muestra al pulsar el botón derecho del ratón, mientras que en la ventana de vista de árbol. La vista de árbol debe contener al menos un nodo para que aparezca el menú. Este menú permite al usuario acceder a los Eliminar , Editar , Ocultar y Mostrar funciones, todos los cuales se relacionan con un nodo seleccionado en la ventana de vista de árbol. El PROTO Mostrar niños elemento cuando se activa permitirá un PROTO que se ve en la vista ventanas antes de que se instancia. El IS elemento permitirá campos de estar vinculado a través de la IS para la función de PROTOS PROTOS y externos. Cuando un elemento ha sido seleccionado, la elección de la Añadir a la biblioteca opción permitirá al usuario agregar el elemento seleccionado a una de las bibliotecas que se muestran. Las opciones para Contraer todo los niños y Expandir todos los niños le permitirá al usuario ver bien todos los nodos de los niños menores de un determinado nodo o tener el árbol de nodos cerrados de manera que sólo el nodo dado se pueden ver. Ventana Principal Ver menú emergente Figura 28: Ventana Principal Ver menú emergente Este menú se muestra al pulsar el botón derecho del ratón mientras el cursor está en la ventana de visualización principal. Este menú permite al usuario acceder a muchos comandos que afectan a la ventana de visualización principal. Elige permite al usuario seleccionar un objeto en el mundo para ser manipulado. Modelo establece la opción de Generador de corriente para el modelo. Esto permite al usuario mover y manipular objetos en el mundo se está construyendo. Pan permite al usuario activar en el mundo y ver los objetos circundantes. Navegación establece la opción de Generador de corriente para la navegación. Esto permite al usuario caminar por el mundo, ya que se está construyendo. Color establece el modo actual a color y se abre el cuadro de diálogo Copiar material. Prueba permite al usuario poner a prueba una animación de fotograma clave o ruta. Desactiva los manipuladores. KeyFrame establece el modo actual de fotogramas clave y se abre el Animador KeyFrame. Figura 29: Opción de Manipuladores Cuando la opción de manipuladores se selecciona entre el principal del menú pop-up, una lista de opciones manipuladores se muestran. A fin de que los manipuladores para el trabajo, el usuario debe seleccionar un objeto de manipulación antes de seleccionar la opción de manipulador. Utilice el botón de modo de selección para seleccionar el objeto, a continuación, seleccione un manipulador que se aplica al objeto. Al hacer clic en un objeto para seleccionar automáticamente se aplica el manipulador universal manipulador o centro de bola, si está activada. Véase el Apéndice C para una descripción completa de los manipuladores. Figura 30: Representación (tranquilo y en movimiento) Opciones Cuando cualquiera de las opciones de renderizado son elegidos de una lista de opciones de representación se indican para la selección. Cuadro delimitador establece el modo de representación fija o en movimiento al cuadro de límite y sólo muestra el tamaño básico y la posición del objeto que se representa. Por defecto establece el modo de representación fija o en movimiento a los valores y hace que los objetos en la escena con tan poco o tanto como los detalles del escenario gráfico especifica. Sombreado plano establece el modo de representación fija o en movimiento a la sombra plana y hace que los objetos con una calidad limitada de sombreado. Esto hace que la mayoría de los objetos de un color similar o la textura de un solo color / sombra, y limita la complejidad de la escena. Líneas ocultas establece el modo de representación fija o en movimiento a la línea oculta y hace que los objetos por lo que la forma básica y tamaño se puede determinar, pero las líneas adicionales ocultos por la parte frontal del objeto no se representan. Smooth Shading establece el modo de representación fija o en movimiento a la sombra suave y hace que los objetos como si los colores se aplican de manera uniforme. Este tipo de sombra no tiene en cuenta el sombreado de los colores sobre la base de sombras o la luz. Igual que el embargo se utiliza el método de representación de lo mismo que Renderizado estático. Wire Frame establece el modo de representación fija o en movimiento a la estructura de alambre y hace que los objetos como si fueran de alambre. Este método de representación es similar al cuadro delimitador y la sombra suave. Se muestra el tamaño, forma, posición y con la mayor precisión posible, pero no retardar la representación mediante la colocación de texturas o colores en el objeto. Vertex establece el modo de representación fija o en movimiento al vértice y, básicamente, hace que sólo los vértices de una forma compleja indexado. Faro Esta opción activa el faro en la ventana seleccionada pero no afecta a la configuración de los faros en cualquiera de las otras ventanas. La configuración predeterminada de los faros es el . Los objetos que emiten luz y el color no requieren que el faro de estar. También el uso de spot direccional, y puntos de luz capaz de iluminar una escena. Restablecer Ver Esta opción pone al espectador en las coordenadas originales cuando el mundo se abrió y las posiciones de la orientación en la posición original.Esta opción abre el archivo de la memoria y no hace otra llamada al servidor para obtener información. Visor de Posiciones El usuario agrega, elimina o modifica las posiciones del espectador, según sea necesario. Velocidad de movimiento La velocidad de movimiento cuadro de diálogo aparece cuando se elige esta opción. El usuario puede ajustar la velocidad del movimiento actual que va a ocurrir mientras se mueve alrededor en un mundo que se construye de este cuadro de diálogo. Pulse el botón Aceptar para aceptar el valor introducido o el botón Cancelar para salir del cuadro de diálogo sin cambiar el valor de la variable de la velocidad de movimiento. La velocidad de movimiento se puede cambiar por el uso de las teclas F3 y F4 en la ventana principal del Generador de V-Reino. La tecla F3 disminuirá la velocidad de movimiento por un valor de 1. La tecla F4 aumentará la velocidad de movimiento por un valor de 1. Ver ortográfica menú emergente Figura 31: Vista Ortográfica menú emergente Elige permite al usuario seleccionar un objeto en el mundo para ser manipulado. Modelo establece la opción de Generador de corriente para el modelo. Esto permite al usuario mover y manipular objetos en el mundo se está construyendo. Pan permite al usuario activar en el mundo y ver los objetos circundantes. Navegación establece la opción de Generador de corriente para la navegación. Esto permite al usuario caminar por el interior del mundo tal y como se está construyendo. Color establece el modo actual a color y se abre el cuadro de diálogo Copiar material. Prueba permite al usuario poner a prueba una animación de fotograma clave o ruta. Desactiva los manipuladores. KeyFrame establece el modo actual de fotogramas clave y se abre el Animador de fotogramas clave. Figura 32: Opción de Manipuladores Cuando la opción de manipuladores se selecciona una de las ventanas ortográfica, una lista de opciones se muestra manipulador. A fin de que los manipuladores para el trabajo, el usuario debe seleccionar un objeto de manipulación antes de seleccionar la opción de manipulador. Utilice el botón de modo de selección para seleccionar el objeto, a continuación, seleccione un manipulador que se aplica al objeto. Al hacer clic en un objeto para seleccionar automáticamente se aplica el manipulador universal o manipulador centro de bola, si está activada. Véase el Apéndice C para una descripción completa de los manipuladores. Figura 33: Representación (fijas y en movimiento) la opción Cuando cualquiera de las opciones de representación que se elija, una lista de opciones de representación se muestra para la selección. Consulte la lista de estilos de visualización de lista en la página 49. Faro Esta opción activa el faro en una ventana, pero no afecta el ajuste de los faros en cualquiera de las otras ventanas. La configuración predeterminada de los faros es el . Los objetos que emiten luz y el color no requieren que el faro de estar. También el uso de spot direccional, y puntos de luz capaz de iluminar una escena. Restablecer el Visor Esta opción pone al espectador en las coordenadas originales cuando el mundo se abrió y se posiciona a la orientación en la posición original. Esta opción abre el archivo de la memoria y no hace otra llamada al servidor para obtener información. Cambiar Vista Cambia el punto de vista actual ortográfica para lo contrario. De delante hacia atrás, de atrás hacia delante, de arriba a abajo, de abajo hacia arriba, de izquierda a derecha o de derecha a izquierda. V-Realm Builder Barras de herramientas Al examinar la disposición del usuario en el uso del constructor de V-Realm barras de herramientas, primero tenemos que analizar por qué se hacían las cosas como estaban. En primer lugar, cada barra de herramientas ha sido diseñado para dar al usuario todas las funciones relacionadas con una tarea específica. En segundo lugar, cada barra de herramientas ha sido diseñado para responder automáticamente a la opción actual del usuario en el árbol de nodos o Windows Vista. En tercer lugar, el usuario se hace responsable de la posición de cada barra de herramientas y si es o no una barra de herramientas se muestran en absoluto. Y, por último, el generador de V-Realm fue diseñado para darle, el usuario, la capacidad para hacer frente a cada nodo VRML como "muy de cerca y personales" como sea posible mientras que le da la posibilidad de tener muchas cosas que hace automáticamente por usted . Vamos a discutir estos temas y ver cómo se puede efectuar en su proceso de construcción del mundo. Usted se dará cuenta de las barras de herramientas que se enumeran y explican a continuación cada uno de ellos realiza una función específica. La barra de herramientas estándar le da acceso a todas las funciones de edición. La barra de herramientas de agrupación le da acceso a todos los nodos de agrupamiento de VRML, etc. Al separar estas funciones en las barras de herramientas, se puede activar sólo las barras de herramientas que usted necesita para la tarea que está realizando, dándole más espacio en la pantalla para ver los objetos que se están creando / modificando. También se dará cuenta que a medida que seleccionar los objetos o nodos en el árbol de nodo o ventana de la vista, los botones de particulares en las barras de herramientas "en gris" o "mantenerse sólida". Esta característica se ha implementado para ayudar al usuario a saber qué tipo de nodos se relacionan entre sí. En otras palabras, si se ha seleccionado el nodo de textura con el fin de aplicar una textura te darás cuenta de que sólo el MovieTexture, PixelTexture, y los ganglios ImageTexture seguirá siendo sólida: También, usted notará que el icono de la Biblioteca de Texturas también será sólido. Esto actúa como un profesor de VRML sentado a tu lado que dejar que saber de antemano si lo que estamos haciendo es válido o no. En lo que cada barra de herramientas de la responsabilidad del usuario que hemos hecho todos los muebles y la barra de herramientas acoplable. Incluso hemos hecho posible para mostrar sólo la barra de herramientas deseada seleccionando sólo los que deseen mostrar en un momento dado. Aquí le hemos dado, el usuario, todo el control para hacer que el ambiente creativo se ajustan a lo que es mejor para usted. La barra de herramientas estándar Figura 34: La barra de herramientas estándar La barra de herramientas estándar para la aplicación V-Realm ofrece el archivo, abrir, guardar, cortar, pegar, copiar y ayudar a los botones. Estos botones le dan al usuario el acceso a las funciones básicas de archivos. Modo de barra de herramientas de la Figura 35: Barra de herramientas de modo de La barra de herramientas Mode ofrece al usuario acceso a funciones como la selección, el modelo, medida, pintor de materiales, Animador KeyFrame, Test, una biblioteca de control (objeto, material, textura), manipuladores y control de la ventana. La barra de herramientas Mode ofrece al usuario acceso a algunas de las funciones básicas del Generador de V-reino. La capacidad de seleccionar, manipular y guardar los objetos de bibliotecas reutilizables es una operación que puede llevarse a cabo utilizando estas herramientas. Otra es la capacidad para controlar el diseño de la pantalla con una o más ventanas vista desde el cual para inspeccionar el mundo está creando. Barra de herramientas común Figura 36: Barra de herramientas Común La barra de herramientas Común pone a disposición de los nodos de usuario comunes, como AudioClip, sonido, secuencias de comandos, InfoMUNDO, luces, fondo, Niebla, NavigationInfo, Mirador, Ruta, el uso, PROTO, y la instancia PROTO. La barra de herramientas común da al usuario acceso a algunas de las herramientas más potentes (nodos) disponible en VRML. Estos nodos proporcionan las "campanas y silbatos" para cualquier archivo VRML. También proporcionan el "humor" de los mundos VRML a través del uso de la niebla y los ganglios de iluminación. Grupo de barra de herramientas de la Figura 37: Barra de herramientas de Grupo La barra de herramientas Grupo hace nodos disponibles de agrupación. La barra de herramientas Grupo pone a disposición del usuario los nodos especializados que permiten la mejora de la geometría, y los nodos que permiten al usuario cargar la geometría alternativa de otros lugares. Los nodos como ancla, la revista Billboard, colisión, Grupo, Transformación, en línea, límite de detección y Switch son los tipos de nodos muy poderosas y son una base para la construcción de mundos interactivos. Barra de herramientas de Geometría Figura 38: Barra de herramientas de Geometría La barra de herramientas de Geometría pone a disposición del usuario todos los disponibles geometría en VRML nodos, desde el más básico al más complejo de extrusión y de los ganglios IndexedFaceSet geometría. También están disponibles los nodos que describen los nodos de la geometría. Estos nodos relacionados con texturas, materiales, forma y apariencia, así como el nodo FontStyle. Sensor de la barra de herramientas Figura 39: Barra de herramientas del sensor La barra de herramientas del sensor pone a disposición del usuario todos los nodos de sensores disponibles. El plano del cilindro, táctil, Esfera, El tiempo, de proximidad y sensores de visibilidad están disponibles para el usuario. Barra de herramientas de la ventana principal Figura 40: Barra de herramientas de la ventana principal La barra de herramientas de la ventana principal consiste en el botón de posición del espectador, Prestación botón de modo, botón de alternar luces delanteras, y el botón de reinicio Visor. Estos botones sólo afectará a la ventana desde la que se activan. Ortográfico de Windows la barra de herramientas Figura 41: Barra de herramientas Ventana ortográfica La barra de herramientas Ventana ortográfica consiste en el botón Vista Flip, botón de modo de reproducción, botón de alternar faro, y el botón de reinicio Visor.Estos botones sólo afectará a la ventana desde la que se activan. El uso de ratón El ratón se utiliza ampliamente en la aplicación Generador de V-Realm para seleccionar elementos en las ventanas de vista, la selección de funciones desde el menú o las barras de herramientas botón, o llamando a especiales de menús emergentes. A lo largo de la aplicación Generador de V-Realm se encuentra que, siempre que sea posible, el ratón se utiliza para seleccionar y posicionar el cursor de modo que la introducción de datos necesarios que se haga sea lo menos doloroso posible. Un solo clic para seleccionar / elegir - haga doble clic para activar / abrir. El ratón es de lejos el componente más importante en el generador de V-Realm. Es una herramienta multi- propósito y los usos especiales del ratón se verá reforzada-sombra para su conveniencia. Una de las funciones especiales del ratón se utiliza en la ventana de vista de árbol. Si el usuario lo haya abandonado hace clic en un nombre de nodo en la ventana y escribe un nombre, el motor de la ventana de visualización de búsqueda irá directamente a ese nodo, incluso si ese nodo es antes de que el nodo seleccionado en el árbol de nodos. Un clic por segunda vez en un nombre de nodo y la ventana de vista de árbol le permitirá alterar el nodo seleccionado de DEF Nombre. Izquierda haga clic en un nodo en la ventana Vista de árbol y escribir un deseado DEF nombre de otro nodo y el nodo deseado, se mostrará. (Búsqueda de DEFfunción Nombre) El botón derecho del ratón en la mayoría de los paneles de vista mostrará el especial menú emergente para esa ventana de la vista. Doble clic izquierdo en un campo resaltado mostrará un cuadro de diálogo para la entrada / edición. Izquierda haga clic una vez sobre el campo seleccionado para entrar en una DEF nombre. Cuadros de diálogo Los cuadros de diálogo se utilizan en el Generador de V-Realm para permitir al usuario introducir datos específicos en los campos deseados de nodos. Los cuadros de diálogo que se proporcionan son específicos para el tipo de campo y los datos que se requieren para ese campo. Los controles previstos, como barras de desplazamiento y los botones de giro están ahí para hacer la modificación de algunos campos más suaves. Edición de VRML 2.0 Campos Entero de edición Campos enteros en el escenario gráfico están precedidos por el siguiente icono: Figura 42: Icono de campos de valor entero Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el cuadro de diálogo Editar tipo Integer. Figura 43: Entero de diálogo Edit Box Variables enteras se editan a través del cuadro de diálogo Editar tipo Integer. Este diálogo permite la entrada directa entero de controles de usuario o escisión. Un entero es un número entero, positivo o negativo, sin parte decimal. 100 es un número entero pero no es 100,1. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Edición de punto flotante Campos de punto flotante en el escenario gráfico están precedidos por el siguiente icono: Figura 44: Campo de Punto Flotante Icono Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el punto flotante cuadro de diálogo Editar. Figura 45: Punto Flotante de diálogo Edit Box Números de punto flotante se describe como un número que utilizan el formato de número decimal número . Por ejemplo, el número 25.347 es un número de punto flotante. Las variables de punto flotante se editan a través del cuadro de diálogo Editar Punto Flotante. Este diálogo permite la entrada directa entero de controles de usuario o escisión. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Boolean Edición Campos booleanos en el escenario gráfico están precedidos por el siguiente icono: Figura 46: Icono de campo booleano Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el cuadro de diálogo Editar tipo Boolean. Figura 47: Boolean de diálogo Edit Box Un valor booleano sólo puede ser VERDADERO o FALSO. Las variables booleanas se editan a través del cuadro de diálogo Editar tipo Boolean. Este diálogo permite la selección directa del valor booleano con botones de VERDADERO o FALSO. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Cadena de edición Los campos de cadena en el escenario gráfico están precedidos por el siguiente icono: Figura 48: Icono de Campo de Cuerdas Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el cuadro de diálogo Editar cadena. Figura 49: Cadena de diálogo Edit Box Una cadena es una lista única y continua de caracteres alfanuméricos o puntuacion. Las variables de cadena se editan a través del cuadro de diálogo Editar cadena.Este diálogo permite la entrada directa de una cadena en un campo abierto de edición. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Tenga en cuenta que VRML es sensible a mayúsculas, por lo que "Geometría" como una cadena no es lo mismo que "la geometría". Edición URL Figura 50: URL cuadro de diálogo Editar Este cuadro de diálogo se utiliza para introducir ya sea una URL o un nombre de archivo local. El botón BROWSE se utiliza para buscar en el sistema de unidad de disco local para un archivo o el usuario puede introducir la dirección URL directamente en el campo URL de edición. Los botones Aceptar y Cancelar se utiliza para aceptar o no aceptar la entrada de información. Vector (2) Edición Vector (2) campos en el escenario gráfico están precedidos por el siguiente icono: Figura 51: Vector (2) Campo Icono Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el vector (2) El cuadro de diálogo Editar. Figura 52: Vector (2) Edición de diálogo Cuadro de Vector (2) variables se definen como dos números de punto flotante se usan para especificar los valores xey de los ejes. Vector (2) variables se editó a través del vector (2) El cuadro de diálogo Editar. Este diálogo permite la entrada directa del vector (2) Los valores de entrada del usuario o los controles de la vuelta. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Vector (3) Edición Vector (3) campos en el escenario gráfico están precedidos por el siguiente icono: Figura 53: Vector (3) Campo Icono Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el vector (3) Editar cuadro de diálogo. Figura 54: Vector (3) Editar diálogo Caja Vector (3) las variables se definen como tres números en coma flotante se usan para especificar x, y, y valores z eje. Vector (3) las variables se editan a través del vector (3) Editar cuadro de diálogo. Este diálogo permite la entrada directa del vector (3) Los valores de entrada del usuario, los controles de giro, y / o control de barra deslizante. Las casillas de verificación deben ser seleccionados para el control deslizante para modificar los valores individuales. El incremento de ajuste se proporciona para permitir el control deslizante para modificar los valores individuales por una cantidad seleccionada. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. La rotación de edición Campos de rotación en el escenario gráfico están precedidos por el siguiente icono: Figura 55: Icono de la rotación del campo Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra la rotación de cuadro de diálogo Editar. Figura 56: Rotación de diálogo Editar Caja La rotación se define como un vector de cuatro números en coma flotante, el primero de tres para x, y, y el eje z, y el último para un factor de rotación alrededor del eje seleccionado o ejes. Las variables de rotación se editó a través de la rotación de cuadro de diálogo Editar. Este diálogo permite la entrada directa / cambio de valores de rotación de la entrada del usuario o barra deslizante. Las casillas de verificación deben ser seleccionados para el control deslizante para modificar los valores individuales. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Color de edición Los campos de color en el escenario gráfico están precedidos por el siguiente icono: Figura 57: Icono del campo de color Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el cuadro de diálogo Editar color. Figura 58: Color de diálogo Edit Box Un valor de color puede ser definido en cualquiera de los métodos de color estándar. La forma más común de definir el color es mediante el uso de RGB, donde R es igual a Rojo, G es igual a verde, y B es igual a azul. Estas cantidades de color RGB se mezclan como el técnico de almacén de la pintura se mezcla una lata de pintura. Las variables de color se editan a través del cuadro de diálogo Color Edit. Este diálogo permite la selección directa de los valores de color del uso del ratón para seleccionar un color y / o de la entrada de valores de color adecuados en los campos de color de valores que se muestran. Tenga en cuenta que hay varias opciones de edición de color disponibles. Elija el tipo de editor que están más familiarizados con. El nuevo color y actuales colores de pantalla de Windows vista previa de las selecciones de color que se han hecho en el color de diálogo Editar, o la selección de color que se hizo antes de que el cuadro de diálogo Editar color se abrió. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Tiempo de edición Los campos de hora en el escenario gráfico están precedidos por el siguiente icono: Figura 59: Icono de tiempo en el campo Cuando la variable que está precedido por este icono se hace clic en, una ventana de edición se mostrará lo que permitirá al usuario editar este campo. A continuación se muestra el cuadro de diálogo de edición de tiempo. Figura 60: Tiempo de diálogo Edit Box Las variables de tiempo se editó a través del Tiempo cuadro de diálogo Editar. Este diálogo permite la entrada directa de los valores del índice de tiempo del usuario o los controles de la vuelta. El tiempo se calcula como el número de segundos desde el tiempo de inicio del mundo se está viendo. Si el tiempo tiene un valor de 100 esto indicaría que el tiempo es de 100 segundos después del comienzo del mundo. El botón Aceptar acepta datos de entrada, mientras que el botón Cancelar cierra el cuadro de diálogo sin aceptar la entrada. Edición de campo múltiple Figura 61: varios iconos de campo Cuando el icono de un campo múltiple que se pulsa el siguiente cuadro de diálogo. Figura 62: Campo múltiple cuadro de diálogo Editar Este cuadro de diálogo hace un seguimiento de múltiples cadenas de entrada de datos para los campos que requieren de varios valores. El índice comienza en 0 y que cuenta arriba. A medida que cada valor se corrigió el valor de campo para el índice en particular se actualizará. Los botones de agregar, insertar, eliminar y editar VALOR dar al usuario acceso completo a las funciones de edición de valor de manera que la lista de cadenas de datos se puede mantener. Los botones Aceptar y Cancelar se proporcionan para aceptar o no aceptar los cambios realizados durante este período de sesiones de edición. Color de diálogo de modo de Este cuadro de diálogo se muestra cuando el modo de color está activada. Este modo permite al usuario editar y adquirir los colores de la escena para utilizar en el modo de salvar a la biblioteca para su uso posterior. Barra de herramientas de configuración de diálogo Figura 64: Barra de herramientas de configuración del cuadro de diálogo Este cuadro de diálogo se muestra cuando el usuario elige la opción Ver Barras de herramientas en el menú principal. Este cuadro de diálogo permite al usuario elegir las barras de herramientas que se mostrarán en un momento dado. A la izquierda, el usuario selecciona las barras de herramientas que se mostrarán marcando las casillas. La información sobre herramientas Mostrar la selección en la parte inferior determina si la información sobre herramientas se muestra como se mueve el cursor sobre las barras de herramientas. El botón CERRAR acepta las selecciones y cierra el cuadro de diálogo. VRML Sistema de Coordenadas Uno de los atributos fundamentales de cualquier objeto 3D es su posición en el espacio 3D. VRML utiliza el sistema de coordenadas cartesianas, en el que un punto tiene una coordenada X denota su posición a lo largo de un eje horizontal (ancho) del eje, una coordenada Y denota su posición a lo largo de una vertical (altura) del eje, y una coordenada Z representa la profundidad del objeto. Para recordar cómo funciona el sistema de coordenadas en VRML, recuerde que los puntos del eje X a la derecha, los puntos del eje Y hacia arriba, y los puntos de eje Z hacia el espectador. Un objeto creado en este espacio 3D se han asociado con él un conjunto de X, Y, Z y los valores que corresponden al centro del objeto (primitivos) o en los vértices que conforman el objeto (PointSet, IndexedLineSet, IndexedFaceSet, o otros objetos complejos). Por defecto, el centro de todos los objetos primitivos se supone que es (0,0,0). Esto se puede cambiar mediante el uso de un nodo de transformación o de traducción para alterar su posición en el espacio. Puesto que los objetos más complejas se crean mediante la especificación de los puntos que forman la superficie del objeto, no hay ninguna suposición de que el centro del objeto. Esto se define por el cálculo a partir de envolver una caja alrededor del objeto y calcular el punto central. La siguiente figura muestra la caja en el espacio 3D que hemos estado hablando. Observe cómo los ejes están apuntando. Figura 65: Sistema de Coordenadas VRML [3] El árbol de nodos La Jerarquía Un grupo de nodo es un tipo de nodo VRML que los elementos de los grupos llamados hijos juntos. Por ejemplo, un edificio puede ser considerado como ungrupo nodo con ventanas, puertas y paredes como niños , ya que son un subconjunto de la estructura más grande. No hay límite al número de niños de un grupo de nodo puede tener, pero todos los niños comparten las características de los padres ( grupo ) de nodo. Los nodos y campos Un nodo se refiere a cualquier tipo de nodo VRML que figuran en la especificación de VRML. Por ejemplo, la caja nodo tiene un campo llamado tamaño . El término caja se refiere al nombre del nodo VRML y el término tamaño se refiere a un parámetro que describe una característica del nodo VRML caja . Se podría utilizar este tipo de ejemplo para describir todos los nodos de VRML, pero para hacer esta simple discusión, digamos que los campos de describir las características de los nodos de VRML y el nombre del nodo nos dice que el nodo VRML que se describe. Todos los nodos se puede dar una DEF nombre. Este DEF nombre es utilizado por el generador de V-Realm para realizar muchas tareas. Es muy importante para que usted pueda dar a cada nodo de un nombre descriptivo para que estos nodos pueden ser llamados más tarde. Una de las herramientas que está impulsado por el DEF es el nombre de la función de búsqueda. Es posible seleccionar cualquiera de los nodos en el árbol de nodos y escriba un DEF nombre que desea "goto", y el nodo se buscan automáticamente y se muestra si se encuentra. Si usted no da a cada nodo un nombre distinto de la función de búsqueda no se realiza correctamente. En segundo lugar, es posible volver a usar los nodos enteros en el árbol de nodos por el uso de la USO función. Sólo aparecen los nodos que se han dado unaDEF nombre se puede volver a utilizar de esta manera. En tercer lugar, sólo los nodos que se han dado una DEF nombre se mostrará en el cuadro de diálogo de Ruta, que se describirá más adelante en este documento.Esta función es muy importante si se desea crear mundos animados o en movimiento. Sólo los nodos denominados específicamente se puede utilizar para aceptar sensores y interpoladores. Dar a cada nodo de un nombre de DEF que describe la función del nodo. Agrupación Básica El Grupo y los nodos de transformación son los dos nodos de agrupamiento más básicas. El nodo Grupo actúa como un paréntesis cuando se agrupa a otros nodos entre sí. No impresionar a restricciones especiales en los nodos que los agrupa. El nodo Transform define un sistema de coordenadas de sus hijos y por lo tanto se requiere una uniformidad entre sus hijos. Esto significa que los hijos de una transformada de todos utilizan el mismo sistema de coordenadas local. Grupo de Grupo de Figura 66: Grupo Nodo Icono Un Grupo de los grupos de ganglios sus hijos juntos, pero no impone ninguna restricción especial sobre ellos. Transformar Transformación Figura 67: Transformación del nodo Icono A los grupos de nodos de transformación de sus hijos juntos y define un sistema de coordenadas para los que es relativa al sistema de coordenadas de los padres. [4] Worldbuilding básica geometría y la apariencia Cuando se habla de los fundamentos de la creación del mundo, debemos hablar de dos principios generales: la geometría y la apariencia. La geometría en su estado más simple se refiere a los objetos primitivos que están disponibles en VRML - Box, Cone, Cylinder y Sphere. Estos objetos simples se crean con los valores por defecto que los hacen visibles en la escena. Estos objetos primitivos simples pueden ser alterados en tamaño, color, textura, posición, y muchas otras maneras.Cuando un objeto es alterado, se están cambiando su apariencia. Aspecto, color, ImageTexture, material, MovieTexture, PixelTexture, FontStyle, TextureTransform, y la forma son los nodos de VRML que nos permiten modificar algunas de las características de la apariencia de la geometría primitiva o no. Nodos primitivos Geometría: Caja Caja Figura 68: icono de la caja de nodo El nodo de Caja especifica un cubo en el sistema de coordenadas local centrado en (0,0,0) y alineado con los ejes de coordenadas. Por defecto, la caja mide 2 unidades en cada dimensión, de -1 a +1. Campo de la caja tamaño especifica el alcance de la caja a lo largo de los ejes X, Y y Z, respectivamente, y debe ser mayor que 0,0. Las texturas son aplicadas individualmente a cada cara de la caja, sin transformar la textura entera va en cada cara. En el frente, atrás, derecha, arriba, abajo, y se enfrenta a la izquierda de la caja, cuando se ve desde el exterior con el eje Y hacia arriba, la textura se proyecta sobre cada cara con la misma orientación como si la imagen se muestra en condiciones normales en 2D . En la cara superior de la caja, cuando se ve desde el exterior a lo largo del eje + Y mirando hacia abajo con el eje-Z como la vista hasta la dirección, la textura se proyecta sobre la cara con la misma orientación que si la imagen se muestra en normales 2D. En la cara inferior de la caja, cuando se ve desde el exterior a lo largo del eje-Y mirando hacia arriba con el eje + Z como la vista hasta la dirección, la textura se proyecta sobre la cara con la misma orientación que si la imagen se muestra en normales 2D. La geometría de la caja se considera que es sólido y por tanto requiere caras exteriores solamente. Cono Cono Figura 69: Nodo Cono Icono El Cono especifica un cono que está centrado en el sistema de coordenadas locales y cuyo eje central está alineado con el eje Y local. El bottomRadius campo especifica el radio de la base del cono, y el campo de altura especifica la altura del cono del centro de la base al ápice. Por defecto, el cono tiene un radio de 1,0 en la parte inferior y una altura de 2,0, con su vértice en y = 1 y su parte inferior en y = - 1. Tanto bottomRadius y altura debe ser mayor que 0,0. El lado del campo especifica si los lados del cono se crean, y la parte inferior campo especifica si la tapa inferior del cono se crea. Cuando se aplica una textura a los lados del cono, la textura envolturas en sentido antihorario (desde arriba) comenzando en la parte posterior del cono. La textura tiene una costura vertical en la parte posterior en el plano YZ. La textura tapa inferior aparece lado correcto hacia arriba cuando la parte superior del cono se gira hacia el eje-Z. La geometría del cono se considera que es sólido y por tanto requiere caras exteriores solamente. Cilindro Cilindro Figura 70: Icono Nodo Cilindro El nodo cilindro especifica un cilindro tapado con centro en (0,0,0) en el sistema de coordenadas locales con un eje central orientado en el eje Y local. De forma predeterminada, el cilindro de la altura es de tamaño -1 a 1. Radio 1. El campo de radio especifica el cilindro de radio y la altura campo especifica la altura del cilindro a lo largo del eje central. Tanto radio y la altura debe ser mayor que 0,0. El cilindro tiene tres partes: el lado , la parte superior (Y = + altura ), y laparte inferior (Y = - altura ). Cada parte tiene a un campo booleano que indica si las partes existen (TRUE) o no existen (FALSO). Si las partes no existen, no son considerados en la detección de colisiones. Cuando se aplica una textura al cilindro, se aplica de manera diferente a los lados , las superiores, y de fondo . En los lados , la textura envolturas en sentido antihorario (desde arriba) comenzando en la parte posterior del cilindro. La textura tiene una costura vertical en la parte posterior, que intersecta el plano YZ. Para los primeros , y abajo las tapas, un círculo se corta de la plaza de la unidad centrada en (0, altura, 0) con las dimensiones (2 x radio) por (2 x radio). La parte superior textura aparece lado correcto hacia arriba cuando la parte superior del cilindro está inclinado hacia el eje + Z, y la parte inferior textura aparece lado correcto hacia arriba cuando la parte superior del cilindro está inclinado hacia el eje-Z. El nodo geometría del cilindro se considera que es sólido y por tanto requiere caras exteriores solamente. Esfera Esfera Figura 71: icono de la esfera del nodo El nodo Esfera especifica una esfera centrada en (0,0,0) en el sistema de coordenadas locales. El radio de campo especifica el radio de la esfera y debe ser> = 0,0.Cuando se aplica una textura a una esfera, la textura cubre toda la superficie, envolviendo la izquierda desde la parte posterior de la esfera. La textura tiene una costura en la parte posterior donde el plano YZ intersecta la esfera. La geometría de la esfera se considera sólida y por lo tanto requiere de caras exteriores solamente. Nodos de la apariencia: Junto con todos los otros formatos de textura de archivo disponibles para su aplicación a una pieza de la geometría, el usuario tiene también la capacidad de aplicar transparente. Texturas GIF formateado. Estas texturas actuar de un modo especial en que hacer que la base de "color" o "material" transparente, de manera que el objeto puede ser visto a través. De esta manera, sólo la parte no transparente de la transparencia. GIF se verá en el objeto. Apariencia Apariencia Figura 72: Aspecto Icono Nodo El nodo Appearance especifica las propiedades visuales de la geometría mediante la definición de la materia y los nodos de texturas. El valor por defecto para cada uno de los campos de este nodo es nulo. Sin embargo, si el campo no es NULL, debe contener un nodo del tipo apropiado. ImageTexture ImageTexture Figura 73: La textura de imagen de icono del nodo El nodo ImageTexture define un mapa de textura mediante la especificación de un archivo de imagen y los parámetros generales para la asignación de la imagen a la geometría. Material de material Figura 74: icono de material Nodo El nodo Material especifica las propiedades de la superficie de materiales para los nodos de geometría asociada y es utilizado por las ecuaciones de iluminación VRML durante la representación. Todos los campos en el rango de nodo Material de 0,0 a 1,0. MovieTexture MovieTexture Figura 75: Textura de la película icono de nodo El nodo MovieTexture define un mapa en tiempo depende de la textura (contenido en un archivo de película) y los parámetros para el control de la película y el mapeado de texturas. Este archivo puede ser AVI o MPEG, pero el generador de V-Reino no es compatible con pistas de audio comprimidas en archivos AVI. Forma Forma Figura 76: icono de forma Nodo El nodo Shape tiene dos campos: la apariencia y la geometría, que se utilizan para crear los objetos representados en el mundo. La aparición campo especifica un nodo Apariencia que especifica los atributos visuales (por ejemplo, material y textura) para ser aplicados a la geometría. La geometría campo especifica un nodo de geometría. El nodo de geometría especificada se representa con los nodos de comparecencia señalada aplicadas. Si el nodo de geometría es NULL el objeto no se dibuja. El valor predeterminado es NULL. Ejercicio 1: Worldbuilding básica Con el fin de obtener una comprensión sólida de la interfaz y el proceso de construcción, vamos a utilizar una variedad de métodos para construir un objeto. Más adelante veremos que hay métodos más sencillos para realizar algunas de estas tareas. Pero por el momento, queremos que para familiarizarse con las tres secciones de la interfaz de Builder: las barras de herramientas, el panel de Vista (s), y el árbol de nodos. 1. Abra el constructor y crear un archivo nuevo en blanco . 1. La barra de herramientas en realidad está formado por una serie de sub-base de acoplamiento de barras de herramientas, con los iconos (en representación de los nodos ) agrupados por función común. Con el botón izquierdo del ratón, puede hacer clic en un área vacía de la barra de herramientas y arrastre las herramientas a una nueva ubicación. Prueba con el grupo de la barra de herramientas que tiene un "ancla" el icono (la barra de herramientas de Grupo ) . Con el botón izquierdo y arrastre en un área vacía de la barra de herramientas de grupo, y la liberación . Si el botón del ratón es liberado de los bordes de la aplicación, la barra de herramientas flotante sigue siendo libre. Haga clic en el botón "x" para cerrar esa barra de herramientas . Ir al menú "Ver" en la parte superior y abrir el diálogo Barras de herramientas . Este te ofrece una selección de las barras de herramientas para mostrar. Marque "Barra de herramientas de nodo de grupo" y los vuelve a aparecer la barra de herramientas. Cierre el cuadro de diálogo Barras de herramientas, a continuación, haga clic y arrastre la barra de herramientas para un espacio vacío a lo largo de los bordes, suelte el botón del ratón y la barra de herramientas se acoplará. 1. Vamos a crear nuestro primer objetivo, uno de los pilares. En primer lugar, vamos a especificar que lo que estamos a punto de crear todo está contenido dentro de un solo grupo. Vuelve a tu barra de herramientas del grupo y encontrar el icono que representa el Grupo de Inserción . botón izquierdo del ratón sobre el icono y verás un grupo de nodos se añade a la del nodo de árbol en el lado izquierdo de la pantalla. Nada cambia en el negro Panel de Vista , porque esto es sólo un nodo de agrupamiento. No hay nada visual a ella todavía. Tenga en cuenta que en el árbol de nodos, el Grupo tiene un signo más junto a él. Esto significa que se puede ampliar. Izquierda haga clic en el signo más , y el nodo se expande para mostrar los campos relacionados con el nodo (nodos comienzan con una letra mayúscula, los campos en minúsculas). Haga clic en el los niños de campo para seleccionarlo . Cualquier cosa que agregue al árbol de nodos en este momento será, en la jerarquía, ser considerado como un niño al padre, Grupo . Todos los componentes de la columna que crearemos será arreglado por debajo de este grupo. 1. En la barra de herramientas de Geometría, haga clic izquierdo en el Cilindro Insertar icono . El árbol de nodos se actualiza para mostrar ungrupo de transformación que contiene la geometría y las propiedades de un cilindro. El cilindro aparece en el panel de Vista, con asas que muestran que se ha seleccionado. Este cilindro será el eje de nuestro pilar. 1. Vamos a hacer el más alto del cilindro. En el teclado, mantenga presionada la tecla CTRL y SHI FT llaves. Con el puntero del ratón en el Panel de Vista, a la izquierda, haga clic y mantenga en una de las cajas de manipulador pequeñas blancas en la parte superior del cilindro . Ahora, manteniendo el botón del ratón, arrastre el ratón hacia adelante (a lo largo del eje Y) para hacer la escala de cilindro más alto. Nótese cómo la barra de estado en la parte inferior refleja los cambios que está haciendo. Suelte el botón del ratón cuando haya terminado ( para una explicación completa de la utilización de los manipuladores, consulte el "Apéndice C - Referencia Manipulador" ). 1. Volver a su atención el árbol de nodos , y vamos a echar un vistazo a cómo los cambios que la afectan. Debajo de la Transformada de nodo, verá unaescala de campo. Haga doble clic en la escala , y el diálogo de edición de pops-up. En forma predeterminada, los valores aquí por lo general se lee " 1 1 1 "para X, Y y Z. Como puede ver, sus acciones en el Paso 5 cambió el valor "Y" de la escala . 1. Supongamos que te gustaría para ser más precisos con los cambios de escala: haga clic en el interior de la caja en el cuadro de diálogo para el eje Y, y cambiar el número a 1,5 . Tenga en cuenta cómo cambia el cilindro en el panel de vista. También puede arrastrar el control deslizante para cambiar el valor . El incremento de ajuste es controlado por el valor dentro del incremento de ajuste cuadro . Utilizando cualquiera de los métodos, cambiar el valor de la espalda de S a "1". Haga clic en Aceptar para cerrar el cuadro de diálogo . 1. Es importante señalar que en el ejemplo anterior, no se cambia el tamaño real de la columna, pero la escala del grupo que incluye el cilindro. Escala es un tipo de transformación , por lo que el cilindro aparece debajo de la Transformada de agrupación nodo. traducción es otro tipo de transformación, y otro campo dentro de la transformación del grupo. Haga doble clic en la traducción , y se abre otro cuadro de diálogo. Esta vez, seleccione el eje X y utilizar la barra de desplazamiento para mover el cilindro a la parte izquierda de la vista panel. Haga clic en Aceptar para cerrar el diálogo. 1. Ahora vamos a intentar hacer lo mismo visualmente. En el panel de Vista, a la izquierda, haga clic directamente sobre el cilindro . Guías amarillas aparecen para que usted pueda mover el objeto a lo largo de X o Y . Arrastre la parte posterior del cilindro en el centro . Los valores de esta traducción se muestran en la barra de estado abajo y actualizada en el árbol de nodos de forma automática. 1. Desde que se deshizo de la escala del cilindro, todavía tenemos que hacerlo más alto para ser el eje de nuestra columna. En el árbol de nodos, expanda elCilindro nodo a revelar sus campos. Haga doble clic en la altura del campo y cambiar el valor a "6" . Estos valores, por cierto, en realidad no representan a ningún sistema de medición específica, sino que es común pensar en ellos como una unidad de VRML = 1 metro. El eje es ahora alto de nuevo. Haga doble clic en la radio y cambiar el valor a "0.5". 1. Sea consciente del hecho de que cualquier cosa que añadir a una escena tiene que ser prestados, así que es mejor para eliminar todas las superficies innecesarias. El cilindro tiene campos, tanto para la parte inferior y superior . Haga doble clic en los y cambiar los valores a FALSE para eliminar estas superficies . 1. También es importante definir, o DEF , su trabajo como usted lo crea. Cualquier nodo puede DEF'd, pero no todo debe ser. En este caso, vamos a DEFtres cosas:. el propio grupo, el grupo de transformación, y la forma que representa el eje en el árbol de nodos, haga clic una vez en la etiqueta de grupopara seleccionarlo, hacer una pausa y, a continuación, haga clic una vez para resaltarlo . Escriba el nombre de PILAR en su lugar, y pulsa Intro en el teclado. Ahora la etiqueta del nodo de transformación como PILLARXFORM y la forma como EJE . Como hemos terminado con EJE, por el momento, puede que se derrumbe haciendo clic en el signo menos para hacer un poco de espacio en el árbol de nodos . 1. Es una buena idea guardar periódicamente su archivo. En la barra de herramientas, haga clic en el icono de guardar y el nombre del archivo "pillar.wrl " . Los archivos VRML se nombran con el " WRL "extensión para facilitar su identificación a través de Internet. 1. En este punto, hemos estado moviendo muy lentamente, con explicaciones detalladas. Vamos a mover un poco más rápido ahora para crear las bases de nuestra columna, y se puede utilizar el método descrito anteriormente que usted prefiera. Recuerde que debe guardar periódicamente su archivo . 1. Con el fin de aplicar transformaciones a nivel mundial para nuestro pilar a partir de ahora, vamos a hacer las bases de los propios hijos de los padres, PILLARXFORM. Seleccione el los niños de campo bajo PILLARXFORM en el árbol de nodos y, desde la barra de herramientas, haga clic en elcuadro de diálogo I nsertar . Una Caja primitiva aparece en el panel de vista. 1. Utilizando uno de los métodos descritos anteriormente, hacen que el cuadro de aproximadamente un cuarto de su altura actual y alinearla con la parte inferior del eje . Tal vez le resulte útil para cualquiera de ajustar la vista dentro de la escena por el cambio de modo. Actualmente se encuentra en el modo de Selección . Al cambiar al modo Pan , usted puede ajustar su posición de visualización hacia arriba / abajo y derecha / izquierda. Al cambiar al modo de navegación , se puede "caminar" hacia atrás / adelante y girar sobre si mismo. Usted también puede querer a cualquiera de cambiar el panel de Vista que está trabajando a un ortográfica (sin perspectiva) para los objetos se alinean con mayor precisión, o Ecualizar paneles de vista . Una vez que haya colocado su punto de vista, se puede volver a recoger de modo para seleccionar y transformar la caja . 1. DEF de la caja de transformación como BOX1XFORM. 1. Para hacerlo más fácil para crear la segunda casilla de la parte superior de la columna, podemos simplemente copiar y pegar el primero. En el árbol de nodos, seleccione el BOX1XFORM, y haga clic en el icono Copiar . Ahora, seleccione el los niños de campo por encima de ella (los niños de PILLARXFORM), y pegar . el árbol de nodos muestra ahora otra BOX1XFORM. Cambiar el DEF de BOX2XFORM para mayor claridad . Debido a que las dos cajas comparten las mismas propiedades, que actualmente ocupan el mismo espacio. Seleccione una de las cajas y transformarlo hasta la parte superior del eje del pilar . 1. Usted puede preguntarse por qué se tomó la molestia de ser tan preciso acerca de la jerarquía de la columna. Intente este experimento. En el panel de Vista,haga clic en el eje y moverla . Tenga en cuenta cómo se mueve el pilar enteros. Esto se debe a las cajas, como los niños, heredar las propiedades de la matriz, el eje. Si ellos estaban dispuestos a todos como iguales (o hermanos) en el árbol de nodos, podemos encontrar a nosotros mismos tener que transformar cada objeto por separado. Más tarde, vamos a ver los beneficios adicionales de utilizar la jerarquía de sabiduría. 1. Vamos a añadir un poco de color a nuestro pilar. Expanda el nodo EJE para revelar la apariencia, y ampliar el que hasta que vea el material denodo. Haga doble clic en el material para abrir el Editor de materiales . El editor de materiales tiene herramientas visuales para cada uno de los campos asociados con el nodo Material. En su mayor parte, usted trabajará con color difuso , por lo que haga doble clic en su paleta . El Color Editor de diálogo se abre, y usted puede seleccionar visualmente un color con el ratón en la rueda de color, o introducir valores precisos, tales como RGB, HSV, etc Elija un color arenoso, de color marrón claro . Tenga en cuenta cómo la elección se refleja en el Editor de materiales que le muestre una versión sombreada e iluminada del color. Haga clic en Aceptar para salir del Editor de colores y en Aceptar para salir del Editor de materiales . El eje está ahora pintado. 2. Puede repetir estos pasos para las cajas, pero si queremos que sean del mismo color, hay una manera más fácil. Desde la barra de herramientas, cambie almodo de color , y aparece el pintor material . Se parece mucho a el Editor de materiales, pero tiene una "pintura" y "adquirir" la función . Seleccione la opción "Adquirir" y mantenga el cursor sobre el pilar. El cursor cambiará a un cuentagotas, y al hacer clic se puede "recoger" el material del eje.Cambie a la "pintura" y el cursor cambia a un pincel. Haga clic en las cajas para pintar con el nuevo material a continuación, haga clic en el botón de cierre. Guarde el archivo final . Ahora, eso puede parecer como un montón de pasos a seguir para crear una columna simple, pero tenga en cuenta que hemos explorado casi todos los aspectos de la interfaz de Builder mientras lo hace. Es posible que desee iniciar un nuevo archivo y vuelva a intentarlo, esta vez sólo la pervivencia de los pasos que usted se sienta cómodo. Algunas personas les gusta ser preciso y utilizar el árbol de nodos tanto como sea posible.Otros son más visuales y tienden a pegarse a los paneles de vista. Usted encontrará en el tiempo que a menudo va a trabajar en ambos, y que algunas tareas son más fáciles de lograr en una que la otra. A medida que continúe trabajando a través de estos ejercicios, vamos a usar potentes funciones tales como bibliotecas personalizables, arrastrar y soltar, y de instancias DEF objetos d '. No sólo esto hace más fácil worldbuilding, pero acelerará el proceso. El tutorial de inicio rápido y todos los ejercicios incluidos en este manual se han implementado y están disponibles para que usted compruebe que trabajar en contra.Por favor, consulte el sub-directorio de la aplicación Generador de V-reino llamado "Mundos \ Tutoriales \" de los mundos. [5] Worldbuilding intermedio de instancias, con DEF y USE Instancias hace referencia al uso de las palabras clave VRML DEF y USO . Estas palabras clave se utilizan para simular la "copia" la información de un lugar a otro mediante la definición de una cierta información con el uso de la DEF de palabras clave y darle un nombre. En un momento posterior en la escena, el usuario puede utilizar el USO de palabras clave con el nombre utilizado para definir la información anterior. Esto tiene el efecto de usar toda la información anterior se define como si se tratara de todos "copiado" a la posición donde la USO se encuentra la palabra clave. Debido a que la información no es copiado, pero en realidad "se refiere a", el código que fue definido por el DEF palabra clave no se permite la reproducción y el grafo de escena y el archivo son más pequeños. Cualquier nodo puede ser identificado y utilizado de nuevo. Escena de enlace Nodos: Antecedentes, Niebla, NavigationInfo, y punto de vista son los nodos de escena vinculantes. Los nodos de escena una oferta vinculante información crítica acerca de la escena actual. No puede haber una superposición de información de la escena obligatoria. Toda la información de estos nodos puede ser la misma de escena a escena, pero si la nueva información se proporciona la información anterior se ha sustituido. La acumulación no puede ocurrir cuando se trata de nodos de escena de unión. Como se puede decir de los nombres de los nodos, estos nodos de describir el entorno en el que están viendo la escena y cómo ver la escena. Antecedentes Antecedentes Figura 77: Antecedentes nodo Icono El nodo de fondo se utiliza para especificar un telón de fondo de color que simula el suelo y el cielo, así como una textura de fondo, o panorama, que se coloca detrás de toda la geometría de la escena. Nodos de fondo se especifica en el sistema de coordenadas locales y se ven afectados por la rotación acumulada de sus padres. Niebla Niebla Figura 78: Icono de la niebla del nodo El nodo de niebla proporciona una forma de simular los efectos atmosféricos mezclando objetos con el color especificado en el color de campo y basada en la distancia de los objetos del espectador. Las distancias se calculan en el espacio de coordenadas del nodo Fog. El visibilityRange especifica la distancia (en el espacio de coordenadas del nodo Fog) en la que los objetos son totalmente oscurecida por la niebla. Un visibilityRange de 0,0 o menos desactiva el nodo Fog. Elset_bind variable se establece para permitir que el navegador para poder utilizar la niebla como por defecto en la vista del navegador o no. El fogType variable le da más información sobre cómo la niebla se vuelve. NavigationInfo NavigationInfo Figura 79: Icono Nodo NavigationInfo El nodo NavigationInfo contiene información que describe las características físicas del espectador y el modelo de visualización tales como avatarSize , faros ,velocidad , tipo y visibilityLimit . Punto de vista Punto de vista Figura 80: Punto de vista Icono Nodo El nodo Viewpoint define una ubicación específica en el sistema de coordenadas local de la cual el usuario puede ver la escena. Puede haber cualquier número de estos puntos de vista de la escena, pero sólo uno puede estar activo en un momento dado. Fuentes de luz: En general, los nodos de la forma son iluminados por la suma de todas las luces de la escena que les afectan. Tanto directa y el ambiente de la iluminación se consideran. DirectionalLight, PointLight, y Spotlight (iluminación directa) son los tipos de fuentes de luz que están disponibles en VRML 2.0. Todos los nodos fuente de luz contienen una intensidad, el color, y ambientIntensity campo. La intensidad de campo especifica el brillo de la transmisión directa de la luz; laambientIntensity especifica la intensidad de la transmisión de la luz ambiente, el color de campo especifica las propiedades de color espectral de la emisión de luz como una RGB valor desde 0,0 a 1,0. Iluminación ambiente proviene de la luz emitida por los objetos de la escena. Un nodo de la forma está apagado si la forma de aparición de campo es nulo o si el material de campo en el nodo de la apariencia es NULL (iluminación está apagada). Un nodo de forma que se enciende si la forma de aparición de campo se especifica el material de campo de la aparición del nodo también se especifica (la iluminación está en ON). Los nodos de luz añaden complejidad al mundo y aumentar el tiempo de renderizado. DirectionalLight DirectionalLight Figura 81: Icono de dirección del nodo de luz El nodo DirectionalLight define una fuente de luz direccional que ilumina a lo largo de rayos paralelos a un vector 3D dado. El uso de una luz direccional que imitan la luz del sol por todo lo ilumina en una escena desde el mismo ángulo. PointLight PointLight Figura 82: icono de punto de nodo de luz El nodo PointLight especifica una fuente de luz puntual que emana de un punto especificado en el espacio 3D. Una fuente puntual emite luz en todas las direcciones, es decir, es omnidireccional. Un punto de luz es similar a una lámpara, ya que emite luz de manera uniforme en todas las direcciones desde una localización central. SpotLight SpotLight Figura 83: Luz del punto del icono de nodo El nodo SpotLight define una fuente de luz que emite luz desde un punto específico a lo largo de un vector de dirección específico y está limitado dentro de un ángulo cónico sólido. SpotLights puede iluminar los nodos de la geometría que responden a las fuentes de luz y se cruzan el ángulo sólido. El ángulo cónico sólido es el arco de luz que es creado por el punto de mira. El faro de un coche es un buen ejemplo de un foco. Su luz comienza a la luz e ilumina una forma cónica de la fuente de luz. Otros nodos intermedios: El FontStyle y los nodos de texto son el último de los nodos intermedios. Ellos definen las cadenas de texto y su aparición en la escena. FontStyle FontStyle Figura 84: Icono de Estilo de fuente Nodo El nodo FontStyle define el tamaño , la fuente de la familia y estilo de fuente del texto, así como la dirección de las cadenas de texto y cualquier lenguaje técnicas específicas de representación que deben ser utilizados para los no-Inglés texto. Este nodo se puede utilizar con el nodo de texto solamente. Texto Texto Figura 85: icono de texto del nodo El nodo de texto especifica una de dos caras, objeto plano cadena de texto colocado en el plano XY del sistema de coordenadas locales sobre la base de valores definidos en la fontStyle campo. Los nodos de texto puede contener varias cadenas de texto. Las cadenas de texto se almacenan en el orden visual. Las texturas se aplican al texto como sigue: el origen textura está en el origen de la primera cadena, según lo determinado por la justificación. La textura se escala por igual en ambos S y las dimensiones de T, con la altura de la fuente que representa una unidad. S aumenta a la derecha, y T aumenta hasta. Ejercicio 2: Worldbuilding Intermedio Ahora podemos pasar de la creación de un objeto sencillo y empezar a construir un mundo completo. Mediante el uso de instancias, que fácilmente puede volver a utilizar los objetos y mantener el tamaño de archivo muy pequeño. Y los nodos que los elementos de control, tales como color de fondo y la iluminación nos permite proporcionar un entorno para nuestro mundo. Por último, vamos a ver cómo la capacidad de establecer puntos de vista en nuestro mundo nos permite controlar la experiencia de atención a los visitantes. 1. Iniciar un nuevo archivo ... vamos a crear una estructura de templo-como; 1. Haga clic en el fondo I nsertar icono de ... colores para cielo y el suelo se añaden a la escena que se puede personalizar más adelante; 1. Haga clic en I nsertar grupo y DEF como TEMPLO . Expandir y poner de relieve que los niños , como todo lo que se añade para el templo en este punto entran en este grupo. 1. Insertar un cuadro que actuará como el suelo del templo ... en el nodo de árbol, expandir la caja, y ajustar el tamaño en 20 unidades de ancho (X), 1 unidad de altura (Y), y 30 unidades de profundidad (Z). DEF del nodo Shape como PISO , y DEF de la transformación por encima de ella, comoMAINXFORM ; 1. Añadir un "vacío" Transformar el grupo como un niño a la MAINXFORM . Ahora podemos probar nuestro primer ejemplo de la creación de instancias para crear un techo . Con el campo de los niños de esta nueva transformación seleccionado, haga clic en el USO I nsertar icono . Un nodo se agrega que dice USO: NADA . Haga doble clic en la "mano" para que aparezca el "USO Editar" caja . Haga clic en el menú desplegable, y seleccione PISO . Ahora ha creado una nueva instancia de la planta sin tener que repetir el código. Para verlo, vamos a tener que levantarlo lejos del piso.En el árbol de nodos, haga doble clic en la traducción por encima de USO: PLANTA , marque "eje Y" en el "Editar Vector3" caja de texto, y el uso el control deslizante para elevar el techo de 8 unidades. DEF toda transformación como TECHO . Guarde el archivo como Temple.wrl . 1. Ahora vamos a extender la agrupación y la creación de instancias un poco más para construir rápidamente el resto de nuestro templo. Crear un grupo nuevo llamado ( DEF d ') ALL_PILLARS como un niño en el Templo de grupo. Expanda el ALL_PILLARS grupo y crear un grupo llamadoSOUTH_PILLARS como un niño a ALL_PILLARS . Expanda el SOUTH_PILLARS grupo. 1. Abra el archivo del tutorial anterior, pillar.wrl (no se preocupe, puede tener más de un mundo abierto en el Generador a la vez). Seleccione el EJEdel grupo, y copiarlo en el portapapeles. Cambie de nuevo a su Temple.wrl archivo desde el menú Ventana . 1. Pegue el EJE en el SOUTH_PILLARS grupo como un niño . La columna aparecerá en el medio de tu templo. Utilice cualquiera de los métodos contemplados con anterioridad a la posición de su columna en el frente izquierdo del templo . Puede ser útil para cambiar los paneles de Vista para colocarlo visualmente. Ajuste el piso y el techo como sea necesario para que estén alineados con la parte superior e inferior de la columna. Guarde el archivo .  9. Como un niño a la SOUTH_PILLARS grupo, insertar una nueva transformación. Como a un niño a esto, inserte un USO nodo. Edítala paraUSO: PILAR . Ajustar el campo de la traducción por encima de ella para deslizar el nuevo pilar a través del eje X de aproximadamente 4 unidades y media a la derecha. Repita este procedimiento dos veces más, cada vez que un deslizamiento USO pilar d 'al espacio a cabo de manera uniforme. Usted debe tener una escena y un árbol de nodos que se parece a esto:  o 10. Crear una transformación denominada NORTH_PILLARS como a un niño a ALL_PILLARS . Ahora puede insertar un nodo USO y USO: SOUTH_PILLARS para crear los pilares en el otro extremo del templo. Utilice el campo de la traducción en el árbol de nodos para enviarlos de regreso a lo largo del eje Z de -24 unidades. o 11. Repetir la primera parte del procedimiento anterior para crear EAST_PILLARS . Tendrá que ajustar el campo de la rotación de 90 grados alrededor de la Y (arriba y abajo) del eje, así que haga doble clic en el campo de rotación de los EAST_PILLARS transformar para que aparezca el cuadro de diálogo Editar rotación . Como sólo necesita ajustar la rotación alrededor del eje Y, cambiar el valor de Y a 1, y el valor de Z a cero.Establecer rotación de 90 grados ( x = 0, y = 1, z = 0, la rotación = 90 ). Ahora, ajuste la traducción de este nuevo grupo de pilares para posición a lo largo de la derecha (este) lado del templo. o 12. Crear las WEST_PILLARS . Esta vez, sin embargo, puede simplificar la tarea con USO: EAST_PILLARS , ya que los EAST_PILLARS ya está rota. Alinee los WEST_PILLARS lo largo de la izquierda (Oeste) del templo . Guarde el archivo . o Como puede ver, creación de instancias es muy poderosa. Cualquier cosa (incluso otro ejemplo) que ha sido previamente DEF d 'puede ser USO 'd nuevo. Las ventajas son la capacidad de hacer cambios globales en grupos de objetos y un tamaño de archivo mucho más pequeño (en este punto, toda la Temple.wrl archivo es sólo de 2,5 kb!). 5. Ahora podemos añadir algunas características que nos permiten controlar la experiencia de un visitante de nuestro mundo. En primer lugar, vamos aañadir la información de navegación del nodo en la parte superior de nuestro archivo . Expandir esto, y haga doble clic en el faro de campo. Póngalo en false . Faros es una característica de los navegadores de VRML (y en el Generador), que ilumina una escena que no tiene configuración de la luz, pero a menudo sobreexponer la escena. Para ver el efecto, apague el faro del panel de vista. 6. Obviamente, tendrá que añadir un poco de luz, por lo que introducir un punto de luz por encima del nudo NavigationInfo. Para ver una representación de la luz en sí misma, puede cambiar los manipuladores de luz en "on" . La esfera en el centro del templo es la luz que acaba de agregar. Al hacer clic con el botón izquierdo del ratón sobre el "polo" que sobresale de la parte superior de la luz, puede arrastrarlo hacia el centro de la habitación . Ampliación de la luz del punto de nodo en el árbol de nodos revela otras configuraciones para este tipo de luz.Haga doble clic en el color , y la puso a un resplandor suave, de color rojizo (como luz de las velas). 7. Otro tipo de luz es la luz direccional . Esta es una buena manera de representar la luz del sol o la luna en una escena. Inserte una luz direccional por debajo de la PointLight , y se arrastra por encima del techo para facilitar la manipulación . Tenga en cuenta que el manipulador punta de flecha que se extiende desde la luz. hacer clic y arrastrar en ella cambia la dirección de la luz se irradia . Cuando usted lo ha colocado a su gusto, utilice el árbol de nodos para ajustar el color y la intensidad de algo parecido a la luna . Guarde el archivo y desactive los manipuladores de luz (manipuladores de luz en realidad nunca aparecen en un archivo VRML final). o 16. En nuestro primer paso, hemos añadido un segundo plano. Vamos a personalizar el cielo para que se vea más como una escena nocturna.Expanda el nodo de fondo, y desplácese hacia abajo para skyColor . Expandir skyColor clic y doble clic en el [3] de campo para mostrar el color del cielo en el horizonte. Cambio en la rueda de color a un color anaranjado, como el cielo después del atardecer. Subir a la [2] , y el cambio a un color morado oscuro. Mover hasta [1] , y el cambio a un lugar oscuro, azul-púrpura. Mover hasta [0], y el cambio a un color azul claro, como la luna . Todos estos cambios se reflejan en tiempo real en el panel de vista. Si lo desea, usted puede experimentar con los campos de groundColor , skyAngle, y groundAngle así. El fondo es un nodo que está mejor diseñado visualmente. o 17. Por último, vamos a establecer un punto de vista que determina que la persona que entra en nuestro mundo "aterrizar". Adición de un punto de vista personalizada en el Builder es muy fácil. Basta con cambiar al modo de navegación , y posicionarse en cualquier lugar de la escena en la ventana de visualización principal que le gustaría ser el punto de vista inicial . Cuando esté listo, haga clic en el acceso / Editar punto de vista de herramientas para insertar el punto de vista . Debe hacer clic en un nodo de grupo para que esto se añadió. Para probarlo, se mueve a una nueva posición en la vista principal y abrir la lista de posición del espectador en el panel de vista principal . [Punto de Vista 0] se ha añadido . Haga clic en Ir a, y usted será llevado de nuevo a ese punto. Guarde el archivo. o Mundos puede tener múltiples puntos de vista que los navegadores interpretan. Si vamos a tener muchos puntos de vista, debe utilizar el campo de descripción del nodo punto de vista a la etiqueta. En la mayoría de los navegadores de VRML, estas descripciones aparecerán en un menú de navegación. Tenga en cuenta que la opinión de que se colocan debajo de una transformación se verán afectadas por las traslaciones, rotaciones, etc por encima del punto de vista. Esto puede ser muy poderoso cuando se desea adjuntar un punto de vista de un objeto en particular, especialmente una una animación en movimiento a través del espacio VRML! [6] Más sobre agrupar más nodos de agrupamiento Como se mencionó anteriormente, los nodos de agrupación se combinan otros nodos llamados niños en un grupo cohesivo. Mencionan en esta sección están agrupando los nodos que son más sofisticados que la simple agrupación Grupo de nodos y transformar en el que se puede combinar la capacidad de alteración del nodo y la capacidad de referencia externa o archivo. Más sofisticados nodos de agrupamiento: Estos nodos de alguna manera puede cambiar la forma en que los nodos agrupados actúan y se muestran en la escena. Algunos cambian las coordenadas de los nodos secundarios, algunos reemplazar a un niño con otro niño, mientras que algunos calcular las colisiones con los niños. Cartelera Billboard Figura 86: Icono Nodo Billboard El nodo es un nodo Billboard agrupación que modifica su sistema de coordenadas de manera que el eje local del nodo Billboard Z se convierte en el punto en el espectador. Esto hará que el Billboard estar siempre visibles para el espectador. El nodo Billboard tiene hijos que pueden ser otra agrupación o nodos de la hoja. Colisión Colisión Figura 87: Icono de colisiones del nodo Por defecto, todos los objetos en la escena puede ser chocó con. Los navegadores pueden detectar colisiones geométricas entre el movimiento del usuario y la geometría de la escena, y evitar que el usuario entre en la geometría a menos que se desee. El nodo de la colisión es un nodo de agrupación que se puede desactivar la detección de colisiones para sus descendientes, especificar los objetos alternativos a utilizar para la detección de colisiones, y enviar los eventos de señalización que se ha producido una colisión entre el usuario y la geometría del grupo de colisión o de suplente. Si no hay nodos de colisión se especifican en la escena, los navegadores detectar la colisión con todos los objetos durante la navegación. LOD LOD Figura 88: LD Nodo Icono El nodo LOD especifica distintos niveles de detalle o complejidad de un objeto determinado, y proporciona consejos para los navegadores para elegir automáticamente la versión adecuada del objeto en función de la distancia del usuario. Uso de LD permite al autor para aumentar los detalles, como una forma más compleja o la textura, sólo cuando el usuario entra dentro de un rango especificado. Esto ayuda a reducir la cantidad de la prestación del navegador debe llevar a cabo, ayudando a aumentar la velocidad de movimiento a través del mundo. Switch Switch Figura 89: Cambiar Icono Nodo El conmutador agrupación atraviesa nodo cero o uno de los nodos especificados en la elección de campo. El nodo conmutador agrupación es única, ya que permite una o ninguna de sus hijos se muestra en la escena. El whichChoice campo de este nodo se especifica cuál de los niños se mostrará en la escena cuando el nodo Switch es alcanzado. Es posible dar a esta variable un valor - 1. Esto le indica al nodo Switch para mostrar ninguno de sus hijos. Los nodos hijos de un nodo Switch todavía enviar y recibir información (rutas y sensores), aunque no se muestran. Web basados en los nodos: Estos nodos se utilizan principalmente para adjuntar archivos externos o locales a un niño o una escena. A continuación se enumeran como nodos basados en la web debido a que su uso principal es dar al usuario la posibilidad de "importar" la información sin tener que incluir toda la información directamente en el archivo actual del mundo. Al igual que el uso de la DEF y USE palabras anteriores, estos nodos ayudan a mantener el tamaño de archivo pequeño mundo. A veces, la propagación de las solicitudes netas de información mejorará el rendimiento de un archivo. Ancla Ancla Figura 90: Anchor Node Icono El nodo de agrupación de anclaje hace que una dirección URL que se transfiere a través de la red cuando se activa el espectador (por ejemplo, clics) un poco de geometría contenida en los niños del ancla. Si la URL indicada es un mundo VRML legal, entonces ese mundo sustituye a la geometría que el anclaje es un miembro de. La información obtenida de la URL puede ser cualquier tipo de archivo de audio / visual / Texto. Si el archivo no puede ser directamente en pantalla, una interfaz adecuada se activará para revisar la información. Por ejemplo, si un archivo de texto se recupera, el navegador abrirá una ventana de texto, si un archivo de audio se descargue el navegador abrirá una ventana de audio, etc ... En línea en línea Figura 91: icono de nodo en línea El nodo en línea es un nodo de agrupación que lee los datos de sus hijos desde una ubicación en el World Wide Web. Este nodo permite al usuario introducir datos en el mundo de él / ella que no es directamente la entrada en el archivo. WRL. Este nodo permite al usuario especificar una ubicación del archivo en el archivo de world wide web o local para su inclusión en el archivo. WRL. De esta manera el archivo. Wrl puede quedarse pequeña, y los archivos en línea se puede cargar en el tiempo del mundo de inicio en lugar de tener que requerir toda la información apropiada para ser codificado en el archivo. WRL. Esto no sólo ahorra tiempo, pero le da al usuario una herramienta muy poderosa en la inclusión de objetos que ya han sido creados. Con el nodo en línea, el usuario necesita sólo de una referencia al archivo que contiene la información necesaria para cargarlo en la escena. [7] Las bibliotecas de arrastrar y soltar Una característica de gran alcance del Generador de V-Realm es su capacidad para permitir al usuario seleccionar los materiales, texturas, o la geometría, ya sea el árbol de nodos, ventana de la vista, o de cualquiera de las bibliotecas y, esencialmente, "caída" en su lugar. Imagine tener la capacidad de caminar a través de una tienda de muebles y ser capaz de seleccionar los muebles que caen justo en su casa. El siguiente es cierto para los materiales y sólo mientras se usa el pintor material . Resalta el material que desea "adquirir", ya sea en la ventana de la vista o en la biblioteca, y sólo "aplican" a la ventana de la vista donde sea necesario. Una cosa para recordar es que cuando se arrastra la geometría en la escena que hay que caer en un tipo de nodo correspondiente (por ejemplo, la forma o el nodo de los niños). Lo mismo es cierto para materiales y texturas (seleccionar y caer en un tipo de nodo apropiado). Al arrastrar objetos en la ventana de vista, el generador de V-Realm calcula un lugar apropiado para el nodo que se inserta. La geometría no se puede arrastrar y soltar, si el árbol de nodos está vacío, ni un objeto que cayó en la ventana de la vista si está vacío. Esto puede parecer una explicación básica de cómo "arrastrar y soltar" las obras, pero es así de simple. Usted tendrá que usar esta herramienta basta con hacer un par de veces antes de que usted verá lo fácil que funciona. El árbol de nodos a la izquierda de la pantalla es un elegante árbol de nodos. Determina automáticamente si el nodo seleccionado puede o no puede ser insertado o se ha caído en un punto dado. Si suelta el objeto de todas formas el árbol de nodos se inserta el objeto en el punto más cercano posible de donde se lanzó el objeto. Tener esta capacidad de ahorro de tiempo en la depuración de los archivos del mundo, porque el nodo del árbol "auto-elimina errores". Otra genial característica presentada a usted por el "arrastrar y soltar" instalación es la posibilidad de cortar y pegar objetos. Digamos que ha arrastrado un objeto de una de las bibliotecas, pero en la que cayó no funciona de la manera deseada. Ahora se puede cortar el objeto de donde se cayó y se mueven en otro lugar y probar su funcionalidad allí. No todo el mundo puede ser un Mozart y crear algo desde cero, con la perfección, pero con las herramientas dadas a usted por el uso de las bibliotecas, "arrastrar y soltar", cortar y pegar, y un árbol de nodos inteligentes, puede crear los mundos que parecen para ser perfecto la primera vez. V-Realm Builder Iconos Biblioteca Listado Figura 92: Material Icon Library La biblioteca de materiales permite a los usuarios para incluir materiales de la muestra directamente en sus mundos. También es posible añadir a la biblioteca de materiales para su uso en mundos futuros. Hay varios tipos de bibliotecas disponibles. Los usuarios deben asegurarse el tipo adecuado de la información ha sido añadido a cada biblioteca. Dentro de la biblioteca de materiales son materiales sencillos o los colores. Estos materiales simples se pueden combinar para crear materiales más complejos, o materiales personalizados se pueden crear y agregar a la biblioteca para su uso futuro. La ventaja de este concepto de biblioteca es que una vez que el material ha sido creado, se pueden importar a un nuevo mundo. No es necesario ir a otro archivo para abrir, copiar al portapapeles, archivo nuevo abierto y pegar desde el portapapeles. Estos pasos son eliminados simplemente eligiendo el material de la biblioteca y su adición a la escena, utilizando la importación o arrastre directo y la opción de menú. Cuando se pulsa el icono de biblioteca de materiales se abrirá el cuadro de diálogo siguiente: Figura 93: cuadro de diálogo Seleccionar material Este cuadro de diálogo ofrece al usuario acceso a todas las categorías y los elementos contenidos en ellos. Cualquiera de estos elementos puede ser elegido para su aplicación a la escena. El botón Cerrar, cerrar la ventana sin aplicar el material. Cuando el material de opción Editar Biblioteca se elige en el menú principal del cuadro de diálogo se muestra el siguiente: Figura 94: Edición de material Biblioteca cuadro de diálogo El usuario elige una categoría y un material de la lista desplegable del cuadro de diálogo Editar biblioteca de materiales para su edición. El ratón se utiliza para hacer clic en la selección, o las teclas de cursor se puede utilizar para desplazarse por la lista hasta que el material esté resaltada. A medida que recorre o seleccionar diferentes materiales, la ventana de previsualización a la derecha del cuadro de diálogo mostrará el material. Cuando el material deseado, el usuario tiene la posibilidad de añadir, eliminar o editar el material. El botón Opciones se abrirá la biblioteca de materiales y el cuadro de diálogo Opciones permite al usuario mantener las categorías utilizadas en la biblioteca de materiales. El botón de propiedades se abrirá la biblioteca de materiales cuadro de diálogo Propiedades y permitir al usuario editar las propiedades de un elemento en particular que ha sido seleccionado de la biblioteca. El botón Aplicar guarda cualquier cambio. Este cuadro de diálogo ofrece un control total de todos los aspectos de la biblioteca de materiales, y se debe utilizar cuando se trata de la biblioteca de materiales directamente. Cuando termine con la biblioteca, pulse el botón OK para volver a la tarea anterior. Si desea salir sin la edición de un material, presiona el botón CANCEL. Cuando los botones de añadir o editar hagan presión sobre el cuadro de diálogo Editar biblioteca de materiales del cuadro de diálogo se muestra el siguiente: Figura 95: Agregar biblioteca de materiales del artículo cuadro de diálogo Al agregar información a una biblioteca, el cuadro de diálogo requiere que el usuario introduzca una descripción del elemento que se agrega. Recuerde que el material será "creada" cuando las propiedades de la materia se han establecido. Esto se hace pulsando el botón Propiedades de la principal caja de edición de materiales de diálogo Biblioteca. El cuadro de diálogo también tendrá un campo de DEF Nombre . Este campo debe contener un nombre que puede ser utilizado para identificar el nodo cuando se le llama desde la biblioteca. Pulse el botón Aceptar para aceptar la información y cerrar el cuadro de diálogo. Pulse el botón Cancelar si desea cancelar la operación. Cuando el botón se presiona OPCIONES en el cuadro de diálogo Editar material Biblioteca del cuadro de diálogo se muestra el siguiente: Figura 96: Biblioteca de Materiales Categorías cuadro de diálogo El usuario puede mantener la lista de categorías para una biblioteca en el cuadro de diálogo Categorías de biblioteca de materiales. El botón ADD añade una nueva categoría a la lista de categorías. El botón Borrar suprime la categoría resaltada. Esto borra también todos los archivos que están asociados con la categoría . El botón Cambiar nombre se utiliza para cambiar el nombre de ninguna de las categorías. Cuando haya terminado con el cuadro de diálogo Categorías, pulse el botón OK para volver a la tarea anterior. Si desea salir sin editar, presione el botón CANCELAR. Cuando el botón Propiedades se pulsa en el cuadro de diálogo Editar material Biblioteca del cuadro de diálogo se muestra el siguiente: Figura 97: Editor de Materiales Cuadro de diálogo El usuario puede configurar cualquiera de las propiedades necesarias para lograr cualquier material necesario en el cuadro de diálogo Editor de materiales. El material elegido se mostrará en la ColorBall a la derecha del cuadro de diálogo. El botón OK se utiliza para aceptar el material elegido y el botón Cancelar se utiliza para ignorar el material que fue elegida y salir del diálogo. Figura 98: Objeto Icon Library La biblioteca de objetos permite a los usuarios para incluir los objetos de muestra directamente en su / su mundo. También es posible añadir sus propios objetos de la biblioteca de objetos. Hay varios tipos de bibliotecas disponibles: los usuarios deben asegurarse el tipo adecuado de la información ha sido añadido a cada biblioteca. Objetos simples, tales como escalones, columnas, paredes y mesas se encuentran dentro de la biblioteca de objetos. Estos objetos simples se utilizan para mejorar el mundo que cree. Sin embargo, es posible que desee agregar a la biblioteca los objetos especiales propios de mundos futuros. El beneficio de esta biblioteca es que una vez que el tiempo se ha dedicado a crear un objeto que sólo tiene que "importar" el objeto en un nuevo mundo. Ya no es necesario ir a otro archivo para abrir, copiar al portapapeles, archivo nuevo abierto, y pegar desde el portapapeles. Estos pasos son eliminadas por la simple elección del objeto de la biblioteca y agregarlo a la escena mediante la importación directa o arrastre y la opción de colocar. Cuando se pulsa el icono de la biblioteca de objetos se abrirá el cuadro de diálogo siguiente: Figura 99: Cuadro de diálogo Seleccionar un objeto Este cuadro de diálogo ofrece al usuario acceso a todas las categorías y los elementos contenidos en ellos. Cualquiera de estos elementos puede ser elegido para su aplicación a la escena. El botón Cerrar, cerrar la ventana sin aplicar el material. Cuando el objeto opción Editar Biblioteca se elige en el menú principal del cuadro de diálogo se muestra el siguiente: Figura 100: Edición de objetos Biblioteca cuadro de diálogo El usuario puede elegir una categoría de objeto y un objeto de la lista desplegable de objetos en el cuadro de diálogo Editar objeto Biblioteca para su edición. El ratón se utiliza para hacer clic en la selección, o las teclas de cursor se puede utilizar para desplazarse por la lista hasta que el objeto deseado esté resaltado. A medida que desplazarse y seleccionar los distintos objetos, la ventana de previsualización a la derecha del cuadro de diálogo mostrará el objeto.Cuando el objeto deseado, el usuario tiene la posibilidad de añadir, eliminar o editar un objeto. El botón Opciones se utiliza para abrir el cuadro de diálogo Categorías. Se utiliza para controlar las categorías y sus nombres dentro de la biblioteca de objetos. El botón Aplicar guarda cualquier cambio. Este cuadro de diálogo ofrece un control total de todos los aspectos de la biblioteca de objetos, y debe ser usado cuando se trata de la biblioteca de objetos directamente. Cuando termine con la biblioteca, pulse el botón OK para volver a la tarea anterior. Si desea salir sin necesidad de editar un objeto, presione el botón CANCELAR. Cuando los botones de añadir o editar se seleccionan en el cuadro Objeto de diálogo Editar biblioteca del cuadro de diálogo se muestra el siguiente: Figura 101: Agregar / Editar biblioteca de objetos de punto del cuadro de diálogo Al agregar información a una biblioteca, el cuadro de diálogo requiere que el usuario introduzca una descripción del elemento que se agrega. Este cuadro de diálogo también se utiliza para editar los objetos existentes. El cuadro de diálogo también requiere un nombre de ruta completa al archivo ( imagen de campo) que contiene el elemento. Esto se logra escribiendo el nombre de ruta completo en el campo correspondiente, o el usuario puede utilizar el botón Examinar para iniciar una búsqueda de un camino hacia el tema. Este campo tiene un valor predeterminado (*. LMR) de extensión de archivo. Esto se utiliza para mostrar sólo los archivos de este tipo. El otro campo que desee en el cuadro de diálogo es para la DEF Nombre de la variable de entrada. Esta opción permite al usuario aplicar la definición de un mismo nodo varias veces en el escenario gráfico sin tener que volver a introducir los datos correspondientes. Esto también permite al autor volver a utilizar el objeto simplemente ofrecer un USO nodo con el objeto de DEF Nombre . El botón Aceptar acepta los datos introducidos y las salidas del botón de cancelar el modo de edición sin aceptar los datos introducidos. Cuando el botón se presiona OPCIONES en el cuadro de diálogo Editar objeto Biblioteca del cuadro de diálogo se muestra el siguiente: Figura 102: Biblioteca de objetos de cuadro de diálogo Categorías En el cuadro de diálogo Biblioteca de objetos de categorías que el usuario mantiene la lista de categorías para la biblioteca. El botón ADD añade una nueva categoría a la lista de categorías. El botón Borrar suprime la categoría resaltada. Esto elimina la categoría y todos los archivos que están asociados con ella no se puede eliminar la categoría de uso general . El botón Cambiar nombre se utiliza para cambiar el nombre de cualquier categoría. Cuando termine con el cuadro de diálogo, pulse el botón OK para aceptar los cambios y volver a la tarea anterior. Si desea salir sin modificar el cuadro de diálogo pulse el botón CANCEL. Figura 103: Icono de Textura Biblioteca La Biblioteca de textura permite al usuario incluir texturas de la muestra en su / su mundo. El usuario puede añadir sus propias texturas de la Biblioteca de Texturas para su uso posterior. Hay varios tipos de bibliotecas disponibles, los usuarios deben asegurarse que la información adecuada ha sido añadido a cada biblioteca. Texturas simples y las imágenes se encuentran en la Biblioteca de Texturas. Estas texturas se pueden aplicar a los objetos o el usuario puede crear texturas personalizadas. La ventaja es que el tiempo una vez se ha pasado la creación de texturas, el usuario sólo tiene que "importar" la textura en un mundo. No es necesario ir a otro archivo para abrir, copiar al portapapeles, archivo nuevo abierto y pegar desde el portapapeles. Estos pasos son eliminadas por la simple elección de la textura de la biblioteca y su adición a la escena, usando la importación directa o arrastre y la opción de colocar. La creación de texturas es mucho tiempo, lo que permite a los usuarios para pasar el tiempo el desarrollo de buenas texturas que pueden ser reutilizados.Tenga en cuenta que las texturas de gran tamaño (150K +) puede hacer que el programa falle. Cuando se pulsa el icono Biblioteca de Texturas se abrirá el cuadro de diálogo siguiente: Figura 104: cuadro de diálogo Seleccionar textura Este cuadro de diálogo ofrece al usuario acceso a todas las categorías y los elementos contenidos en ellos. Cualquiera de estos elementos puede ser elegido para su aplicación a la escena. El botón Cerrar, cerrar la ventana sin aplicar la textura. Cuando la opción de Editar Textura Biblioteca se elige en el menú principal del cuadro de diálogo se muestra el siguiente: Figura 105: Textura Biblioteca cuadro de diálogo Editar En el cuadro de diálogo Editar Textura Biblioteca que se espera para elegir una categoría y una textura a partir de una lista desplegable de texturas. El ratón se utiliza para seleccionar un elemento, o las teclas de cursor se puede utilizar para desplazarse por la lista. Medida que se desplaza a través de texturas, la ventana de previsualización a la derecha del cuadro de diálogo mostrará la textura. Cuando la textura deseada se selecciona usted tiene la posibilidad de añadir, borrar o editar la textura. El botón Opciones, se abre el cuadro de diálogo Categorías y le da al usuario la capacidad de mantener las categorías de textura de la Biblioteca. El botón Aplicar guarda cualquier cambio. Este cuadro de diálogo ofrece un control total de todos los aspectos de la biblioteca de la textura y se debe utilizar cuando se trata de la biblioteca de la textura. Cuando termine con la biblioteca, pulse el botón OK para aceptar los cambios y volver a la tarea anterior. Si desea salir sin necesidad de editar una textura, presione el botón CANCELAR. Cuando el ADD o botones EDIT se eligen en el cuadro de diálogo Editar Textura Biblioteca del cuadro de diálogo se muestra el siguiente: Figura 106: Agregar / Editar Biblioteca de Texturas del artículo cuadro de diálogo Al agregar información a una biblioteca, este cuadro de diálogo requiere que el usuario introduzca una descripción para el elemento que se agrega. Este diálogo también se utiliza para la edición de texturas existentes. El cuadro de diálogo también se requiere un nombre de ruta completa al archivo ( imagen de campo). Esto se logra escribiendo el nombre de ruta completo en el campo correspondiente, o el usuario puede buscar un camino hacia el elemento haciendo clic en el botón Examinar. Este campo tiene un valor predeterminado (* gif,. *. Jpg, *. RGB) extensión de archivo. Estos se utilizan para mostrar sólo este tipo de archivos durante la operación de exploración. El otro campo que desee en el cuadro de diálogo es para la DEF Nombre de la variable de entrada. Esta opción permite al usuario aplicar la definición de un mismo nodo varias veces en el escenario gráfico sin tener que volver a introducir los datos correspondientes. Esto también permite que el autor vuelva a usar la textura simplemente proporcionando un USO nodo con la textura de DEF Nombre . El botón Aceptar acepta los datos introducidos, y las salidas de botón cancelar el modo de edición sin aceptar los datos introducidos. Cuando el botón de opciones que se elija en el cuadro de diálogo Editar Textura Biblioteca del cuadro de diálogo se muestra el siguiente: Figura 107: Biblioteca de Texturas Categorías cuadro de diálogo En el cuadro de diálogo Biblioteca de Texturas categorías el usuario mantiene la lista de categorías para la biblioteca. El botón ADD añade una nueva categoría a la lista de categorías. El botón Borrar suprime la categoría resaltada. Esto elimina la categoría y todos los archivos que están asociados con él . El botón Cambiar nombre se utiliza para cambiar el nombre de cualquier categoría. Cuando termine con el cuadro de diálogo, pulse el botón OK para aceptar los cambios y volver a la tarea anterior. Si desea salir sin modificar el cuadro de diálogo pulse el botón CANCEL. Ejercicio 3: Bibliotecas En este ejercicio, vamos a crear un árbol no tan sencillo! El objetivo aquí será para centrarse en los nodos de agrupamiento especiales que se enumeran en el capítulo anterior y de utilizar las bibliotecas Builder Realm V-para simplificar nuestro trabajo. En el proceso, vamos a ver cómo un objeto se puede optimizar para hacer más rápido en cualquier navegador de VRML. 1. Cree un nuevo archivo ... crear una colisión grupo llamado ÁRBOL para mantener nuestro árbol entero. Esto evitará que los visitantes a su mundo de caminar a través del árbol. Expanda el nodo haciendo clic en el signo más . 2. Como un hijo del nodo de la colisión, inserte un LOD (Nivel de detalle) nodo de agrupación . En realidad, va a crear dos árboles que ocupan el mismo espacio ... una "alta resolución", versión para cuando estamos cerca del árbol, y una versión de "baja resolución" para cuando estemos lejos.Expanda el nodo LOD, y haga doble clic en el campo de rango. The Edit MFField dialog appears. Click Insert, then click Edit Value. Change the value to 20 units, and click on OK to exit out of the SFFloat dialog and click OK again to exit out of the MFField dialog. 3. Select the level field, and add an Anchor group. Anchoring allows any child object of the Anchor to be hyperlinked to another file on the web. We'll return to this concept later in the exercise. 4. Expand the Anchor, highlight children, and insert a Cone . This will be the trunk of our tree. Expand the Cone, and set the bottom radius to .4. Set the height to 5.3. Double-click the bottom field, and set to FALSE (we'll never see the bottom of the tree, so no need to render it). You should now have a tall, thin cone. 5. Open up the Material Library , and select "Brown". Left click inside the color window, and drag and drop it onto the cone in the View Pane. Close the Select Material box. 6. Open up the Texture Library , and select "Wood (Brown)". Left click inside the color window, and drag and drop it into the Node Tree onto the field texture. Note that we could have dropped it directly onto the cone itself as we did with Material; in both cases, you can do it whichever way is more convenient. Close the Select Texture box. Note how the items you took from the library have updated in the Node Tree with their own DEF names. 7. Before we get too far, we should do some DEF'ing of our own. Name the Shape node TRUNK and the Transform TREEHIXFORM. 8. Now to create some leaves. Instead of creating complex geometry for branches and individual leaves, we can do it all with texturing. First, select children for the TREEHIXFORM node. Now, insert an I ndexed Face Set . An empty manipulator box appears. In the Node Tree, double-click on Indexed Face Set, and a special editor for creating polygons appears. We'll go into more detail later on this tool, but for the time being, just select Circle and click on OK. 9. In the View Pane, click down on the front of the circle and drag it up so that the top of the trunk is centered with the circle, and release. Now, click on the corner handles for the circle to scale it up larger (about two times as big), and release. Now, holding the Shift key, rescale the circle so that it's wider than it is tall (about three units wide). Note that you can accomplish the same thing by adjusting the scale field of the Transform within the Node Tree. 10. Open up the Texture Library, and select "Tree (Transparent)". Left click inside the color window, and drag and drop it onto the circle. Close the Select Texture dialog. This particular texture is a transparent GIF file. That is, the file has a color selected within it that is set to render as transparent. In VRML, you can either "decal" a texture onto and object (as it is now), or "mask" an object. In this case, we want the transparent section to mask out the polygon underneath. In order to do so, you want to delete the Material node currently associated with the polygon. In the Node Tree, find the Material node for the Indexed Face Set, select it, and delete it with the keyboard Delete key. The polygon disappears, but the leaves texture remains! (Not until the file is saved.) 11. DEF the Transform as TOP, DEF the Shape as LEAVES, and save your file. 12. Before we do any further work on this "hi-rez" tree, we'll use it to create our "low-rez" version. Select the level field of the LOD, and create a Billboard grouping node. Anything within a Billboard node can be set to face any direction along an axis (or axes) at all times. By default, items within a Billboard group are set always to spin around their Y axis and face the viewer on the ground. Now, copy the entire group for TREEHIXFORM, and paste it as a child of the Billboard. Now, whenever we are 20 or more units away from the tree, this simple version of the tree will be the one rendered, and it will always face us. In this way, the browser never has to expend a lot of resources rendering a tree to which we never get very close. Rename this version of the tree TREELOXFORM. 13. Right now, our hi-rez and low-rez versions are nearly identical, so let's make the hi-rez version more complex. We'll do this by adding some more leaves facing in other directions to give the tree some dimension. Add a Transform as a child of TOP, and as a child of this Transform, add a USE node... set it to USE:LEAVES. Now, change the rotation field in the Node Tree of this new set of leaves to rotate around the Y axis about 60 degrees (x=0, y=1, z=0, rotation=60). Repeat this step one more time, this time rotating it about 120 degrees. Save your file. You now have a tree that is very efficient! If you back away from the tree very slowly, you'll notice the switch to the "lo-rez" version at 20 units away. No matter where you are in the scene, the tree is always facing you. And when you're up close, the tree looks fairly realistic. You could easily build an entire forest with trees like this (USE:TREE), without worrying about file size or polygon count. In fact, the best thing to do at this point is add it to our V-Realm Builder Object Library so that we can use it again in the future. 14. In the Node Tree, select the TREE collision group at the top of the file. Right click on the Node, and select "Add to Library" from the pop-up menu. Give it a description like LOD_TREE, and put it in the "Landscapes" category. Now when you access the object library in the future, you can retrieve this tree from the Landscapes category, and drag and drop it into your scene whenever needed. 15. Last step. Earlier on, we put the hi-rez version of the tree inside an Anchor group. Now we can set up the hyperlink we want for the tree. Expand the URL field, double-click on S, and type in http://www.1stresource.com/t/treedoc/ . For description, put in The Tree Doctor. Parameter is for special browser information, but most VRML plugins will recognize the HTML "target" command. In this case, enter target=_new, and the VRML browser will open up a new instance of the web browser to display the website (this is primarily useful with HTML frames). Now you can test the file out in your web browser. Open up the file, walk around the tree to see how LOD works, and when you're up close, you can click on the tree to take you to an actual website. Needless to say, not all of the steps are necessary to make a tree! But keep in mind the use of these techniques, especially when you're looking to create complex scenes that could get too large or difficult to render. These are some of the same techniques that 3D game designers have to keep in mind every day. And remember that the libraries are yours and completely customizable. Save your own objects, textures and materials in the libraries so that with a click and a drag and drop, you have instant access to your creations in the future. [8] Specialized Editors Complex Geometry Nodes: Geometry nodes must be contained within a shape node in order to be visible by the user. The shape node contains exactly one node in its geometry field. This node must be one of the following nodes: ElevationGrid, Extrusion, IndexedFaceSet, or one of the primitives. Several of these nodes contain Coordinate, Color, Normal, and TextureCoordinate nodes as geometric property nodes. The application of materials, textures, and colors are different for each geometric node. The ElevationGrid, Extrusion, and IndexedFaceSet nodes each have fields that provide hints about the shape - - whether it contains ordered vertices, whether the shape is solid, and whether it contains convex faces. These fields are ccw, solid, and convex. The ccw field indicates whether the vertices are ordered in a counterclockwise direction when viewed from outside (TRUE). If the order is clockwise the value will be FALSE. The solid field indicates whether the shape encloses a volume (TRUE). In this case the hint allows the browser to perform backface culling. If nothing is known about the shape, the solid field will be FALSE and backface culling cannot be performed. Backface culling is the action of the rendering engine where unseen polygons are not rendered because they are not in view. The convex field indicates whether all faces in the shape are convex (TRUE). If nothing is known about the faces then this field value will be FALSE. The creaseAngle field affects how default normals are generated. The angles between edges are compared to the creaseAngle, and if they are less they are smoothed; if not, the edge will have a sharp crease. Double-left clicking on many of these nodes will open an editor for that node type. ElevationGridElevationGrid Figure 108: Elevation Grid Node Icon The ElevationGrid node specifies a uniform rectangular grid of varying height in the XZ plane of the local coordinate system. The geometry is described by a scalar array of height values that specify the height of a rectangular surface above each point of the grid. ExtrusionExtrusion Figure 109: Extrusion Node Icon The Extrusion node specifies geometric shapes based on a 2D cross section extruded along a 3D spine. The cross section can be scaled or rotated at each spine point to produce a wide variety of shapes. IndexedFaceSetIndexedFaceSet Figure 110: Indexed Face Set Node Icon The IndexedFaceSet node represents a 3D shape formed by constructing faces (polygons) from vertices listed in the coord field. IndexedLineSetIndexedLineSet Figure 111: Indexed Line Set Node Icon The IndexedLineSet node represents a 3D geometry formed by constructing polylines from 3D points specified in the coord field. Normally the lines produced here will not be interconnected. V-Realm Builder can read, display, and write out this node type, but cannot create or edit it. PointSetPointSet Figure 112: Point Set Node Icon The PointSet node specifies a set of 3D points in the local coordinate system with associated colors at each point. The coord field specifies a Coordinate node (or instance of a Coordinate node). If the coord field is NULL, then the PointSet is empty. PointSets are not lit, not texture mapped, or collided with during collision detection. V-Realm Builder can read, display, and write out this node type, but cannot create or edit it. V-Realm Editors Double-clicking on some of the nodes like ElevationGrid, Extrusion, IndexedFaceSet, IndexedLineSet, and PointSet will open a special editor which will assist you in inputting and modifying data for these nodes. Elevation Grid Editor The ElevationGrid is an adjustable grid extending along the XZ plane that is useful for creating such objects as platforms and landscapes. Figure 113: Elevation Grid Left clicking on the ElevationGrid node in the node tree will open the ElevationGrid Editor dialog box. The main dialog box contains the OK, CANCEL, and HELP buttons as well as two tabs for the Elevation and Grid Color property sheets. The Elevation property sheet is the default. The grid displayed here is hard to see; you may need to manipulate it by hand. When you do you will see something like this: Figure 114: Rotated Elevation Grid The Elevation property sheet allows the user to edit the ElevationGrid's X and Z Dimensions, X and Z Spacing, creaseAngle, Solid, Radius, andTolerance Variabl es, as well as the Frame feature, and the ElevationGrid surface. Increasing and decreasing the X and Z Dimensions will change the size of the ElevationGrid. The X and Z Spacing controls the amount of space between the vertices that make up the grid. creaseAngle is used for creating sharper or more rounded appearing angles throughout the entire grid. Radius and Tolerance control the amount of influence manipulating a point or series of points has on the surface of the grid. The Frame feature refers to the visible net that overlays the ElevationGrid in the Editor view window and allows the user to locate, pick, and manipulate the vertices that make up the grid. Solid describes whether the ElevationGrid is solid or not. Figure 115: Elevation Property Page Buttons The buttons on the Elevation property sheet operate Pick mode, Model mode, Zoom In/Out, Reset Viewer, Undo, and Redo. Pick mode is the default manipulator when the sheet opens and uses a 3D arrow pointing in opposite directions to indicate the last vertex chosen. Clicking and holding the 3D arrow allows the user to raise or lower the surface of the ElevationGrid. Holding down the control key while clicking on a series of vertices allows the user to alter specific sections of the surface. Model mode is used here for rotating the ElevationGrid into better positions for editing and is especially useful when many vertices are manipulated to various heights. The ZOOM IN/OUT feature works by left clicking on a spot for closer inspections, or right clicking for an overall view. Use of the RESET VIEWER button will reset the ElevationGrid to the last accepted or previously saved changes. UNDO and REDO perform the task they describe. HINT: Keep in mind that polygon count increases along with size. If you want to create an elevation on a notably larger scale than the default 10 X 10, it would probably be best to start providing a series of elevation grids so that when your world is viewed in a browser, the browser could speed rendering by culling things not visible. Figure 116: ElevationGrid Color The ElevationGrid Color property sheet allows the user to apply color to the Elevation Grid. Figure 117: Grid Color Property Page Buttons Paint mode is used to apply the chosen colors to the grid. Holding down the left mouse button in the Paint mode will paint a continuous line. Model mode again is used to rotate the ElevationGrid for easier editing. Paint vertex will apply paint to the intersections or vertices of the grid and gives a softer and more blended look. Paint Face gives crisper straight lines by applying the paint to faces or areas between vertices. Zoom In/Out offers different levels of viewing inspection. Colors can be chosen by moving the color cursor to the appropriate color on the color wheel, adjusting the intensity of any or all of the three RGB sliders, or by entering an exact color value into the RGB fields. RESET VIEWER, UNDO, and REDO buttons are also available. They perform the task they describe. HINT: Applying colors with the grid frame off can increase the speed of applying the colors to the grid. Exercise 4: Elevation Grid 1. Using the ElevationGrid Editor, we'll create a hilly landscape for our temple. Start a new file. 2. Click on the Insert Elevation Grid . The Node Tree will update, and the View Pane shows a large flat plane selected. 3. Double-click on the Elevation Grid icon in the Node Tree, and the ElevationGrid Editor opens. The scene view inside the editor is similar to the Main View Pane, except that you're looking at the grid from straight on. Using the Model mode within the editor, "grab" the plane by clicking and dragging down, and tilt it towards you a bit. 4. Switch to Select mode in the editor, and left-click down on one of the points (known as vertices) inside the grid near the far right corner (see below). Keeping the mouse button down, drag up to raise the vertex off the surface. You may notice that the scene is updated in the View Pane underneath as well. Repeat this step with a vertex closer to your viewing position. 1. Adjust the Stretch Parameter Radius setting to 1. Near the front left side of the grid, select a vertex and drag it up. Notice how increasing the radius increases the influence of your adjustment on the grid. Also, note in the figure below that the Frame option can be turned off to make viewing the effect easier. 6. Switch to the Color Tab within the Editor. In this part of the Editor, you can paint individual faces of the grid, or paint the vertices themselves to produce very unique effects (NOTE: Changes made to color here override any settings made in the Material Node for the Elevation Grid... if you want only one diffuseColor or a texture for your entire grid, use the choices available within the Appearance node). In the Color wheel, select a dark green shade and click on the Paint Face icon. Paint the individual faces with this color on the grid. If necessary, you can temporarily switch to Model mode to spin the grid around to make sure you're painting all the faces, or use the Zoom tool to inspect your work up close (left click=zoom in, right click=zoom out). 7. Click on Paint Vertex, and you'll notice the landscape changes again. Continue to paint the whole grid green. Then, switch to a whitish shade in the color wheel, and paint the vertices at the caps of the "mountains" you've created. 8. Switch back to the Elevation Tab, and switch off the Frame box. Use the dialer for Crease Angle and adjust the number to about 2. You'll see that the sharp edges of the grid are now smoothed out. Click on OK to exit the Editor. 9. Now, open the temple.wrl file and copy and paste the grid you just created to the bottom of the Node Tree for temple.wrl. DEF the Transform for the landscape as GRID. 10. Rescale the grid about 20 times on all three axes, and position it so that the temple sits on the ground in the middle, between the mountains. Save your file. You can, of course, create an Elevation Grid within the temple file itself and save a few steps, but the process is easier to illustrate in this fashion. In the future, when you work with the Elevation Grid node as part of a world, note that only the Grid itself will be displayed in the Editor. Extrusion Editor The Extrusion Editor takes an input shape (2D) and elongates it in a continuous manner. The cross section of the shape can be selected from the list of primitive shapes that include a triangle, sphere, and square or alter any of these for a custom shape. The spine determines if this "extruded" 2D shape will be continuous or terminating. A circular "extrusion" will terminate when the two ends meet, but a linear shape can be extruded indefinitely but will extend only to the endpoints of the line segment. The scale determines how fat or thin the shape will be. We can also twist the shape when we desire an irregular extrusion. The Extrusion Editor can create almost any shape imaginable, all that is required is a good mental picture of objects in 3D. Figure 118: Extrusion Editor Cross Section Property Page This is the default page displayed when the Extrusion node is selected for edit. There are three other property pages that can be chosen from this main property page. They are Spine, Scale/Rotate, and Styles. The buttons provided for this page are listed below: Figure 119: Cross Section Button Bar These buttons allow the user to select a beginning shape for the extrusion and add or delete vertices from the shape. Also there are buttons for RESET VIEWER, REDO, and UNDO. The Spine Property page is the second of the property pages available in the Extrusion Editor. It is listed below: Figure 120: Spine Property Page This property page is gives the user the ability to choose the overall shape of the extrusion. The buttons provided for this page are listed below: Figure 121: Spine Property Page Button Bar This button bar allows the user to choose the shape of the extruded shape by choosing the initial shape from one of the primitive shapes or by specifying it vertex by vertex. The ability to add or delete vertices from a shape is also provided. Also there are buttons for RESET VIEWER, REDO, and UNDO. The Scale/Rotate Property Page is shown below: Figure 122: Scale/Rotate Property Page This property page allows the user to select x, y axis changes, rotation and scale alterations for the extruded shape. There is one button bar available which gives the user the ability to select, manipulate, RESET VIEWER, and zoom in or out. This button bar is shown below: Figure 123: Scale/Rotate Property Page Button Bar The Styles Property Page is the last of the available property pages. It gives the user the ability to select the values for EndCap, StartCap, Solid, Convex,CounterClockwise, and CreaseAngle. Convex, and CounterClockwise cannot be changed; these options are grayed out. These variables control how the shape looks and is rendered. The Styles Property page is shown below: Figure 124: Styles Property Page Exercise 5: Extrusion Editor 1. Using the Extrusion Editor, we'll create a fountain that sits in the center of our temple. This time, we'll do it in the same file. Open temple.wrl, and collapse the hierarchy (by clicking on the minus signs next to each node) so that only the highest items show. Select GRID so that the cursor is active at the bottom of the Node Tree. 2. Click on the I nsert Extrusion . The Node Tree will update with a base Extrusion at the bottom, and the View Pane shows a small object in the center of the temple. Using Navigation Mode, move yourself into the center of the temple so that you can see what your working on. Switch to Pick Mode, and raise the Extrusion out of the floor. 3. Double-click on the Extrusion icon in the Node Tree and the Extrusion Editor opens. The scene view inside the editor shows a red square, representing a top down view of a cross section. Flip through the different tabs to get a better idea of how Extrusion Editor works. You can even make some changes if you like and see the resulting shape reflected in the View Pane underneath. 4. Switch over to the Styles tab. Make the shape smooth by changing the Crease Anglevalue to about 2, uncheck Start and End Caps (they're inside and won't be seen), and check on Solid (because we only need render the outside). Uncheck the box for Counter-Clockwise. 5. We don't need to change the Scale or Rotation of any points, so switch to the Spine tab and click on "Creates a Circle". 6. Switch to the Cross Section tab, and click on the "Creates a Square" button. Using your left mouse button, click down on the right side line of the square to create a new vertex. Clicking down and dragging on a point reshapes the cross section of the Extrusion. Compare what you're doing in the editor to what is displayed in the View Pane below, as it is updated in real-time. 7. You can edit the Node Tree even when in the Editor. Double-click on the rotation field for the Extrusion's Transform, and change the rotation to spin around the X axis -90 degrees (x=1.0, y=0, z=0 rotation = -90). Click OK. 8. Return to the Editor, and finish working on your cross section. Add and maneuver vertices until you have a cross section that resembles the figure above. If you need to Undo a change or remove a Vertex , both options are available to you in the Editor. 9. When you are finished, click on OK to exit. You may need to do some fine tuning to position your fountain on the temple floor. Save the file. The Extrusion Editor is a great tool, capable of producing many complex or unusual shapes. Experiment with it and browse through other objects included with the Builder (such as gear.wrl and alien.wrl) to see the kinds of advanced 3D modeling that can be done with extrusions. Face Set Editor The Face Set Editor allows the user to create IndexedFaceSets made up by applying a material to each plane made by a set of vertices. The initial geometry can be any of the primitives and vertices added or subtracted, until the desired number of vertices is reached. In this editor, individual vertices or groups of vertices can be moved to create the wanted shape. It may take some trial and error before you get comfortable with the way vertices and line segments are manipulated to obtain particular objects. As with all the editors, the Face Set Editor has the ability to model the shape in 3D giving the user the ability to see the shape from any angle, and the zoom feature allows the user to see the shape from close up or far away. There is also a color editor for the Face Set Editor which allows the user to paint the shape. There are options for painting either by vertex or by face. If the user selects by face, each face can have it's own color. If the user selects by vertex, then each vertex will have it's own color, and the color is interpolated from the color at one vertex to the color at the next vertex. This editor was intended for editing and creating simple Indexed Face Sets. Figure 125: Edit Face Set Dialog Box The Edit Face Set Dialog box is the default property dialog box to be displayed when the user chooses to edit an IndexedFaceSet node. The fields controlling the display of faces, convex, ccw, solid, and crease angle describe the IndexedFaceSet. The display window gives the user the ability to modify and manipulate the geometry until it takes on the desired shape. OK, CANCEL, and HELP buttons give the user the options to close the property dialog while saving, just exit the property dialog without saving, or get help with the dialog. Figure 126: Edit Face Set Dialog Toolbar This toolbar gives the user the ability to create and customize any FaceSet. The tools available are triangle, circle, square, cone, box, sphere, cylinder, select, manipulate, zoom, cut, Reset Viewer, redo, and undo. Figure 127: Edit Face Set Color Dialog Box The Edit Face Set Color Dialog box allows the user to choose and/or set colors for the faces of the IndexedFaceSet shape. The color can be created using the color editor or the color can be selected from the material library. There is also an option for frame which allows the user to display the vertices that frame the object. Figure 128: Edit Face Set Color Dialog Toolbar This toolbar gives the user access to the tools that are needed to customize the color and viewpoint of the FaceSet. Tools available are spray painter, paint face, acquire color, manipulate, zoom, Reset Viewer, undo, and redo. Exercise 6: IndexedFaceSet 1. Using the Indexed FaceSet Editor, we'll create the water for our fountain. Open temple.wrl, and collapse the hierarchy so that only the highest items show. Select FOUNTAIN so that the cursor is active at the bottom of the Node Tree. Add an empty Group node, and expand it. DEF the Group asWATER and select the children field. 2. Click on I nsert I ndexed Face Set on the toolbar. The Node Tree will update with an empty box at the bottom, and the View Pane shows an empty box at the bottom of our extruded fountain. Using Navigation Mode, move yourself into the center of the temple so that you can see what you are working on (you may want to add a Viewpoint here so that you have easy access to it via the Viewer Position List in the View Pane). Switch to Pick Mode, and raise the Indexed Face Set (IFS) out of the floor and above the fountain. 3. Double-click on the Indexed Face Set icon in the Node Tree and the I ndexed FaceSet Editor opens. The scene view inside the editor shows a polygon, representing a top down view of a square. Change the shape to a circle , and check the Solid selection "on" (this will keep the other side from being rendered). Click on OK to exit. DEF this Transform as POOL. 4. Rotate, translate and scale the circle so that it rests like a pool of water on top of the fountain. 5. We haven't worked with Color Mode , a painting tool to set Material, so let's try that. Switch to Color Mode and the Material Painter dialog opens. Double-click on Diffuse Color to bring up a color wheel, and set the color to a light blue shade. Click on OK. Check off Paint for Mode, and place the cursor directly over the circle. The cursor changes to a paintbrush. Left click once on the circle and the Material is updated. The Material Painter is very useful, and we'll see how it can acquire color from the View Pane in a moment. You can even add a new color to the Material Library once you've set it here. 6. Click on Close to exit the Material Painter and save your file. Select children for the WATER group, and add another Indexed Face Set. Go into the IFS Editor, and change the base shape to a Sphere . Click on the Cut icon , and hold the cursor over the Sphere. Note how faces are highlighted in blue to indicate that they are selected. Using the cursor, begin to cut away the lower three levels of the Sphere by clicking down on the selected face. You'll probably need to switch to Model mode to occasionally spin the Sphere around so that you can cut away all the faces. If you make a mistake, you can always undo your last step with the Undo or Redo keys . If you need to start over, just click any of the shape icons to begin again. When finished, you should have a shape like this: 7. Now we'll adjust some of the vertices around the bottom of our new shape. You may want to zoom in to the bottom of the sphere. Return to Select mode, and hold the cursor over a vertex along the bottom. Note how it turns blue to indicate that it is ready for selection. Click down on a vertex, and a manipulator handle appears. Click down on the "pole" of the manipulator, drag it up a bit, and release. Continue this process around the perimeter of the sphere, selecting every other vertex. Again, you'll want to use Model mode to occasionally rotate the sphere. Uncheck "Counter Clockwise" and check off "Solid" under Node Properties. Smooth out the object by increasing the Crease Angle. When you are finished, you should have a shape similar to this: 8. Click on OK to exit the Editor. Rescale the shape to make it about 2 or 3 times taller, and raise it above the fountain so that it resembles water shooting out. Now we can paint it as well. Switch to Color Mode, and check off Acquirein the Material Painter. Click on the circular pool of water to pick up its Material properties. Switch back to Paint Mode, and click on the spray shape you've just created. They now share the same material properties.DEF the new shape as SPRAY. 9. Now it's time to texture our scene. Click on Show/Hide Texture Library on the toolbar and the Select Texture box opens. Scroll down to Water (Wavy) and select it. Left-click down in the display window, and drag and drop the texture directly onto the SPRAY shape, and the View Pane is updated. Save your file. You can also drag and drop a texture into the Node Tree on the texture field under Appearance (this is useful in crowded scenes). Now that you have textures easily accessible, you can texture your entire scene for added realism. There are a couple of things worth noting. You don't have to texture anything you USE'd... drop a texture onto the originally DEF'd object (like the pillar), and all of the USE'd objects update automatically! Another thing to take into consideration is that you may want to add Texture Transform to Appearance to rescale or slide a texture, especially on very large objects. Finally, once you've textured a scene, you'll probably find it best to re-adjust the color and intensity of your lights. Like each of our previous exercises, an example of the temple up to this point is available in the Tutorials folder. Open it up to see how textures were used, and pay special attention to how the Texture Transform was used on the temple roof and floor. [9] Moving Worlds Interpolators Interpolators perform a smooth transition between two values. These values may represent 3D coordinate points, color, time, or any kind of data that needs to be smoothed over a period. Listed below are the interpolation nodes and their function. ColorInterpolatorColorInterpolator Figure 129: Color Interpolator Node Icon This node interpolates between a set of color key values, to produce a color (RGB) value_changed event. The number of colors in the keyValue field must be equal to the number of keyframes in the key field. The keyValue field and value_changed events are defined in RGB color space. A linear interpolation, using the value of set_fraction as input, is performed in HSV space. CoordinateInterpolatorCoordinateInterpolator Figure 130: Coordinate Interpolator Node Icon This node linearly interpolates among a set of floating point values. This would be appropriate for interpolating Coordinate positions for a geometric morph. The number of coordinates in the keyValue field must be an integer multiple of the number of keyframes in the key field; that integer multiple defines how many coordinates will be contained in the value_changed events. NormalInterpolatorNormalInterpolator Figure 131: Normal Interpolator Node Icon This node interpolates among a set of floating point values, suitable for transforming normal vectors. All output vectors will have been normalized by the interpolator. OrientationInterpolatorOrientationInterpolator Figure 132: Orientation Interpolator Node Icon This node interpolates among a set of rotation values. The rotations are absolute in object space and are, therefore, not cumulative. PositionInterpolatorPositionInterpolator Figure 133: Position Interpolator Node Icon This node linearly interpolates among a set of floating point values. This is appropriate for interpolating a translation. The vectors are interpreted as absolute positions in object space. The keyValue field must contain exactly as many values as in the key field. ScalarInterpolatorScalarInterpolator Figure 134: Scalar Interpolator Node Icon This node linearly interpolates among a set of floating point values. This interpolator is appropriate for any parameter defined using a single floating point value, e.g., width, radius, intensity, etc. The keyValue field must contain exactly as many numbers as there are keyframes in the key field. KeyFrame Animation Figure 135: KeyFrame Animator The KeyFrame Animator mode is provided to give the user access to powerful animation tools and allow the user to incorporate actions and reactions in the worlds he/she builds. It is important to understand the basic idea behind the KeyFrame Animator. The KeyFrame Animator allows the user to add fields to the animator, add frames to the animator, and modify fields from frame to frame. An animation can be added to the current scene in one of two ways: the first is to press the KeyFrame Animator Icon which will start the KeyFrame Animator, which will search the scene graph and add a new TIMER group to the scene if one is not present. The second is to press the Time Sensor Icon to add a TIMER group to the scene manually. The Time Sensor Icon can be used to add a new TIMER group to the scene only if you are editing the scene. This cannot be done while the KeyFrame Animator is activated. When the KeyFrame Animator is activated it will go to the first TIMER group and load that timer's animation information. If there are other Animations in the scene that you wish to edit, you will need to find the appropriate TIMER group in the Tree View Window and select it. This action will load the newly selected TIMER group's information into the KeyFrame Animator. The KeyFrame Animator marks the active frame with a red marker. All other frames are marked with a blue marker. When a frame is selected, the active fields below it will be selected also. If however, the frame is activated before the fields are added, the fields may not be activated as they are added. In this case you will need to add the fields individually to the frame in which you want to make changes. Fields can be added to the KeyFrame Animator by selecting the fields in the Tree View Window individually, or they can be added automatically by selecting one of the manipulators available to you. In either case, once the desired objects' fields have been added to the animator the animation can begin. Frames are added to the animation by clicking on a new spot along the time line to perform animation changes. A frame must be activated before the animation can be added to the frame. Also note that there is a time index called duration that can be changed to allow for a shorter or longer animation, a few seconds or a few minutes or more. This field is saved as units of seconds. There are some special keystrokes that perform useful functions in theKeyFrame Animator. If you select a field in the KeyFrame Animator and right click on the field, you will be given the option to delete the field from the animation. If you have selected a frame and press the CTRL + X keys on the keyboard, the selected item will be cut from the animator. When manipulating an object in a scene to create animation, remember to use the Centerball Manipulator for any manipulation referring to the use of a center point. This would specifically pertain to moving an object in a circular pattern or if you want to move an object as though a hinge were attached to it. These types of movements may seem to be the same as a modeled object with the Universal Manipulator, but you will not get the expected results. Figure 136: KeyFrame Animator Icon The KeyFrame Mode is activated when the KeyFrame button is clicked. This action will automatically add a AniGroup-#-TIMER to the scene if the transform for the object is not DEF'd. This is a default variable name that can be given any name by the user to specify a particular animation sequence. If aDEF name is given to all transforms in the scene, the DEF name will be used to describe the animation fields in the KeyFrame Animator. The buttons and manipulators available on the KeyFrame Animator are the tools used to move objects around in the scene and to test the results to see if they match your needs. The Universal Manipulator and the Centerball Manipulator are discussed in Appendix C. These manipulators can be used to manipulate any geometry in the scene to achieve a desired result. If you do not wish to alter geometry rotation, center, scale, translation or other fields using the manipulators, you are allowed to make these changes manually by editing the field values directly. The editing of these fields is done through dialog boxes for each field type. See the section of this manual that discusses Dialog Boxes and the editing of VRML 2.0 fields. Figure 137: KeyFrame Animator Toolbar The toolbar above has many buttons used to test the results of your animation: the Zoom in, Zoom out, First Frame, Previous Frame, Play/Stop, Next Frame, Last Frame, Ramp up, Ramp down, Ramp even, and Continuous play. These buttons all act on the animation itself. The scroll buttons to the left and right and top and bottom (right side) of the animation area are for displaying different sections of lines in the animation area for display or modification. When using the ramp buttons remember that the actual speed of play will change as the clustering of keyframes is changed. The ramp up will start with the keyframes being further apart and end with them being clustered very close together. The ramp down will start with the keyframes being clustered close together and end with them being placed further apart. The ramp even will evenly spread out the keyframes over the designated time period. To select a range of keyframes for modification with the ramp functions, left-click on the first keyframe and hold down the shift key while you left-click on the last keyframe. The continuous play button sets the loop variable of the sensor to true, so that the animation plays in a continuous fashion. The use of the Zoom in button to "enhance" or "blow up" an area of the animation for study and modification is a very powerful tool. In reverse, the zoom out button causes you to lose the detail but makes it possible to see the entire animation (though in some cases it may be a blur if there are a lot of frames being modified over a long period of time). Figure 138: KeyFrame Animator Selection Toolbar The above toolbar gives the user access to the Toggle Edit Window, KeyFrame Options, and Trigger functions. The Toggle Edit Window button allows the user to display the last dialog box that was opened for edit or open the current dialog box for editing a selected field value. The KeyFrame Options button opens the KeyFrame Options Dialog box, which allows the user to set the desired keyframe settings. The Trigger function allows the user to choose the type of trigger mechanism to be used to animate the scene. The Event Sensors of Visibility, Proximity, or Touch are used with the Time sensor to animate the scene and can be used to set parameters or trigger events. Other sensors must be activated manually through the use of the Route Dialog box. Figure 139: KeyFrame Animator Options Dialog Box The KeyFrame Options dialog box allows the user to set the options for the KeyFramer. The first option is what to do with frames in the animation when the duration of the animation is increased. Should the animator keep frames at their current time value or distribute frames over entire duration? The next option is what to do with frames in the animation when the duration is decreased. Should the animator truncate frames with time values greater than the duration or squeeze frames to fit duration? The next option asks the user if he/she wishes to be warned when frames are clipped or deleted. The last option asks the user if he/she wishes to snap the animation to grid or not. There is also a field for the default duration for new animations. The default setting will be one unless it is changed. There is also an Increment Value for duration value. The OK and CANCEL buttons either exit while accepting the changes made or exit while not accepting the changes made. Figure 140: KeyFrame Animator Trigger Dialog Box The KeyFrame Trigger Dialog box is opened when the trigger button is pressed. This dialog box allows the user to set the trigger type and which sensor the trigger will be attached to. The dialog box lists three types of trigger sensors: Touch, Visibility, and Proximity. The list of nodes in the box to the right consists of nodes that contain a Time sensor. Together these can be used to create animation. The OK and CANCEL buttons either exit while accepting the input information or exit without accepting the input information. Another dialog box that is connected with the KeyFrame Editor is the Interpolator Editor Dialog box. This dialog box can be opened by selecting View - Interpolator Editor while in KeyFrame Editor Mode. The dialog box that will be opened will look similar to this: Figure 141: Interpolator Editor Dialog Box This dialog box allows the user to fine tune the values of the variables along the KeyFrame Animation. The position and rotation values can be changed, as you can see from the dialog box. The slider bar is for editing of these fields either one at a time or all at once. The RESET button will reset the values to what they were when the dialog box was opened. The HIDE button will hide the dialog box so that it is no longer visible. [10] Advanced Worldbuilding Getting Started There are two different kinds of sensor nodes: User Action and Automatic. User Action sensors like CylinderSensor, PlaneSensor, SphereSensor, and TouchSensor require the user to activate the action of the sensor, generally with the mouse. All sensors are attached to geometry when they are added to the scene. When a sensor is added the user will either choose the actual geometry node or something tied to it like a shape or appearance node. The actual placement of the sensor node is taken care of automatically by the node tree. It places the sensor in the "optimal" position in reference to the geometry for the sensor to be used by any routes that may be attached later. When the phrase "maps pointing device" is used, it refers to the action of translating click and drag motions of the mouse or other device directly to the sensor's shape and action. Automatic sensors like ProximitySensor, TimeSensor, and VisibilitySensor are activated not by direct action, but by the indirect actions of the user, such as moving into view, a specific time being reached, or just moving close to an object. CylinderSensorCylinderSensor Figure 142: Cylinder Sensor Node Icon The CylinderSensor maps the pointing device (e.g. mouse or wand) motion into a rotation on an invisible cylinder that is aligned with the Y axis of its local space. Therefore, an object attached to a cylinder sensor can be rotated around the Y axis by clicking and dragging on the object. PlaneSensorPlaneSensor Figure 143: Plane Sensor Node Icon The PlaneSensor maps the pointing device (e.g. mouse or wand) motion into translation in two dimensions, in the XY plane of its local space. The PlaneSensor uses the descendant geometry of its parent node to determine if a hit occurs. ProximitySensorProximitySensor Figure 144: Proximity Sensor Node Icon The ProximitySensor generates events when the user enters, exits, and moves within a region in space (defined by a box). A ProximitySensor can be enabled or disabled by sending it an enabled event with a value of TRUE or FALSE - a disabled sensor does not send output events. A ProximitySensor with a (0,0,0) size field cannot generate events - this is equivalent to setting the enabled field to FALSE. SphereSensorSphereSensor Figure 145: Sphere Sensor Node Icon The SphereSensor maps the pointing device (e.g. mouse or wand) motion into spherical rotation about the center of its local space. The SphereSensor uses the descendant geometry of its parent node to determine if a hit occurs. The feel of the rotation is as if you were rolling a ball. TimeSensorTimeSensor Figure 146: Time Sensor Node Icon TimeSensors generate events as time passes. TimeSensors can be used to drive continuous simulations and animations, periodic activities, and/or single occurrence events such as an alarm clock. TouchSensorTouchSensor Figure 147: Touch Sensor Node Icon A TouchSensor tracks the location and state of the pointing device and detects when the user points at geometry contained by the TouchSensor's parent group. If the TouchSensor is disabled, it does not track user input or send output events. VisibilitySensorVisibilitySensor Figure 148: Visibility Sensor Node Icon The VisibilitySensor detects visibility changes of a rectangular box as the user navigates in the world. The VisibilitySensor is typically used to detect when the user can see a specific object or region in the scene and to activate or deactivate some behavior or animation in order to attract the user or improve performance. Time Dependent Nodes: AudioClip, MovieTexture, and TimeSensor are time dependent nodes. They each have exposedFields of startTime, stopTime, and loop, and the eventOut:isActive. Time dependent nodes start their execution when startTime is reached and will stop when stopTime = now > startTime. The loop field controls whether the time frame for execution is continuous or not. AudioClipAudioClip Figure 149: Audio Clip Node Icon An AudioClip node specifies audio data that can be referenced by other nodes that require an audio source. MovieTextureMovieTexture Figure 150: Movie Texture Node Icon The MovieTexture node defines a time dependent texture map (contained in a movie file) and parameters for controlling the movie and the texture mapping. This node will accept AVI and MPEG files, but the V-Realm Builder does not support compressed audio tracks in AVI files. The Sound Node The Sound node describes a sound at an exact point in space. As you move around in the scene, the sound changes based on the distance and relative position from the point of the sound. SoundSound Figure 151: Sound Node Icon The Sound node describes the positioning and spatial presentation of a sound in a VRML scene. The sound may be located at a point and emit sound in a spherical or ellipsoid pattern in the local coordinate system. Manually Connecting Routes Figure 152: Route Node Icon When the Route Node Icon is pressed the Route Dialog Box is displayed.Figure Routing Dialog Box Figure 153: Route Dialog Box The Route Dialog box allows the user to route messages from one node to another. The only restriction here is that the message must be routed from fields of the exact same type. Messages are routed from nodes that have output events to nodes that have input events. Route messages are links from one node to another. For example, if I attach a route from a SphereSensor to a Sphere with an earth texture, I can cause the Sphere to rotate if I move the mouse over the SphereSensor, in a circular motion. This single action of the mouse movement can be transferred to more than one action. According to how many nodes are attached to the SphereSensor there can be that many other objects taking advantage of the mouse movements. Manipulator sensors like Plane, Sphere, and Cylinder sensors require manual connection where other sensors can be easily connected in the KeyFrame Animator. Manual routing of messages is rarely done, but if you connect nodes with routes and afterwards decide to use the KeyFrame Animator to add additional animation, your manual route connections will automatically be displayed in the Node Tree View of the scene. When the routing node is selected for edit, it will initially display the dialog box above with no node or field names. First, use the down arrow buttons beside the field From Node to display a list of nodes to select from. Only nodes that have been DEF'd will be displayed. Select the desired node. Secondly, when the node has been selected, a list of field variables will be listed. Only field variables for the selected node will be displayed. OnlyexposedField and eventOut field names will be displayed since the From Node selection must have an output variable selection. Select the desired field variable. Thirdly, use the down arrow buttons beside the field To Node to display a list of nodes to select from. Only the nodes that have been DEF'd and have fields of the same type as the field variable in the second step above will be displayed. Select the desired node. Lastly, when the node has been selected, a list of field variables will be displayed. Only field variables that are of the same type as the field variable selected in the second step above will be displayed for selection. Only exposedField and eventIn field names will be displayed since the To Field selection must have an input variable selection. Select the desired field variable. From Node To Node exposedField eventIn exposedField YES YES eventOut YES YES The above table shows the node field types that can be routed from within a node to the node field types that can be routed to within a node. Only these field types will be displayed in the Route Dialog Box. If you have questions about what the exact field names each node has, please refer to the VRML 2.0 Specification. When the route has been set you will see the syntax of the route command in the Route field in the dialog box. This type of manual editing of route nodes is rare and is usually done automatically by the V-Realm Builder's KeyFrame Animator. But for that instance where you would like to manually set a route and attach sensors, this dialog will make the job easier. Exercise 7: KeyFrame Animation Editor Up to this point, we've concentrated on constructing our worlds. Now it's time to add interaction, motion, and sound to the temple scene. In this exercise, we'll animate the water fountain and attach the sound of running water. We'll set the whole thing up to be triggered by some action a visitor to the world takes. 1. Open temple.wrl, and collapse the hierarchy so that only the highest items show, with the exception of the WATER group which we'll be changing.Move into the temple so that the fountain is in front of you. Using the Pick tool, rescale the SPRAY object so that it is nearly flat. Use the CTRL+SHIFT keyboard combination, then click down on one of the top manipulator handles and drag down. Now move SPRAY down so that it just peeks out above the water pool. You may want to fine tune these adjustments inside the Node Tree. Save your file. 2. Switch to KeyFrame Mode . The interface changes to display a timeline. 3. Reselect the SPRAY object by clicking once on it. Note that Animation Fields for translation, rotation, and scale drop in automatically. If the duration box is not currently set to 5, set it with the dialer to 5 now. The white timeline across the top is the Parent timeline. The individual lines for each of the fields are Children timelines. 4. With your left mouse button, click into the Parent timeline at about 1.25 seconds. Tickers are dropped into place for each of the Children timelines beneath. Using your Pick tool and the CTRL+SHIFT keyboard combination, click down on one of the top manipulator handles and drag up to make the water taller. You may want to drag it's position up a bit as well. 5. Click at the 2.50 seconds mark, and scale the SPRAY back down a bit, as if the water is pulsing up and down over time. 6. Click at the 3.75 seconds mark, and scale the water back up one more time. If we wanted, we could make one last adjustment at the 5 second mark. But if you click on the Next Frame button, you'll see that it already has the same settings as 0.00 seconds, which works for this example. 7. Click on the First Frame button, then click Play to see your fountain in action. Note how the Builder has interpolated all the frames in-between to make the animation smooth. This is how all animation in the Builder works. At any point you can also toggle to show the Edit Window which, like the Node Tree, gives you the ability to make precision adjustments to your animation. 8. For this particular animation, we're not going to turn Loop on. We need only set an event that will start the animation. Click on I nsert Animation Trigger and a dialog pops up. Leave it set on Touch Sensor, and in the sidebar scroll down and select WATER. By doing so, we've just set up a routing of events. That is, when a visitor clicks (touches) anything in the WATER group (either the POOL or the SPRAY), it will trigger the animation. 9. Click on KeyFrame Mode to return to the normal interface and save the file. Note how the Node Tree has been updated to reflect everything we did in KeyFrame Mode. Any of these fields can be edited by hand if need be. For instance, suppose you want to extend the time of the animation. You don't need to go back into KeyFrame Mode to do so. In the Node Tree, expand Anigroup-1-TIMER , and double-click on cycleI nterval. This is equivalent to the Duration setting in the KeyFramer. Change it to 10. 10. Now to test our animation. Switch to Test Mode , and click on either the POOL or the SPRAY in the View Pane and the animation will run. Test Mode saves you the trouble of having to exit out to a VRML browser to check your work. 11. One more element we wanted to add is Sound. As a child to the WATER group, add a Sound node. Expand the node, this time by right-clicking on the node and selecting "Expand All Children". The default values for spatialization here will work fine. All we need to do is set the source. 12. Select the source field in the Node Tree, and click on the Audio node. DEF the Audio node as WATER_SOUND, and expand it. Expand the URLfield, double click on the string icon, and use the dialog to browse to the .WAV file Waterrun.wav. It is located in the Program/Sounds directory. Click on OK to close, and the Node Tree is updated. 13. In order to get the sound to play, we'll need to create a ROUTE by hand. Select the Sound icon in the Node Tree, and click on I nsert Route from the toolbar. A blank ROUTE appears in the Node Tree. 14. Double-click on the ROUTE to bring up the ROUTE Editor. We want the same Touch event that sets off the animation to set off the sound. Using the drop-down From Node box, select WATER_TouchSensor. A list of possible events appears. Select touchTime. Now with the To Node box, selectWATER_SOUND, and for event choose set_startTime. Although this looks complex, we've basically written our ROUTE to say, "At the moment the cursor clicks on this group, start the sound." Save your file. 15. Switch over to Test Mode one last time, and click anywhere on the water. You should see the animated water rise out of the fountain, accompanied by the sound of running water. There are an infinite variety of events which can trigger each other. For instance, we could have set both the animation and sound to loop endlessly, but triggered by a Proximity Sensor based on our distance from the fountain. That way, the fountain would appear to always be running whenever we were close enough to see and hear it. It's always a good idea to specify these processor-intensive type of events to run only under certain conditions. Or we could have also animated the color of the water over time by dropping the diffuseColor field into the KeyFrame Editor. As mentioned earlier in the manual, you can even animate an object with a viewpoint attached to it, so that the visitor moves automatically through the world (see the file park.wrl for a good example of this). VRML is all about interaction, behaviors and events, and multiple forms of media. The best thing to do is to experiment with these features, and always construct the geometry of your world with these features in mind. Other Advanced Nodes These advanced worldbuilding nodes allow the user to control very complex functions related to geometry and scene appearance. These nodes give the user access to world information, texture coordinate mapping, and modification of normal vectors. PixelTexturePixelTexture Figure 154: Pixel Texture Node Icon The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values and parameters controlling tiling and repetition of the texture onto geometry. TextureTransformTextureTransform Figure 155: Texture Transform Node Icon The TextureTransform node defines a 2D transformation that is applied to texture coordinates. This node affects the way textures are applied to the surface of geometry. Note: TextureTransforms cannot combine or accumulate. WorldInfoWorldInfo Figure 156: World Info Node Icon The WorldInfo node contains information about the world. This node has no effect on the visual appearance or behavior of the world - it is strictly for documentation purposes. The title field is intended to store the name or title of the world so that browsers can present this to the user - for instance, in their window border. Any other information about the world can be stored in the info field - for instance, the scene author, copyright information, and public domain information. Scripting Although the VRML language itself provides methods for creating moving and interactive worlds, it cannot do everything. VRML is more than a 3D language, but less than a programming language. For instance, VRML can animate an opening door triggered by a TouchSensor. However, clicking on the door a second time will not close the door… it simply starts the same animation again. In order to perform the logic required for such a level of interaction, VRML makes provisions for implementing scripting via a separate programming language. A script allows the user to define their own nodes and fields, and then define instructions to perform a series of actions. Scripts can be used to control animation, interact with a VRML browser, dynamically change a running VRML file, or communicate across the internet with another server. As per the VRML specification, V-Realm Builder supports scripting with VRMLScript, which is a subset of JavaScript (also supported). V- Realm Builder will also run scripted worlds in Test Mode. A full description of scripting is beyond the scope of this manual, but there are a number of books on VRML and JavaScript available which go into great detail on the subject. If you wish to include scripting as a function of worlds that you are building, you'll want to add some of these books to your library (see the tips section below). There are also some example worlds such as Dorscript.wrl, Bldscrpt.wrl, and Wave.wrl included in the "Worlds" sub-directory to help get you started. Scripts are either entered directly into the VRML file, or referenced as external files, in the Script node. ScriptScript Figure 157: Script Node Icon Script nodes typically receive events that signify a change or user action, contain a program module that performs some computation, or effect change somewhere else in the scene by sending output events. Each Script node has associated programming language code, referenced by the URL field, that is executed to carry out the Script node's function. The script can be typed directly in the Builder's Edit Script Dialog, or referenced by URL as an external text file. When the Script Node Icon is pressed, a Script node is added to the scene. When this node is double-clicked in the Node Tree, the following dialog box is displayed: Figure 158: Script Node Edit Dialog Box From this window a script can be setup with all of its fields, data types, and default values. At the top of the dialog box you will notice the Field Type andData Type drop down boxes that list the options that can be chosen. Input a name for Field Name and press the APPLY button to add the field to the Script. The script can also be saved to a URL or file location. The BROWSE button is used to search for a location or particular file. There are check boxes here for the Boolean variables of MUST EVALUATE and DIRECT OUTPUT. There are also APPLY and REMOVE buttons to add input data to the script or remove selected data from the script. The SET DEFAULT VALUE button is used to set the initial values of some variables. The OK and CANCEL buttons are for accepting changes and exiting or ignoring changes and exiting. When the EDIT SCRIPT TEXT button is pressed on this dialog box the following dialog box will be displayed: Figure 159: Edit Script Dialog Box This dialog box allows the user to actually type in or change the text of a script. The scroll bars are used to scroll within the script and the OK and CANCEL buttons are for exiting while saving changes and exiting without saving changes. Teach Yourself VRML in 21 Days by Chris Marrin, The VRML 2.0 Sourcebook by Ames, Moreland and Nadeau, and The JavaScript Handbook by Danny Goodman are a few of the great books out there that can help you get started with scripting in VRML. Also, you can check the Ligos website at http://www.ligos.com for tutorials and links to online web resources on the subject. There are also examples of scripts in the VRML 2.0 Specification (included on the CD-ROM) and in the V-Realm Builder sub-directory, "Worlds". PROTO and External PROTO nodes External PROTOs are not supported in this release of the VRealm Builder. Their inclusion here in the documentation is given as a convenience since the explanation of PROTO and External PROTOs is so similar. PROTO nodes define new classes of variables by extending the capabilities of existing VRML nodes. A PROTO is how we create custom nodes with custom fields so that we can extend the VRML standard beyond the nodes included in the specification. PROTOs define default values within their definition just as all VRML nodes define default values, but the default values can be overridden when an instance of the PROTO is called. The use of the ISkeyword is used to overwrite a default value with another value. PROTOs use the inline method to input data to the current scene. When variables are attached using the IS keyword the variables now represent the same thing, but this is a one-way relationship from the prototype field to the field contained in the prototype body. Attach fields with the IS keyword by right-clicking on the field and choosing the IS option from the pop-up menu. The IS option will be displayed only for fields for which it is valid. External PROTOs define the same information as a PROTO except the information is external to the file and usually exists somewhere on the Web or distributed network. They do not define the default values of a new node type but refer to a file that contains the prototype implementation and default values. Because External PROTOs rely on obtaining data from the Web, they use the URN or URL methods to function. Once a PROTO (external or internal) node has been created, the user must create an instance of the newly defined PROTO before the new node is actually added to the scene. It is during this phase that new values can be given to the fields of the new node if the default values are not wanted. Figure 160: Prototype Editor Dialog Box The Prototype Editor Dialog box allows the user to add PROTO node definitions to a world. At the top of the dialog you will notice the Field Type andData Type drop down boxes that list the options that can be chosen. Input a name for Field Name and press the APPLY button to add the field to the Prototype. If you wish to delete an already defined field, just select the field in the list of Prototype fields and press the REMOVE button. The PROTO Name field allows the user to give the prototype a name. The SET DEFAULT VALUE button is for setting an initial value of a field. OK and CANCEL perform the normal function of exiting with saving and exiting without saving changes. Recursive PROTOs or External PROTOs are illegal. IS statements must refer to fields or events defined in a PROTO or External PROTO. Instancing with Prototypes Instancing with prototypes is as easy as using instancing using DEF and USE discussed earlier. The one major difference is that when we are instancing with prototypes we are making reference to a new VRML class that has been created using PROTO or External PROTO nodes. When these prototype nodes are created they are defined in every way, and usually default values are given to the fields (External PROTOs do not have default values). We instance a previously defined node by the use of the USE keyword just as before, but this time we also can define new values for the node. Let us assume for a minute that the VRML spec did not have a definition for Box. We decide to define the box as it is currently defined in the VRML 2.0 Specification. Therefore, we have a single field called size that has three components for the size in the X, Y, and Z directions. By default this box will be 2 by 2 by 2 if we just instance it. PROTO Boxit [ boxSize 2 2 2 ] { boxSize IS size} But if we want a bigger box we could Boxit { boxSize 4 5 6} which would create a box that would be 4 by 5 by 6. Rather than call a variable by direct call, we have used another variable that is local to the instance to load the variable in the prototype. Exercise 8: PROTO In the last of our lessons, we'll take a look at the PROTO node. PROTO is powerful simply because it allows us to extend VRML beyond what is explicitly written in the specification. For instance, using PROTO, we could take an animated piece of geometry, declare it to be a PROTO, and specify just a few custom fields so that it can easily be used over and over. It's similar to instancing (DEF/USE), except PROTO gives you the ability to change the fields you specify. For all intents and purposes, you are creating a new VRML primitive. In this example, we'll prototype the tree (tree.wrl) we created and added to the Object Library earlier and give it one field... size. 1. Create a new file in the Builder. Insert a PROTO node . 2. Double click in the Node Tree to open the PROTO Editor. This is where we'll specify the only field to our node, size. 1. In the editor, use the dropdown boxes to specify that: - Field type will be a simple field; - Data type is SFVec3f (like a scale field... 3 numbers representing X, Y, and Z); - The new Field Name is size; - Default Value is 1 1 1 (no need to change this); Click "Apply", and the field is dropped into place. For PROTO Name, enter TREE_PRO. Click on OK to exit. 4. Now that we've declared a PROTO, we need to specify what makes it up. Fortunately, we've already done the work. Open the Object Library and, under the category "Landscapes", choose the Tree you added in Lesson 3. Drag and drop the tree into the Node Tree, onto PROTO Body. The Node Tree will update. The View Pane, however, remains blank. We haven't actually inserted a tree into the scene, we're just defining one. 5. In the Node Tree, locate the TREEHIXFORM group and its scale field. Scale will be the basis for our size field we set up in the PROTO Editor.Right-click on the scale field, and from the pop-up choose IS. The only available field is the one we specified, size (field SFVec3f size). Select and click OK. We're now saying that anytime we use the size field of our PROTO, it should be treated as scale. 6. In the Node Tree, locate the TREELOXFORM group and repeat the above step. Remember that our tree was actually made up of two trees... hi-rez and lo-rez. We want our PROTO'd tree to work the same no matter how far away it might be. 7. That's it! You've defined your PROTO. Collapse the PROTO in the Node Tree. Select New World. Now, if you want to use this new PROTO, you simply click on I nsert PROTO I nstance . Legal choices for PROTOs are listed in the box that comes up. I n this case, we've only definedTREE_PRO, so select that. TREE_PRO appears as a node in the Node Tree, and the Tree appears in the View Pane. 8. To adjust the size of the tree in any direction, adjust it's size field in the Node Tree. Save your file. Now you could create a whole forest of these highly optimized trees. Unlike a tree that was DEF'd then USE'd, however, each tree can now be customized to your liking. Not only is this ultimately easier, each new tree will have little impact on file size. Just like VRML behaviors and events, the best thing to do with PROTOs is to experiment with them. There are situations where PROTO can be invaluable (like building a whole low-cost forest), and it also shows how extensible VRML is. Just because a feature isn't currently in the VRML specification doesn't mean you can't construct it then prototype it. In fact, as VRML becomes more popular, you'll find entire libraries of PROTOs out on the web, much like object class libraries that are available to programmers. Appendix A - Keyboard Getting Started These Quick-Key definitions listed here are provided to assist the user in quickly navigating the screens and in executing commands. CTRL+C Copy a file or selected part of a file. CTRL+O Open a pre-existing file. CTRL+S Saves a file. CTRL+V Pastes selected information into a file. CTRL+X Cuts selected information from a file. CTRL+Z Undo the last action. CTRL+Insert Copy selected text to clipboard. Alt+Backspace Undo last edit changes. Shift+Insert Paste selected text. Shift+Delete Cuts selected text to clipboard. F1 Opens help screen. F3 Increase movement speed. F4 Decrease movement speed. Return OK. The function these keys perform can be obtained by use of the pull down menus in the main toolbar, or by using the right click menus. They are listed here for those who prefer to use the keyboard whenever possible. There is a second class of function keystrokes that can assist the user in speeding up his/her viewing and editing process. These keystrokes are specifically tied to the special editors and allow for more complex actions to be performed quickly. Below is a list of the editors that have such keystrokes and what they accomplish. Function keystrokes that are listed in menus are not displayed here. IndexedFaceSet SHIFT If the SHIFT key is held down before activating the Point Dragger in the IndexedFaceSet Editor, the movement of the point will be limited to one plane instead of two. CONTROL Holding down the CONTROL key while selecting vertices will allow the user to "collect" vertices for manipulation. Extrusion NONE LISTED ElevationGrid CONTROL Select point on ElevationGrid and hold down CONTROL key to select other points to manipulate. KeyFrame Animator SHIFT Select keyframe pointer and then hold down SHIFT key and select end- of-range keyframe pointer to select a range of keyframes. CONTROL Select keyframe pointer and then hold down CONTROL key to select individual keyframes to group non-continuous keyframes together. SHIFT Select keyframe drag pointer to move the keyframe and all keyframes in the direction of movement, forward or backward. CONTROL Select keyframe drag pointer to move the keyframe forward or backward. Appendix B - Hints and Tips Beyond the qualities of imaginative and artistic content, a VRML world is often judged in terms of two other factors: file size and performance. Maintaining a balance between the two is often a challenge, but the Builder gives you all the tools and control necessary to do so. Here are some tips for producing highly optimized worlds (examples referred to here can be found in the "Worlds" sub-directory of V-Realm Builder):  Use Primitive geometry (Sphere, Box, Cylinder, Cone) to keep file size down, but use them with caution. The number of polygons generated by a primitive may be more than you actually require. Lower polygons = faster rendering = better frame-rate. For instance, combining a cylinder and a sphere to produce a domed, silo-like shape is not efficient. A VRML browser has to render the lower half of the sphere whether or not it's visible. Use an Indexed Face Set instead (for instance, a sphere IFS with the bottom cut off).  If parts of a shape will never be seen by a viewer, cut them out (either using the FALSE option on primitives, or the cut tool in the IFS Editor);  If the inside or backside of an object will never be seen, set the solid field to TRUE so that that side is not rendered;  Extrusion can be a low-bandwidth, low polygon substitute for many objects that are normally Indexed Face Sets (see the file human.wrl);  Large area polygons are slow to render… break large objects (such as very large planes or elevation grids) into several smaller objects to speed the frame-rate;  Lights and textures can be expensive items in terms of processing… use them efficiently and sparingly;  Background textures have to be downloaded… use Background colors instead whenever possible;  Utilize Level of Detail (LOD) whenever possible for large scale scenes and far off objects;  Utilize the Billboard node for distant objects that are low in detail… when used with LOD, Billboard can be very effective;  Use the transparency feature of some GIF textures to simulate complex geometry;  Use Inline for objects that are distant from the entry viewpoint. That way, the visitor can begin to navigate the world without waiting for the whole scene to load and render;  DEF all major groups and anything you're going to animate or reference… the Builder will do it for you when you save your file, but the name you give it will probably mean more to you than something like "Anigroup-31-Node";  Utilize instancing with DEF/USE and PROTO as much as possible to keep files compact;  Custom textures can very effectively simulate the effects of lighting and shadow (see the file lamp.wrl)  The Text Node produces objects that are very heavy with polygons… use it sparingly. A combination of VRML and HTML with frames is often a better solution for communicating a lot of textual information;  Take the time to specify bounding boxes for Inlines, first level Transforms, Anchors, LOD's, etc… some browsers can take advantage of this and not render objects that are out of sight;  Arrange and group your scene spatially in the Node Tree, as though you are walking through the world…. group interior furnishings with the architecture that surrounds them;  Animations and sound are expensive in terms of processor resources… you should rarely have them running all the time. Instead, trigger animations and sounds with Proximity or Visibility Sensors so that they only run when needed (see the file temple.wrl in the "Worlds" directory);  Multiple TimeSensors are expensive… if appropriate, set many events up so that they share a single TimeSensor;  Use DEF'd, multiple Viewpoints to ease navigation through the world… most browsers support some form of moving from Viewpoint to Viewpoint with a single keyboard command;  Animated Viewpoints can be easily created by making a Viewpoint a child to a moving Transform (see the file park.wrl);  MIDI files are much smaller than WAV files for music, and easily found on the web… try to limit WAV files to short noises, and loop them whenever appropriate;  Scripting is an expensive function in a browser… don't use it for simple animations that are best left to Interpolators;  When you are finished with your world and ready to post it to the web, use "Save As Gzip"… your VRML file will be much smaller as a result, and the Builder can always re-open it if need be; Appendix C - Manipulator Reference Figure 161: Universal Manipulator Universal Manipulator Reference Mouse and/or Key Action Description Of Manipulation Left mouse click on Object Translate2 Manipulator (Ability to move object anywhere within the plane selected.) Left mouse click on a green ball Centerball Manipulator (Ability to move object around its' center in the direction the mouse is "pulled".) Left mouse click on a white corner Uniform Scale Manipulator (Ability to scale object in all directions no matter which corner is selected.) Left mouse click on line segment Translate2 Manipulator (Ability to move object anywhere within the plane selected.) SHIFT + Left mouse click on Object Translate1 Manipulator (Ability to move object in one plane motion based on what direction the mouse is "pulled" first.) SHIFT + Left mouse click on a green ball Trackball Manipulator (Ability to rotate object in any spherical direction using center of object as rotor point.) SHIFT + Left mouse click on white corner Scale1 Manipulator (Ability to scale an object uniformly in only one direction.) SHIFT + Left mouse click on line segment Translate1 Manipulator (Ability to move object in one plane motion based on what direction the mouse is "pulled" first.) CONTROL + Left mouse click on Object TabPlane Manipulator (Ability to move object in one plane based on which plane is selected and then translating perpendicular to that plane.) CONTROL + Left mouse click on a green ball Centerball Manipulator (Ability to rotate object around center point, which is calculated as point opposite the point selected.) CONTROL + Left mouse click on white corner Scale Manipulator (Ability to scale object in all directions based on which point selected, while maintaining the position of the point opposite the selected point.) CONTROL + Left mouse click on line segment TabPlane Manipulator (Ability to move object in one plane based on which plane is selected and then translating perpendicular to that plane.) CONTROL + SHIFT + Left mouse click on Object TabPlane Manipulator (Ability to move object in one plane based on which plane is selected and then translating perpendicular to that plane.) CONTROL + SHIFT + Left mouse click on a green ball Trackball Manipulator (Ability to rotate an object in any spherical direction around a center point calculated as being opposite the point selected. CONTROL + SHIFT + Left mouse click on white corner Scale1 Manipulator (Ability to perform uniform scaling of the selected object in the direction the corner is "pulled" while maintaining a stationary point.) CONTROL + SHIFT + Left mouse click on line segment TabPlane Manipulator (Ability to move object in one plane based on which plane is selected and then translating perpendicular to that plane.) Centerball Manipulator Figure 162: Centerball Manipulator The Centerball Manipulator allows the user to change the position of the center point of an object. If we were to apply a cylinder sensor to a box and use that sensor to rotate the box, the box would rotate around the calculated center of the box as if a rod were inserted through its center. If, however, we move the center of the box to an outside corner and apply the cylinder sensor as before, we would have the box rotating around the rod as though the rod were attached to the corner of the box. This works well for simulating the action of a hinged door. PointLight Manipulator Figure 163: Point Light Manipulator Figure The PointLight Manipulator allows the user to alter the ambient intensity, attenuation, color, intensity, and radius of a PointLight source. The light can be set to ON or OFF. The manipulator itself can change only the location of the light source while the other fields can be changed in the Tree View Window by altering the field values. To change to position of the light source, select the manipulator in the scene window and drag the manipulator to the desired position. SpotLight Manipulator Figure 164: Spot Light Manipulator The SpotLight Manipulator has the appearance in the scene of a sphere with an arrow through it. The tip of the arrow is a large cone and the opposite end is a small cone pointing in the same direction. Just past the Sphere is another cone pointing at the sphere. The sphere has a small cylinder passing through it like a spinning top. The direction of the SpotLight can be changed by grabbing either of the cones at either end of the arrow. The location of the light source in the XZ plane can be changed by selecting the sphere and dragging it. The location in the Y plane can be changed by selecting the vertical cylinder through the sphere and pulling it up or down. The beamWidth of the SpotLight can be changed by selecting the cone pointing backwards at the sphere and pulling it in/outwards to flare the cone to the desired width. All other fields of the SpotLight are changed by altering the field values in the Tree View Window these fields includeambient intensity, attenuation, color, cutOffAngle, intensity, and radius. The light can be set to ON or OFF. DirectionalLight Manipulator Figure 165: Directional Light Manipulator The DirectionalLight Manipulator has the appearance in the scene of a sphere with an arrow through it. The tip of the arrow is a large cone and the opposite end is a small cone pointing in the same direction. The sphere has a small cylinder passing through it like a spinning top. The direction of the DirectionalLight can be changed by grabbing either of the cones at either end of the arrow. The location of the light source in the XZ plane can be changed by selecting the sphere and dragging it. The location in the Y plane can be changed by selecting the vertical cylinder through the sphere and pulling it up or down. The DirectionalLight will only light geometry found under its parent transform, no matter where it is located. All other fields of the DirectionalLight are changed by altering the field values in the Tree View Window. These fields include ambient intensity, color, and intensity. The light can be set to ON or OFF.
Copyright © 2024 DOKUMEN.SITE Inc.