Volver menú revistas Volver página anterior

El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España para ofrecer los artículos de la revista Amiga World España.

N° 57 - Septiembre 1994
Amiga World

TUTORIAL REAL 3D (5° parte)


Retomamos en este
número el capítulo
sobre animación
que comenzamos el
mes pasado, para
completar esta
interesante parte
del tutorial.

Esta secuencia
muestra una visión
espectral de la
secuencia de
animación
completa.


Por Vicente Delfa

La última función que explicamos en nuestro anterior número fue la de rotación. Pues bien, continuaremos ahora con otra interesante función que nos ofrece el programa, como es la dirección.


LA FUNCION DIRECCION

La función "Direction" la emplearemos para cambiar la dirección de un objeto de acuerdo con la dirección del movimiento. Para comprender fácilmente como operar con esta función realizaremos un ejemplo práctico.

Realizamos un modelo simple de un coche o lo rotamos hatsa la dirección en que queremos que esté orientado cuando se inicie el movimiento (rotar con Modify > Hierarchy > Rotate o pulsando la "a". A continuación usaremos la función Proyect > Animation > Orbit (o la tecla "O" para dar al coche la trayectoria por la que se va a mover. Ahora cuando el coche se mueva por la curva que define la orbita, éste lo hace igual de lado que hace atrás.

Para dirigir ahora el coche a lo largo de la trayectoria, seleccionamos el menú Proyect > Animation > Direction. Definimos el intervalo de fotogramas desde 0 hasta el último fotograma y pulsamos "OK".

Es lógico pensar que debemos inicializar la dirección del objeto dado que el programa no puede adivinar que parte del objeto es la que debe apuntar hacia delante. Así mismo, la modificación de la dirección es una función aditiva, es decir, no reemplaza a las anteriores rotaciones del objeto. De esta forma sólo podemos aplicar ésta función una sola vez a una órbita, debiéndose preparar ésta completamente antes de aplicarle la función dirección.

De la misma forma, el objeto nunca será girado boca abajo, cuando lo dirijamos. Por ejemplo, si la dirección del objeto cambia completamente 180°, es imposible para el programa decidir hacia dónde quiere girarlo, horizontal o verticalmente. Resumiendo, la función dirección es más adecuada para dirigir coches que aviones.


EXPONER Y DESEXPONER

Una animación de Real 3D consiste en una secunecia de fotogramas. Cuando visualizamos un nuevo fotograma, la ventana de selección muestra la estructura jerárquica de los objetos existentes en este fotograma. En cada fotograma los objetos pueden ser de dos tipos, los llamados expuestos y desexpuestos. Los objetos expuestos son los únicos que tienen que ser animados. De esta forma los objetos desexpuestos no tienen movimiento. Más precisamente, un objeto es expuesto en cierto fotograma si éste fotograma tiene una copia "privada" de dicho objeto, así, algunos efectos de animación modifican la colocación del objeto en éste fotograma. La exposición de los objetos es una propiedad jerárquica: si un objeto está expuesto, todos los subobjetos estarán expuestos.

La operación que hace una copia "privada" de un objeto en cada fotograma es llamada exposing, y eliminar dicha copia se llama de-exposing.


OTRAS FUNCIONES DE ANIMACION

El menú Projects > Animation contiene varias funciones útiles para manipular las animaciones.

Con Projects > Animation > Size, podemos introducir el nuevo tamaño de una animación. Hay que tener en cuenta que si incrementamos el tamaño de la animación, nuevos fotogramas serán añadidos al final de la animación. Si reducimos el tamaño de ésta. los fotogramas serán borrados desde el final de la animación.

Para borrar una animación ya creada emplearemos Projects > Animation > Delete. La función Delete realiza lo mismo que la función New Projects, borrando todo a excepción de la librería de materiales en uso que queda guardada en memoria.

Podemos cargar y salvar animaciones con Projects > Animation > Load y Save. Cuando efectuamos la carga de una animación, Real 3D nos pregunta si la nueva animación deberá reemplazar la animación existente (replace), si debe concadenarla con el final de la animación en curso (concatenate) o si debe ser mezclada fotograma a fotograma con la animación en curso (join). Si seleccionamos la última opción, la función "join" comenzará en el fotograma en curso y los atributos, como por ejemplo la paleta de color, serán preservados.

Si lo que deseamos es insertar nuevos fotogramas en un cierto punto de la animación, haremos lo siguiente: nos movemos al fotograma después del cual deseemos añadir nuevos fotogramas. Elegimos Projects > Animation > Insert y damos el número de fotogramas a insertar.

Si por el contrario lo que buscamos es eliminar ciertos fotogramas de un punto de la animación, seleccionamos Projects > Animation > Remove y damos el número de fotogramas a borrar.

Para eliminar la exposición de algunos fotogramas nos movemos al primer fotograma en cuestión, elegimos Projects > Animation > De-expose. Definimos cuantos fotogramas queremos desexponer empezando en el fotograma en curso y pulsamos "OK".

Nota: No se puede eliminar la exposición de un objeto en el primer fotograma.

Para movernos a un fotograma determinado seleccionamos Projects > Animation > Goto Frame. Tecleamos el fotograma y pulsamos "OK".

También en el Editor de objetos podemos usar algunas opciones de preview:

- Si tenemos un Grid o mala visible, podemos desactivarlo con la "G".

- Podemos ejecutar la animación que nos será mostrada en las ventanas de proyección pulsando la "P" o seleccionando Projects > Animation > Play. Podemos detener la animación pulsando "Esc".


ANIMANDO CON MACROS

La función macro es especialmente útil en el capítulo de animación, pudiendo simplificarnos mucho ciertas tareas tediosas. Con un sencillo ejemplo aprenderemos mejor su manejo:

- Creamos un objeto.

- Vamos a la ventana del Wireframe y buscamos un ángulo de vista y distancia adecuados, pulsamos REC y volvemos al editor.

- Rehacemos el tamaño de la animación a 100 fotogramas en el menú Projects > Animation > Size.

- Elegimos el menú Projects > Macro > Define.

- Definimos las modificaciones apropiadas que definirán lo que sucede entre dos fotogramas consecutivos. Por ejemplo, desplazamos el objeto un poco a un lado.

- Seleccionamos Projects > Macro > End.

- Nos debemos asegurar de que la parte del objeto que ha sido modificada está activda, y elegimos Projects > Macro > Execute.

- Introducimos los valores Setframes=100, Starcount=0 e Increment=1. Pulsamos "OK".

Ahora función macro avanzada la animación, comenzando por la celda que está siendo editada y modificada un determinado número de celdas. Cada celda de la animación es modificada por el macro, pasando a la siguiente e incrementando la cuenta en uno, en éste caso.

Las modificaciones son ejecutadas en aquellas partes de los objetos que corresponden al objeto seleccionado, en la celda que estamos editanto cuando se activa la operación. Si el objeto correspondiente no existe en una celda, no será modificado. Esto significa que podemos aplicar las modificaciones sobre una parte determinada de la animación. Si el número de celdas en el macro es superior al existente, las modificaciones que resten por hacer no tendrán efecto alguno.


DISPOSITIVOS MACRO

La descripción anterior nos dice que el macro se ejecuta sobre el objeto correspondiente en cada celda. Pero ¿cómo son seleccionados estos objetos?. Hemos dicho antes que un objeto puede tener varios subobjetos que se llamen igual. Por lo tanto el nombre no puede ser usado como elemento distintivo. En su lugar los objetos son seleccionados en función de su posición en el árbol jerárquico.

El significado exacto de los tres dispositivos de macro son:

- Celda: determina cuántas celdas consecutivas son modificadas por el macro empezando en la celda actual.

- Veces: define el número de veces que se ejecuta el macro en la primera celda modificada.

- Incremento: determina cuánto aumenta el número de modificaciones por celda al pasar a la siguiente celda.

Si el incremento es cero, el efecto de las modificaciones del macro no se acumula, el número de ciclos de modificación no aumenta y las celdas no serán expuestas automáticamente.

Supongamos que ejecutamos un macro que contenga un leve desplazamiento hacia arriba o lo convertimos en animación. Si el incremento es cero, el objeto será levantado la misma cantidad hacia arriba en cada celda, mientras que un incremento superior a cero le daría al objeto un movimiento hacia arriba en la animación. Las modificaciones realizadas con el macro con un incremento de valor cero pueden ser usadas para editar varios fotogramas a la vez.

Por ejemplo, si quieremos cambiar el material de un objeto ya animado desde brillante a reflectante, podemos usar la siguiente técnica:

- Nos vamos al primer fotograma.

- Activamos el objeto.

- Seleccionamos Macro > Define.

- Seleccionamos Modify > Hierarchy > Material y seleccionamos material "Mirror" desde la lista de materiales.

- Seleccionar Macro > End.

- Seleccionar Macro > Execute y dar Frames=número de fotogramas de la animación, Starcount=1 e Increment=0.

- Pulsar "OK".

Usando la función "material" directamente, debería cambiar el material sólo en el fotograma actual.

El método macro ofrece la forma más general de hacer animaciones en Real 3D, pudiendo incluir un macro tantas modificaciones como se desee. Sin embargo, esto significa que el usuario generalmente tiene que definir rápidamente un número de cosas cuando cree una animación, y por lo tanto el método macro puede ser algo laborioso. De hecho, definir una macro incluyendo muchos y complicados pasos es muy similar a escribir un programa.


Siete diferentes
momentos de la
secuencia de
animación, mostradas
como pantallas
independientes.


ANIMACION DEL OBSERVADOR Y DEL PUNTO DE VISTA

Como ya he mencionado, la posición del observador puede ser animada usando las funciones de la ventana Wireframe (alámbrico). Aunque éste es un método fácil, el resultado tiende a ser bastante inexacto.

Si creamos un observador (observer) y un punto de vista (Aim Point) en la jerarquía, usando Creation > Observer y Creation > Aim point, podemos animar éstos de una manera similar a los otros objetos. Por ejemplo, podemos crear una escena donde el observador está situado en la jerarquía de un coche y el punto de vista está situado en la jerarquía de un aeroplano. Cuando animemos el coche y el avión, conseguiremos una animación donde la cámara se desplace en el interior del coche mientras mira al avión en movimiento.

Aunque no queramos animar el observador o el punto de vista, deberíaoms usarlos teniéndolos en la jerarquía, dado que así podremos controlar sus posiciones en el editor, además de en el modo Wireframe.

Si agrupamos los objetos observador y punto de vista bajo un mismo objeto, como por ejemplo "cámara", podremos animarlos juntos. Por ejemplo podemos inicializar la dirección de la cámara, dibujar una trayectoria para ella y finalmente dirigir la cámara usando la función Animation > Direction. Así conseguimos un espectacular efecto de vuelo de cámara.


CREACION DE ANIMACIONES LARGAS

Cuando creamos animaciones largas, puede ser necesario dividir la animación en varias partes. Entonces debemos tener en cuenta cómo el programa indexa los gráficos, que ya ha sido explicado. También el ajuste automático de la luz se hace en la primera celda de la animación, por lo que lo más útil es colocar la primera celda en el comienzo de las animaciones.

No se debe cambiar la paleta al generar distintas partes de la animación: aunque los colores de los dibujos serán los mismos, el modelador sólido puede producir resultados distintos al trabajar en modo HAM. Esto causaría fluctuaciones desagradables en las imágenes a la hora de presentar la animación.

Un hecho a tener en cuenta cuando usemos un macro es que, es mejor modificar todas las partes de la animación a la vez, ya que está versión de Real 3D no tiene implementada la grabación y carga de macros.

Para terminar, comentar que algunas veces puede ahorrarse memoria usando trucos simples. Por ejemplo, si vamos a realizar una animación de un logotipo girando usando el método de rendering "LAMPLESS", no giraremos el logotipo, sino que giramos la cámara alrededor de éste. Así, el observador es el único componente móvil de la escena, y como es un objeto simple, no requiere demasiada memoria.


Volver menú revistas Volver página anterior