Tutorial Quest3d 10 01

17
 TUTORIAL QUEST3D Autor: Isidro Escoda Jiménez Coordinador/Tutor: Oscar García Pañella Emiliano Labrador Año: 2011

Transcript of Tutorial Quest3d 10 01

Page 1: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 1/17

 

TUTORIALQUEST3D

Autor: Isidro Escoda JiménezCoordinador/Tutor: Oscar

García PañellaEmiliano Labrador

Año: 2011

Page 2: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 2/17

 

Índice

 TUTORIAL QUEST3D....................................................................................1

INTRODUCCIÓN........................................................................................2

INTERFAZ DE USUARIO DE QUEST3D.......................................................3

FLUJO DE PROGRAMA...............................................................................8

PRIMERA ESCENA CON QUEST3D...........................................................12

PRIMERA ESCENA CON QUEST3D

Page 3: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 3/17

 

INTRODUCCIÓN

Quest3D es una herramienta de desarrollo para crear aplicaciones 3D entiempo real. En todo el mundo Quest3D se utiliza para la visualización delproducto y el diseño, la arquitectura de demos, instalaciones deentrenamiento y simuladores, juegos, producciones de cine y televisión.

Ilustración 1 - Aplicación con periféricos de RV

El entorno de desarrollo orientado a objetos permite a los usuariosdesarrollar sus productos en tiempo real: lo que ves es lo que obtienes. Encomparación con los entornos de programación, como C + +, C # y Java,Quest3D es mucho más efectivo y menos tiempo de aprendizaje.

Las aplicaciones desarrolladas con Quest3D se pueden publicar enejecutables independientes, o un SETUP (programa de instalación) queinstala la aplicación en un PC. También es posible incluir la aplicación

Quest3D en otros programas o exponerla en la web, utilizando elcontrolador Quest3D ActiveX. Todas las aplicaciones Quest3D se ejecutanen Microsoft Windows con DirectX 9.

Alguna de las características que destacan a Quest3D son:

• Interfaz gráfica de usuario sencilla • ODBC y MySQL base de datos

• Aplicaciones de alto rendimiento • Construcción de proyectos en red

• Gráficos de gran alcance • Soporte con guante de RV

Page 4: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 4/17

 

•  Todo en tiempo real • Soporte con rastreador demovimiento

• Simulación física • Sincronización multipantalla

• Path finding (búsqueda de

caminos)

• Interfaz de comunicación serie

• Escenario optimizado y sistema demultitudes (CROWD)

• Extended SDK 

• Publicar directamente ejecutable

INTERFAZ DE USUARIO DE QUEST3D

Quest3D ofrece un amplio conjunto de características de gran alcance. Elprograma se divide en una serie de "secciones" para mantener todo lo másorganizado posible. Las tres partes más importantes de Quest3D seenumeran a continuación.

Ilustración 2 - Interfaz Quest3D

Se puede llegar de varias maneras a las diferentes secciones de Quest3D.Los métodos más comunes son a través del menú de aplicaciones o losbotones de selección de la sección en la barra de herramientas.

Page 5: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 5/17

 

Ilustración 3 - Las diferentes secciones de Quest3D

Por orden son "Dual Channel", "Single Channel", "Animation" y por último lasolapa "Object" que nos dará información de nuestros objetos.Generalmente trabajamos en "Single Channel". La ventana "Dual Channel"es lo mismo , pero hay dos tapices azules, y sirve para comunicar dos partesdel programa.

En "Preview" veremos más grande la ejecución de nuestro programa. También nos sirve (en modo EDIT) para mover los objetos 3D por la escenao creando una animación con ellos.En Object tenemos un editor de los objetos 3D de la escena. Podremos darley retocarles sus materiales y texturas.

La pestaña "Channel" ya sea (Dual o Single) es el corazón de Quest3D.Quest3D muestra la sección de Channel al iniciar el programa. Aquí seconstruirá la base de todos los proyectos que se creen. La solapa Templatescontiene "las cajas". Son los elementos de programación de Quest (como lasfunciones de los lenguajes de programación). Creare nuestra aplicación deprueba arrastrando estas cajas de la solapa de Templates al tapiz azulcentral.

En la solapa "Animation" o "Preview", veremos nuestra aplicaciónfuncionando. Aquí es donde los objetos 3D, las cámaras y las luces estáncolocadas y animadas. En la parte central contiene una gran ventana devista previa perfecta para hacer pruebas en tiempo real y un listado detodos los elementos que contiene nuestra escena.

La sección de objetos es que los objetos 3D se preparan y se texturizan.Quest3D ofrece una amplia gama de opciones para ajustar las propiedadesde la superficie del objeto, tales como color y textura.

Page 6: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 6/17

 

Ilustración 4 - Secciones Animation y Object

En la parte superior están también losbotones para ejecutar y parar nuestraaplicación.

Como vemos se puede ejecutar la aplicación (RUN) para ver los resultadosfinales e interactuar con los diferentes componentes de nuestra escena. Porlo contrario podemos estar en modo EDIT con lo que se estarámodificando/editando el proyecto. Por último existe una opción llamadaRUN/EDIT que ayudara a controlar nuestro diseño en tiempo real, es decir,

Page 7: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 7/17

 

se pueden hacer cambios en el proyecto y ver los resultadosinmediatamente.

 Tenga en cuenta que es posible cambiar la interfaz básica. Por lo tanto,cada interfaz de usuario de Quest3D puede tener un aspecto diferente. Eneste tutorial se utiliza la interfaz estándar.

Se ha pasado a explicar las partes más importantes de la interfaz pero hayalgún menú que también se utilizaran, como por ejemplo el menú Archivo(File).

El menú Archivo ofrece opciones para cargar y guardar proyectos. Además,ofrece opciones para la importación de objetos 3D a partir de otrosprogramas, y editar proyectos Quest3D.

La opción "Nuevo proyecto" (New Project), se borrarán todos los grupos decanales previamente cargados y comenzar una nueva área de trabajo. Es

similar a salir de Quest3D y reiniciarlo.

"Abrir proyecto" (Open Project) le permite cargar un grupo de un soloproyecto o canal, con una interfaz diferente para Quest3D.

Para guardar un canal o escena simple como un nuevo archivo se utiliza"Guardar como " (Save Group As). Para sobrescribir el archivo actual, seutiliza "Guardar grupo" (Save Group). Utilizando la opción 'Guardar todos "(Save All) hace que se guarde el proyecto completo.

Estas son las partes más importantes de Quest, así que vamos a crear unprimer programa o escena.

Page 8: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 8/17

 

FLUJO DE PROGRAMA

Un programa Quest3D comienza con un canal de inicio. Un canal de inicioestá marcado por una gran flecha apuntando hacia abajo.

El "Set a start channel" opción en el menú contextual de un canal se puedeutilizar para definir el inicio de un programa de Quest3D.

En la siguiente imagen, el criterio de llamadas del canal "Channel Caller" "es el canal de inicio y dos hijos vinculados a ella.

Page 9: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 9/17

 

Un proyecto Quest3D sólo se activa cuando se ejecuta la ventana deanimación en 3D la vista está abierta.

En la imagen de arriba, el canal de inicio se ejecuta activamente, como sepuede ver por las líneas azules en todo el canal.

La siguiente imagen muestra una escena Quest3D pequeños. En el ladoizquierdo, la estructura del canal es visible. En el lado derecho es una vistaprevia de la escena en la ventana de animación 3D View.

Page 10: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 10/17

 

Quest3D trabaja en tiempo real. Esto significa que siempre se ejecuta unproyecto por completo y se actualiza la vista. Un ciclo completo a través dela estructura del canal se llama frame. El resultado final se conoce comorenderizado.

El framerate define el número de veces por segundo que se ejecuta unprograma. Framerates dependerá de la complejidad de un proyecto y elhardware del ordenador que sirve para hacer una escena.

Un "Channel Caller" llama a sus hijos en un orden de izquierda a derecha.En la siguiente imagen, el canal "Caller 1" se llama en primer lugar y

muestra un cubo por la pantalla. A continuación, según el flujo del programase llama al siguiente hijo "Caller 2", lo que hace una esfera de luz en lapantalla junto al cubo del primer hijo.

Page 11: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 11/17

 

En la siguiente imagen es visible el flujo de un "Channel Group" o proyecto.

1. El inicio de cada frame. Es un "Channel Caller".

Page 12: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 12/17

 

2. El "Channel Caller" trabaja de izquierda a derecha, por lo tanto, el canalde inicio llama el canal de la izquierda llamado "Caller 1" en primer lugar.

3. El "Caller 1" La "llamada un" canal de las llamadas de la jerarquía debajode ella. Esta jerarquía se inicia con un canal de objetos del tipo '3 D objeto

Box 'nombrado' ". Este canal muestra un cuadro en la pantalla, visible en laimagen de arriba en el lado derecho.

4. Después de ejecutar la jerarquía en el lado izquierdo, el canal de iniciocontinúa con su segundo hijo, "Llamada 2 '.

5. El canal "2 llamada 'llama' objetos de Bomberos de su hijo. Este canal ysus hijos crear el objeto de fuego se ve en la imagen de arriba.

Cuando la estructura está completamente ejecutado, el programa comienzade nuevo con el canal de inicio.

1. The start of each frame.

2. Channel Callers work from left to right, therefore the Start Channel calls

the left channel called ‘Caller 1’ first.

3. The ‘Caller 1’ channel calls the hierarchy beneath it. This hierarchy startswith a channel of the type ‘3D Object’ named ‘Box Object’. This channeldisplay a box on screen, visible in image above on the right hand side.

4. After executing the hierarchy on the left hand side, the Start Channelcontinues with its second child, ‘Caller 2’.

5. The ‘Caller 2’ channel calls its child ‘Fire Object’. This channel and itschildren create the fire object seen in the image above.

When the structure is completely executed, the program begins anew withthe Start Channel.

PRIMERA ESCENA CON QUEST3D

Arranca Quest3D, y crea un nuevo proyecto:

Page 13: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 13/17

 

Ilustración 8 - Pantalla inicio Quest3D

En la solapa "Templates", en la carpeta "Scene", arrastra el template"Simple Scene" al tapiz azul, como muestra la imagen inferior.

Ilustración 9 - Arrastrar canales

Aparecerá el siguiente programa:

Page 14: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 14/17

 

Ilustración 10 - Árbol de la escena

Deja el ratón encima de la caja Start3DScene y aparecerá la siguienteinformación:

Indicando que tipo de función es dichacaja. Podéis consultar cualquiera de lascajas del programa.

El "Name" se cambia pulsando botónderecho sobre la caja, y eligiendo"General Propierties".

Basetype y type nos dicen que tipo decaja es, de forma que podamos pedirayuda a Quest3D para saber que hace.

Pincha sobre la caja Start3DScene y pulsa la techa F1. Aparece la ayudacontextual que dice qué hace, y cómo se usa esta caja. Es esencial que selea mucha ayuda contextual para sacar todo el partido al programa.

Las cajas tienen pines negros en la parte superior e inferior. Los pines secomunican entre cajas arrastrando de un pin a otro entre cajas distintas. Deesta forma se define el flujo del programa. El pin superior es el pin deejecución. La ejecución en Quest3D empieza siempre en la caja que tiene la

Page 15: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 15/17

 

propiedad START (tiene una flecha blanca). Se define una caja como Start,pulsando sobre ella con el botón derecho, y eligiendo "Set as StartChannel". Solo puede hacer una, y generalmente se usa un Channel Caller,cuya única función es ejecutar las funciones que tiene por debajo. Laejecución fluye hacia abajo, empezando por los pines de la izquierda. ysiguiendo hacia abajo y a la derecha.

Los pines inferiores de una caja son los pines "ejecutantes", llaman a otrascajas, bien pidiéndoles valores, bien ordenándoles que se ejecuten. Porejemplo, en la caja "Render" podemos consultar qué función tienen los pinesinferiores, pasando el ratón encima de ellos:

Estos pines suelen precisar sercomunicados con un tipo especificode caja y eso lo sabemos leyendo laventana de información de los pines.En la imagen, vemos que el pin

central de la caja Render precisacajas tipo "3D Object", y es de tipo"Unlimited". Es decir, este pin,admite un número ilimitado deobjetos 3D. Es lógico, ya que elobjeto Render se encarga de mostrar

los objetos 3D en pantalla.

El objeto Render es también el indispensable de todo programa. Hay quecomponerlo con una cámara, uno o varios objetos 3D, y una o varias luces.En la escena que hemos puesto de ejemplo, podemos ver estos treselementos. El objeto 3D es una primitiva, en concreto una caja y un texto en3D.

Observamos que la cámara y la luz, son un icono en forma de carpeta.

Selecciona una (por ejemplo la cámara), y pulsa la barra espaciadora. Lacarpeta se despliega. Las carpetas sirven para agrupar un conjuntoseleccionado de cajas. Así el programa resulta más legible agrupando variascajas que hacen una determinada función. Selecciona de nuevo las cajasque forman la cámara y pulsa la barra espaciadora para agrupar las cajasde nuevo en carpeta.

Si pasamos a la ventana "Animation" veremos más en detalle nuestraaplicación.

En la parte superior hay dos botones que se refieren a las cámaras:

 El primer botón "Perspective View" hace que veamos la aplicacióndesde una cámara propia de Quest3D, distinta de la que hemospuesto en nuestro programa. Podemos mover esta cámara en la

ventana de nuestra aplicación 3D usando en ratón en combinación con latecla ALT, y con el botón central del ratón regulamos el zoom.

Para ver qué se ve desde la cámara que hemos puesto en nuestro Render,pulsaremos en el botón cámara, del par de botones de cámara de la partesuperior llamado "Camera View". Eso es lo que realmente se ve desdenuestra aplicación.

En la parte izquierda de esta ventana, tenemos listados los objetos luces ycámaras de nuestra aplicación:

Page 16: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 16/17

 

Podemos seleccionar el objeto primitivo, con lo que activaremos el cubo (sepone amarillo).

En la parte inferior,están los siguientesbotones que permitirá mover, rotar, y escalar, los objetos, luces y cámaras.De esta forma podemos componer todos los elementos de nuestraaplicación.

Por último, si se pulsa en el botónObject, podemos editar el material denuestro objeto "Cubo":Mediante los controles de diffuse, sepuede definir el color del cubo. Emissiveconvierte el cubo en fluorescente.

Especular, define el nivel de pulimientodel cubo.Alpha define el nivel de transparencia.Para ver el cubo transparente, ademásdebes, en la solapa surface, activar la

opción Alpha Value:

Así quedaría la aplicación final.

Page 17: Tutorial Quest3d 10 01

5/12/2018 Tutorial Quest3d 10 01 - slidepdf.com

http://slidepdf.com/reader/full/tutorial-quest3d-10-01 17/17

 

Ilustración 11 - Imagen final del código con carpetas y coloresdiferenciales.

Como se ve en la imagen anterior Quest3D facilita la forma de disponer loselementos en la escena. Ya sea mediante carpetas (ver párrafo anterior) omediante colores así de un vistazo se puede ver que código representa cadazona de la pantalla.