You are on page 1of 35

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires

Tcnicas de Grficos por Computadora

Gua 3D Studio Max

Ing. Matias N. Leone Ing. Leandro R. Barbagallo

ltima revisin: 09 Agosto 2012

Trabajo Prctico Gua 3D Studio Max

Introduccin
El Framework TgcViewer de la ctedra utiliza la herramienta de diseo Autodesk 3D Studio Max para confeccionar modelos estticos, escenarios y modelos animados. 3D Studio Max es una herramienta de diseo muy compleja que puede ser utilizada para genera contenido grfico en 3D. Aprender a utilizarla est fuera del alcance de la materia y queda a criterio del alumno embarcarse en su utilizacin. Esta gua intenta dar solo algunos conceptos bsicos que ayudan a la integracin de esta herramienta de diseo con el Framework TgcViewer. Todas las explicaciones dadas en esta gua apuntan a un pblico programador, sin indagar demasiado en cuestiones de diseo grfico. Al final de la gua se adjuntan links a diversos recursos y libros que permitan ampliar el conocimiento de la herramienta en cada tema.

Obtencin
Actualmente el Framework utiliza la versin 3D Studio Max 2011. Un trial del mismo puede ser descargado desde el siguiente sitio: http://usa.autodesk.com/adsk/servlet/pc/index?id=13567410&siteID=123112

Qu temas aprender? aprender?


3Ds MAX es una herramienta que se utiliza tanto para aplicaciones grficas en tiempo real como para aplicaciones Offline (Unidad 3 Conceptos Bsicos de 3D). El alumno debe centrarse en todas las tcnicas denominadas Low Poly, dejando de lado tcnicas de mayor calidad grfica denominadas High Poly. Las tcnicas denominadas Low Poly se centran en generar modelos 3D de baja cantidad de polgonos, ideales para ser utilizados en aplicaciones en tiempo real como herramientas CAD, editores y videojuegos. Dentro de las tcnicas Low Poly hay ciertos temas principales que el alumno debera aprender si desea generar contenido para el TP con 3D Studio Max: o Low poly Modeling: Editable Mesh y Editable Poly o Attach models o Skinning o Animation: KeyFrames y Biped o Texturing: Standard Material y Multi-SubObject Material

Integracin con el Framework


3D Studio MAX puede integrarse con el Framework de la ctedra para crear distintos tipos de objetos. El flujo de trabajo es siempre el mismo: 1. Crear un objeto en 3D Studio MAX 2. Utilizar el plugin correspondiente para exportar ese objeto a un archivo de formato compatible con el Framework.

Tcnicas de Grficos por Computadora 3. Cargar el archivo exportado con una clase especfica del Framework. Los distintos objetos que se puedan crear son los siguientes: Modelos estticos individuales. Escenarios complejos, compuestos por muchos modelos estticos. Personajes animados mediante la tcnica de animacin esqueltica. Objetos animados mediante la tcnica de KeyFrame.

El Framework, adems de contener cdigo C#, posee distintos plugins en lenguaje MAXSCRIPT que permiten exportar cierta informacin 3D Studio Max para que luego sea utilizada dentro de TgcViewer. Los plugins se encuentran en el proyecto C# dentro de la carpeta TgcViewer\Utils\MaxPlugins. Actualmente existen cuatro plugins desarrollados cada uno con una funcionalidad especfica: o TgcSceneExporter.ms: TgcSceneExporter.ms permite exportar un modelo esttico o un conjunto de modelos estticos a un archivo XML de formato propio de la ctedra. Este archivo XML luego puede ser cargado por la clase del Framework TgcSceneLoader. El plugin es til tanto para exportar modelos estticos individuales como para exportar escenarios enteros. o TgcSceneImporter.ms TgcSceneImporter.ms: .ms permite importar un modelo esttico o un conjunto de modelos estticos que estn almacenados en un archivo XML del formato propio de la ctedra. Puede ser muy til para cargar modelos de trabajos prcticos anteriores de los que no se tiene el archivo .MAX original. Esta herramienta actualmente se encuentra en estado BETA. o TgcSkeletalAnimationExporter.ms: TgcSkeletalAnimationExporter.ms permite exportar un modelo que posea animaciones mediante la tcnica de animacin esqueltica. El plugin genera dos tipos archivos XML de formato propio de la ctedra: un archivo para la estructura y postura esttica inicial del modelo y luego otro archivo por cada animacin creada. El plugin es til para exportar personajes con animaciones que se pueden crear utilizando un esqueleto. o TgcKeyFrameExporter.ms TgcKeyFrameExporter.ms: .ms permite exportar un modelo que posea animaciones mediante la tcnica de animacin por KeyFrames. El plugin genera dos tipos archivos XML de formato propio de la ctedra: un archivo para la estructura y postura esttica inicial del modelo y luego otro archivo por cada animacin creada. El plugin es til para exportar objetos con animacin que no dependen de una estructura esqueltica como el caso anterior. o MaxScriptUtils.ms MaxScriptUtils .ms: .ms conjunto de funciones y utilidades generales de MAXSCRIPT utilizadas por el resto de los plugins. Contiene facilidades de formateo de valores, exportacin a XML, clculo de BoundingBox, etc.

Instalacin de Plugins

Trabajo Prctico Gua 3D Studio Max Los plugins de la ctedra desarrollados para 3D Studio MAX pueden instalarse de dos formas: Depositando los archivos .ms en una carpeta especfica de 3Ds MAX. Cargando dinmicamente el plugin cuando estamos dentro de la aplicacin. La primera opcin es la ms sencilla y recomendable si se quieren utilizar los plugins en su versin original. Si se quieren realizar modificaciones en el cdigo de los plugins es recomendable utilizar la segunda alternativa. Para la primera opcin, todos los archivos .ms provistos por la ctedra deben ser copiados a la carpeta:

..\ Autodesk 2011 11\ Scripts\ Startup\ .. \Autodes k \3ds Max 20 11 \Scripts \Startup \
De esta forma 3Ds MAX carga los plugins al iniciar la aplicacin. Este paso debe hacerse antes de haber ejecutado la aplicacin.

Interfaz grfica
3D Studio MAX posee un editor visual en el que se pueden crear objetos en 3D y manipularlos a travs del teclado y el Mouse. A continuacin mencionaremos los controles fundamentales que son necesarios para la integracin con el Framework.

Al ingresar a la aplicacin vemos una pantalla principal divida en 4 regiones. Cada regin muestra el universo 3D desde una perspectiva diferente: Pespective, Top, Left, Right, etc. La ms utilizada en esta gua ser Perspective. Estas regiones que muestran el universo 3D se denominan Viewport. En la parte inferior izquierda de la aplicacin se encuentran los siguientes controles para la manipulacin de vista del universo 3D:

Tcnicas de Grficos por Computadora

Maximize Viewport: Viewport Toma la ventana de perspectiva seleccionada y la maximiza para que ocupe toda la pantalla. En los siguientes ejemplos de esta gua estarn maximizados de esta forma. Orbit: Orbit Permite rotar el universo 3D. Existen varias maneras de rotar el universo. Hay mantener presionado sobre el botn de la imagen y luego seleccionar el mecanismo denominado Orbit. Zoom: Zoom Permite acercar y alejar la vista del universo 3D. Pan view: view Permite desplazarse vertical y horizontalmente sobre el universo 3D. Shortcuts: Shortcuts Los ltimos tres controles pueden aplicarse utilizando solo el Mouse con los siguientes shortcuts: Rueda del Mouse: Zoom Mantener botn del medio y desplazarse: Pan view Mantener botn del medio + ALT + desplazarse: Orbit En la parte superior de la aplicacin encontramos los siguientes controles:

Cambiar perspectiva: perspectiva Permite alterar entre todas las vistas: Perspective, Top, Front, etc. Cambiar visualizacin de modelos: modelos Permite alterar entre modo Wireframe (se ven los tringulos) y modo coloreado.

Trabajo Prctico Gua 3D Studio Max

Seleccionar: Seleccionar Permite seleccionar un modelo con el Mouse. Shortcut: Q Ver lista de objetos: objetos Muestra todos los modelos del universo 3D en una lista. Transformaciones: Transformaciones permite mover, rotar y escalar un modelo. Shortcuts: Mover: W Rotar: E Escalar: R Layers: Layers permite agrupar los modelos del universo 3D en capas. Esta categorizacin de modelos luego puede ser aprovechada desde el Framework TgcViewer.

En la parte derecha de la aplicacin encontramos un conjunto de solapas que permite realizar las siguientes funciones:

Solapa Crear: Crear contiene varias primitivas grficas bsicas (Cubo, Esfera, Cilindro, etc) para crear nuevos modelos. Solapa Modificar: Modificar permite alterar todos los parmetros y propiedades de un modelo ya creado. Solapa Display: Display permite configurar qu tipos de objetos se ven en pantalla y cmo se ven. Es til cuando existen gran cantidad de objetos en el universo 3D y se desea trabajar solo con un conjunto de ellos. Solapa Utilities: Utilities muestra diversas herramientas externas de 3Ds MAX. Los plugins de la ctedra se cargan a travs de esta solapa.

Tcnicas de Grficos por Computadora

Creacin de modelos estticos


Crear un modelo esttico implica los siguientes pasos bsicos: 1. Modelado Modelado: do crear la malla de polgonos del objeto deseado. 2. Texturado: Texturado crear una textura (imagen 2D) y aplicrsela al objeto. 3. Exportacin: Exportacin utilizar el plugin de la ctedra para exportar el objeto. 4. Utilizacin: Utilizacin cargar el modelo con la clase del Framework correspondiente. A continuacin explicamos cada paso.

Modelado
Existen diversas tcnicas y estilos de modelo de objetos 3D o mallas. Para a grandes rasgos todas las tcnicas parten de un objeto simple, como un cubo, al cual le van agregando la complejidad de polgonos deseada (Ver apunte de Unidad 3: Conceptos Bsicos de 3D). Para crear un cubo vamos a la solapa Crear del panel de la derecha y seleccionamos la primitiva Box:

Una vez seleccionada, hacemos clic sobre el Viewport y desplazamos el Mouse para especificar el ancho y largo del cubo. Luego soltamos el clic y volvemos a presionar para especificar el alto del cubo. Al soltar tenemos la primitiva creada.

Trabajo Prctico Gua 3D Studio Max

Al crear la primitiva podemos ir a la solapa Modificar, del panel de la derecha, para modificar sus atributos:

Para poder lograr el objeto final deseado necesitamos agregar nuevos polgonos al modelo, modificar sus vrtices y sus aristas. Esto puede hacerse aplicando el Modifier denominado Edit Mesh. 3D Studio MAX posee un mecanismo de modificacin de objetos 3D denominado Modifiers. Un Modifier es un proceso que aplica una cierta transformacin a un objeto 3D. Los Modifiers se pueden encadenar en forma de pila, permitiendo lograr una gran variedad de efectos. El nombre Modifier es similar a los Modifiers del Framework de la ctedra, pero hacen referencia a conceptos distintos. En este caso utilizaremos el Modifier Edit Mesh que se aplica teniendo seleccionado el objeto a modificar y buscando el Modifier en la solapa Modificar.

Tcnicas de Grficos por Computadora

Al aplicarlo, podremos ver que en la solapa Modificar del objeto seleccionado aparecen nuevas opciones. En estas opciones podemos elegir trabajar de varias formas: Manipular a nivel de vrtices. Manipular a nivel de aristas (edges). Manipular a nivel de borde. Manipular a nivel de polgonos (faces). Manipular a nivel de objetos (cuando hay varios modelos con Attach).

Sobre el nivel de manipulacin elegido (vrtice, arista, polgono) podemos aplicar las transformaciones bsicas, mover, rotar y escalar, de la misma que si estuvisemos transformando un objeto entero. A su vez podemos crear nuevos vrtices, eliminar aristas, etc. Una operacin muy til es agregar nuevas aristas. Para ello seleccionamos la manipulacin a nivel de arista y luego elegimos dos aristas existentes. Para seleccionar varios objetos mantenemos CTRL y hacemos clic. Luego hacemos clic izquierdo sobre la seleccin y elegimos la operacin Connect.

Trabajo Prctico Gua 3D Studio Max

10

Al aplicar Connect creamos una nueva arista que conecta las dos aristas seleccionadas. Esta nueva arista creada termina delimitando tambin una nueva cara o polgono. Entonces ahora podemos pasar al nivel de manipulacin de polgonos, seleccionar la nueva cara y desplazarla hacia delante.

11

Tcnicas de Grficos por Computadora

Con este mecanismo, agregando aristas y moviendo polgonos, podemos llegar a construir objetos de la complejidad y calidad deseada. Para profundizar el manejo de esta tcnica recomendamos los siguientes links: http://www.youtube.com/watch?v=21XDdmrhYI&p=A12BF2F8CC489A50 http://www.youtube.com/watch?v=A0TOLIBq8gM http://www.youtube.com/watch?v=sq7wM9Ddxvo&feature=related http://www.youtube.com/watch?v=UNM-_BrtYZM&feature=related http://www.youtube.com/watch?v=f-VZW688iuo

Texturado
Una textura es una imagen que se aplica a un modelo creado (Ver apunte de Unidad 4: Texturas e Iluminacin). Es importante comenzar el proceso de textutado solo despus de que se haya terminado de modelar el objeto. Si luego de haber aplicado la textura es necesario agregar o quitar polgonos, es probable que haya que realizar el texturado de nuevo. Los pasos bsicos del proceso de texturado son los siguientes: 1. Crear una textura en un programa de edicin de imgenes. 2. A un modelo ya terminado asignarle un Material. 3. Aplicarle al modelo el Modifier Unwrap UVW. 4. Ajustar en paralelo el Unwrap UVW y la textura hasta lograr la calidad deseada. Si al objeto de ejemplo, modelado en la seccin anterior, le queremos aplicar una textura hacemos lo siguiente. Seleccionamos el modelo y abrimos el editor de Materiales de 3Ds MAX.

El editor de Materiales muestra a la izquierda una lista de todos los tipos de Material que podemos utilizar. De todos los Materials existentes solo dos tipos pueden ser utilizados con el Framework: Standard: Material comn que permite aplicarle un color o una imagen a un modelo. Es til cuando se quiere aplicar una nica textura al modelo.

Trabajo Prctico Gua 3D Studio Max

12

Multi/Sub-Object: Material compuesto que contiene a su vez a otros Materials. En la integracin con el Framework se utiliza un Material de este tipo compuesto por varios Standard Material. Es til para cuando se quiere aplicar ms de una textura a un modelo.

Para crear un nuevo Material, seleccionamos el tipo deseado y lo arrastramos hacia el panel central. En nuestro caso creamos un Standard Material.

Hacemos doble sobre el Material creado y en el panel de la derecha aparecen todas las propiedades del mismo. En la propiedad de Diffuse hay un botn cuadrado, al lado del selector de color, que permite elegir agregar una imagen al Material (un DiffuseMap).

13

Tcnicas de Grficos por Computadora

Seleccionar Bitmap y nos abre una ventana para elegir una imagen del FileSystem. Luego tenemos que aplicar el Material creado nuestro objeto 3D. Para ello seleccionamos el modelo 3D (en el Viewport), luego seleccionamos el Material creado (en el Materials Editor), hacemos clic derecho sobre este y elegimos Assign Material to selection.

Es necesario tambin tildar la primera vez la opcin Show Standard Map in Viewport para que el Material aplicado se vea en el objeto. Luego de esto, deberamos poder ver nuestro modelo con la textura elegida.

Trabajo Prctico Gua 3D Studio Max

14

Es necesario tambin tildar la primera vez la opcin Show Standard Map in Viewport para que el Material aplicado se vea en el objeto. Luego de esto, deberamos poder ver nuestro modelo con la textura elegida. El Material se aplica de manera genrica al modelo. En la mayora de los casos esta forma de aplicar la textura no es la deseada. Para configurar con mayor detalle como se aplica la textura en cada polgono particular del modelo utilizamos el Modifier Unwrap UVW. Este Modifier permite abrir todas las caras del modelo y proyectarlas sobre el plano. Elegimos entonces el Modifier Unwrap UVW, desde la solapa de Modificar, y elegimos la opcin Face", para poder editar el mapeado de texturas en cada polgono. Luego hacemos clic en el botn Edit.

La aplicacin nos muestra una ventana en la que podemos editar el mapeo de texturas de cada polgono. Confeccionar el mapeo a mano desde cero es una tarea ardua. Por eso se suele utilizar algn mtodo de unwrap estndar de 3Ds MAX y luego se hacen pequeas correcciones sobre ste. Para elegir un mtodo estndar de unwrap vamos a Mapping => Normal Map. Dentro de Normal Map tenemos varias alternativas. Elegimos Box para nuestro ejemplo.

15

Tcnicas de Grficos por Computadora

En la parte inferior podemos ver como se abre el modelo en caras que se proyectan sobre un plano. Podemos seleccionar una cara y desplazarla con el Mouse para ir variando el mapeo de las coordenadas de texturas (coordenadas UV). A partir de este momento se debe hacer un trabajo en paralelo entre el editor de Unwrap UVW y el Viewport con el modelo 3D a la vez que se va modificando la imagen en una herramienta de edicin.

Trabajo Prctico Gua 3D Studio Max

16

Ms de una textura por modelo


En la tcnica de texturado ms sencilla, cada objeto 3D posee solo una nica textura. Si queremos aplicar ms de una textura a un modelo debemos crear un Material del tipo Multi/Sub-Object. Para ello vamos al editor de Materials, elegimos un Material del tipo Multi/Sub-Object y lo arrastramos hacia el panel central. Hacemos doble clic sobre el Material y en su solapa de propiedades podremos ver el listado de los Sub-Materials que posee. Por defecto trae 10. Antes de empezar a trabajar es necesario configurar la cantidad de Sub-Materials a utilizar, una por cada textura diferente requerida. En nuestro caso utilizaremos dos. Hacemos clic en Set Number y especificamos dos.

Luego entramos a cada Material individual (haciendo clic en el botn del listado con su nombre) y especificamos la textura a utilizar de la misma forma que se explic anteriormente para un Standard Material. Para cada Sub-Material debemos especificar la opcin Show Standard Map in viewport para que la misma sea visible (con clic derecho sobre el Sub-Material). Una vez configurados ambos Sub-Material, seleccionamos el Multi/Sub-Object Material y se lo asignamos al modelo 3D (clic derecho sobre el Multi/Sub-Object y elegimos Assign Material to Selection). Luego de creado y asignado el Material, debemos configurar correctamente los polgonos de nuestro modelo para que muestren la textura deseada. A cada cara del modelo se le especifica un ID de Textura, que se relaciona con el ID de Sub-Material del listado mostrado anteriormente. Para configurar los IDs de cada cara del modelo, aplicamos al modelo el Modifier Edit-Poly. Dentro de este Modifier elegimos la manipulacin a nivel de polgonos y luego nos vamos a la seccin del Modifier denominada Polygon: Material IDs (en la parte ms inferior de todos los controles de este Modifier).

17

Tcnicas de Grficos por Computadora

Con esta herramienta vamos seleccionando las caras del modelo que nos interesan y le aplicamos el ID deseado. En nuestro ejemplo tenemos solo dos texturas, por lo tanto todas las caras del modelo deben tener ID 1 o 2. Al aplicar los IDs debemos poder ir viendo cmo se aplica la textura correspondiente a ese ID.

Para profundizar el manejo de la tcnica de texturado recomendamos los siguientes links: http://www.youtube.com/watch?v=3NwfuFBVywc http://www.youtube.com/watch?v=-I8xDH1GmF4&feature=related http://www.youtube.com/watch?v=CLar6qhZKUY http://www.youtube.com/watch?v=snIhrVeKCus

Trabajo Prctico Gua 3D Studio Max http://www.youtube.com/watch?v=lSQJ5ej4-A8&feature=related http://www.youtube.com/watch?v=mA_Qaiwwjac

18

Exportacin
Una vez finalizado el modelo esttico el mismo debe ser exportado para poder ser utilizado en el Framework TgcViewer. La exportacin se realiza a travs de los plugins. Exportar un modelo esttico es similar a exportar un escenario, por lo tanto el procedimiento se trata en la seccin de Creacin de escenarios.

Creacin de escenarios
Un escenario puede ser considerado como un conjunto de modelos estticos que luego son exportados en un nico archivo XML. La creacin de cada modelo individual del escenario se realiza siguiendo los pasos mencionados anteriormente para confeccionar modelos estticos. El plugin utilizado para exportar escenarios es el TgcSceneExporter.ms que a su vez depende del plugin MaxScriptUtils.ms. Si se siguieron los pasos de instalacin de los plugins, explicados anteriormente, ambos sern cargados al inicio de 3Ds MAX y los podemos acceder desde la solapa de Utilities. Una vez que tenemos nuestro escenario lista para ser exportado, nos dirigimos a la solapa de Utilities, ubicada en el panel derecho de la aplicacin.

19

Tcnicas de Grficos por Computadora

Luego seleccionar el botn MAXScript y elegir el plugin TGC-Scene Exporter. Si el mismo no aparece es que no fue bien cargado por la aplicacin. Al elegir el plugin aparece en la parte inferior todas las opciones y controles grficos creados en forma customizada por la ctedra para este plugin.

Trabajo Prctico Gua 3D Studio Max

20

Scene name: name Nombre del escenario a exportar. Es recomendable que el nombre del escenario coincida con el nombre del archivo a guardar. Export Scene: Scene Inicia el proceso de exportacin. Al hacer clic sobre el botn se abre una ventana de FileSystem preguntando en donde se desea almacenar el archivo XML que se va a generar. Solo se exportan los modelos que estn actualmente seleccionados en el Viewport. Suele ser til utilizar el cono Ver lista de objetos, indicado al inicio del documento, para controlar con precisin que objetos estn seleccionados. Texture Settings: Settings El plugin permite tomar todas las texturas utilizadas en todos los Materials del escenario y copiarlas a una carpeta destino. Esta modalidad es muy til cuando se utilizaron texturas provenientes de diversas carpetas de la PC de usuario. Si se activa la opcin Copy textures to folder, todas las texturas de todos los Materials son copiadas a una carpeta relativa a la exportacin del XML. El nombre de la carpeta es determinado por el campo Output dir. Tambin puede especificarse un prefijo para todas las texturas copiadas mediante el campo Files preffix. Lightmaps Settings: El plugin permite generar texturas de Lightmaps para cada Lightmap s Settings modelo del escenario (Ver apunte de Unidad 7: Tcnicas de Optimizacin Indoor). Si se activa la opcin Enable LightMaps, se genera una textura de Lightmap compartida por todos los modelos del escenario, en base a las luces dispuestas en el viewport. Este mecanismo se explica en profundidad ms adelante. Portal Rendering: Rendering El plugin permite generar metadata til para Portal Rendering (Ver apunte de Unidad 7: Tcnicas de Optimizacin - Indoor). Este mecanismo se explica en profundidad ms adelante.

21

Tcnicas de Grficos por Computadora

Consideraciones generales
A continuacin se mencionan consejos y cuestiones a tener en cuenta para el uso compatible de la informacin exportada por el plugin: Se exportan solo los objetos que estn actualmente seleccionados en el Viewport. Si no se quiere exportar un objeto, simplemente no seleccionarlo. Cada modelo es exportado con su nombre. Luego puede utilizarse este nombre dentro del Framework TgcViewer para realizar algn proceso particular. Cada modelo es exportado con el layer al cual pertenece. Los modelos pueden organizarse en layers para luego ser utilizada esta clasificacin para algn proceso particular dentro del Framework TgcViewer. Puede exportarse tanto modelos con textura como sin textura (solo con colores por vrtice). Los modelos pueden exportarse con iluminacin por Lightmaps o sin iluminacin. Cada modelo solo puede tener un nico Material asignado. Si se quiere tener ms de una textura en un modelo, utilizar un Material del tipo Multi/Sub-Object. Solo se exporta la siguiente informacin de un modelo. El resto de la informacin no mencionada no es exportada: o o o o o Tringulos y vrtices. Coordenadas de textura. Colores por vrtice. Material de la malla. Normales

El plugin solo exporta los Materials del tipo Standard Material y Multi/Sub-Object Material. El resto de los Materials son ignorados. De cada Material solo se exporta la propiedad Bitmap del DiffuseMap. El resto de las propiedades del Material son ignoradas. Si un objeto est compuesto por dos modelos separados, y dentro de la aplicacin se quiere tratar como un nico Mesh, entonces hay que utilizar la herramienta Attach de 3Ds MAX para unir ambos modelos en uno solo. La opcin de Attach es un control que se encuentra dentro del Modifier Edit Poly. El origen de coordenadas de cada modelo ser el lugar en el cul se encuentra ubicado dentro del escenario de 3Ds MAX. Para modelos

Trabajo Prctico Gua 3D Studio Max

22

individuales es recomendable centrar el objeto en la posicin (0, 0, 0). Este centro de coordenadas influye sobre la posicin en que se carga el modelo dentro del Framework TgcViewer.

Limitaciones de exportacin
3Ds MAX posee un montn de herramientas y tipos de objetos para interactuar. El plugin solo toma la informacin que necesita del editor e ignora todo el resto. Es importante entender esta limitacin antes de comenzar a utilizar una nueva herramienta de 3Ds MAX. Por ejemplo la herramienta para generacin de partculas incluida con 3Ds MAX permite generar efectos de partculas muy buenos, pero el plugin actualmente no permite exportarlos al Framewor TgcViewer. El usuario debe limitarse a utilizar solo las caractersticas de la aplicacin soportadas por el plugin, o desarrollar su propio plugin.

Alpha Blending
El plugin permite exportar modelos con texturas translcidas. Para ello al modelo se le debe asignar una textura con canal alpha, por ejemplo un PNG-32. Luego en el Framework TgcViewer debe activarse especficamente para ese modelo el renderizado de Alpha Blending. El plugin permite hacer esta activacin automticamente utilizando la propiedad Opacity del Material Editor. En el Editor de Materiales, se debe seleccionar el Material correspondiente al modelo y aplicar el mismo Bitmap que se utiliz para el DiffuseMap para el mapa Opacity.

Seleccionar el Bitmap con la imagen con transparencia y aplicarlo al mapa Opacity (arrastrando la lnea roja). Luego hacer doble clic sobre el Bitmap para abrir

23

Tcnicas de Grficos por Computadora

su men de propiedades, y seleccionar la opcin Alpha dentro del recuadro Mono Channel Output.

Exportacin de Lightmaps
El plugin permite exportar efectos de luces y sombras estticas mediante la tcnica de Lightmap (ver Unidad 4: Texturas e Iluminacin). Los pasos son los siguientes: 1. Tener el escenario listo para ser exportado. 2. Ubicar luces de 3Ds MAX en el escenario y configurar todos sus parmetros. 3. Generar renders estticos para controlar que la iluminacin aplicada es la correcta (lo que el usuario ve en el Viewport es solo una aproximacin). 4. Habilitar la generacin de Lightmaps en el plugin y realizar la exportacin. Al realizar la exportacin las luces a tener en cuenta deben estar seleccionadas en el Viewport, junto con todo el resto de los modelos que se desean exportar. El plugin toma las luces ubicadas dentro del escenario y calcula como influyen estas luces en cada objeto 3D. Se genera una nica textura de Lightmap compartida por todos los modelos del escenario y la almacena en la carpeta especificada en el campo Output dir del plugin. A su vez se pueden configurar otros parmetros de exportacin como el formato de las imgenes, su tamao y el prefijo. La generacin de Lightmaps para un escenario complejo es una tarea costosa, y puede llegar a demorar varios minutos, dependiendo de la cantidad de objetos y cantidad de luces a exportar. La colocacin de luces dentro del escenario y la configuracin de sus valores para lograr un efecto de iluminacin apropiado es una tarea de diseo muy compleja, que escapa los alcances de la materia y de este apunte. Pero a continuacin se mencionan algunos lineamientos bsicos:

Trabajo Prctico Gua 3D Studio Max

24

Desde la solapa Create, del panel de la derecha, podemos posicionar distintos tipos de luces dentro del escenario. El tipo ms comn de luz es el Target Spot, que representa una luz con un cono de iluminacin que parte desde un origen y tiene un alcance limitado. De una luz se pueden especificar muchos atributos, como su color, intensidad y volumen del cono.

Al posicionar luces sobre el escenario, el Viewport de 3Ds MAX ir variando la iluminacin de los objetos. Muchos objetos probablemente queden a oscuras. El Viewport solo muestra una aproximacin muy rudimentaria del efecto final de las luces. Es conveniente realizar renders fijos desde determinados puntos del escenario para previsualizar el efecto final. Para realizar un render desde la posicin en la que estamos parados, hacemos clic en el botn Render Production (o F9) ubicado en la barra de men superior.

Exportacin de Portal Rendering


El plugin permite exportar Metadata asociada a la tcnica de optimizacin Portal Rendering (Ver apunte de Unidad 7: Tcnicas de Optimizacin - Indoor). El usuario puede crear un escenario y dividirlo en celdas convexas que se conectan mediante portales. Luego esta divisin en celdas y portales puede ser utilizada por herramientas del Framework TgcViewer para acelerar la performance de renderizado. Dentro del Framework se adjunta un archivo .MAX a modo de ejemplo, que muestra como crear celdas y portales. El ejemplo se encuentra en la siguiente ruta:

25

Tcnicas de Grficos por Computadora

TgcViewer\ Examples\ PortalRendering\ EscenarioPortal\ EscenarioPortal.max TgcViewer \Examples \ PortalRendering \EscenarioPortal \ EscenarioPortal.ma x
Es recomendable estudiar este ejemplo antes de utilizar esta utilidad del plugin. Los pasos a seguir son los siguientes: 1. Tener el escenario listo para ser exportado. 2. Crear celdas. Las celdas son cuerpos convexos (normalmente Box de 3Ds Max) que el usuario crea y se clasifican dentro del layer especificado por el campo Cells layer del plugin. Las celdas deben englobar todos los objetos del escenario que desean abarcar. El plugin realiza una colisin entre el BoundingBox de cada modelo y el Convex-Hull de cada celda para saber a que celda pertenece cada modelo (Ver Unidad 6: Deteccin de Colisiones). Un modelo puede pertenecer a ms de una celda. Todos los modelos deben pertenecer al menos a una celda. 3. Crear portales. Los portales son caras convexas (normalmente planos de 3Ds Max) que el usuario crea y se clasifican dentro del layer especificado por el campo Portals layer del plugin. Los portales deben colisionar con dos celdas obligatoriamente. El plugin realiza un testeo de colisin entre el Convex-Hull de cada portal y el polgono convexo de cada celda, para determinar como se conectan las celdas entre s. Un portal no puede conectar ni ms ni menos que dos celdas. Los portales se consideran bidireccionales. 4. Realizar la exportacin, habilitando la generacin de datos de Portal Rendering. 5. Visualizar el ejemplo PortalRenderingFramework.cs de los ejemplos de TgcViewer para comprender como utilizar la informacin exportada. El Framework posee la clase TgcPortalRenderingManager para utilizar toda la informacin de Portal Rendering para optimizar el renderizado. Esta clase se presenta solo a modo de ejemplo. Hay muchos aspectos de la misma sin pulir que pueden ser optimizados.

Creacin de modelos animados


El plugin TgcSkeletalAnimationExporter.ms permite exportar modelos con animacin esqueltica hechos con 3Ds MAX (Ver apunte de Unidad 5: Animacin). Un modelo animado con esta tcnica est compuesto por los siguientes elementos: Esqueleto: una estructura de huesos simple que se utiliza para animar el modelo. Modelo: el cuerpo o piel del personaje animado. Confeccionarlo es similar a un modelo esttico (modelado + texturado). Animaciones: un mismo cuerpo 3D y esqueleto puede utilizarse para realizar muchas animaciones. Crear un modelo animado implica los siguientes pasos bsicos: 1. Crear esqueleto: esqueleto especificar la estructura de huesos a utilizar. 2. Modelado: Modelado crear el cuerpo o piel (skin) que recubrir al esqueleto. Este es el personaje que se terminar visualizando. Implica modelar y texturar.

Trabajo Prctico Gua 3D Studio Max

26

3. Skinning: Skinning adjuntar la piel del modelo al esqueleto, utilizando el Modifier Skinning. Aqu se configuran las influencias de cada vrtice respecto a los huesos. 4. Exportar postura: postura utilizar el plugin de la ctedra para exportar la postura inicial, sin animacin, del personaje. Se genera un archivo XML con la postura inicial. 5. Crear animaciones: animaciones manipular el esqueleto y colocar KeyFrames para confeccionar N animaciones, sobre el mismo esqueleto. 6. Exportar Exportar animacin: animacin utilizar el plugin de la ctedra para exportar cada animacin en forma independiente. Se genera un archivo XML por cada animacin. 7. Utilizacin: Utilizacin cargar el modelo con sus animaciones, haciendo uso de la clase del Framework correspondiente. A continuacin explicamos cada paso.

Crear esqueleto
3Ds MAX ofrece diversas herramientas para crear estructuras de huesos. Podemos crear nuestro propio esqueleto customizado con la forma deseada utilizando la herramienta Bones, ubicada en la solapa Create del panel de la derecha, dentro de la categora Systems. Pero crear un esqueleto completo desde cero suele ser una tarea compleja. Es por eso que, para formas humanas, suele utilizarse un esqueleto genrico, denominado Biped. Para acceder a la herramienta de Biped vamos a la solapa Create, luego a Systems y elegimos Biped.

Al seleccionar Biped nos permite crear un esqueleto humando haciendo clic sobre el Viewport. Es recomendable ubicar el esqueleto centrado en el origen de coordenadas, con los pies sobre la grilla del 3Ds Max.

27

Tcnicas de Grficos por Computadora

Antes de crear el Biped debemos configurar la cantidad de huesos y extensiones que deseamos que tenga. Eso se hace debajo del botn Biped seleccionado anteriormente.

La cantidad de huesos influye notoriamente en la performance de la aplicacin en TgcViewer. Es recomendable utilizar la menor cantidad de huesos requeridos. Una vez creado el esqueleto no puede modificarse desde esta seccin. Debemos seleccionar al Biped y dirigirnos a la solapa Hierachy. Aqu dentro tenemos muchas opciones de configuracin sobre el esqueleto. Los huesos del esqueleto solo pueden ser alterados activando el modo Figure Mode y llendo luego al panel Structure.

Trabajo Prctico Gua 3D Studio Max

28

Antes de continuar el esqueleto debe ser configurado en la postura inicial, que luego permitir realizar el Skinning. Esta postura inicial suele ser el esqueleto con los brazos abiertos. No se puede pasar al siguiente paso de animacins hasta que el esqueleto no haya quedado terminado. Los huesos del esqueleto solo se pueden rotar. Para rotarlos utilizamos la misma herramienta de rotacin que usamos para rotar un modelo esttico. Si queremos trasladar todo el esqueleto entero, debemos seleccionar el hueso raz o principal, que es la pelvis. Muchas veces no podemos seleccionar la pelvis directamente desde el Viewport. En esos casos suele ser til abrir la ventana de Seleccin por nombre y elegir la raz. Su nombre default es Bip001, sin ninguna indicacin de nombre de hueso. Los huesos del esqueleto tambin se pueden escalar. Esto nos ayuda a definir las proporciones que deseamos que tenga el cuerpo.

Modelado
El modelado consiste en crear un modelo 3D esttico que sea el cuerpo del esqueleto. Este cuerpo se construye con las mismas tcnicas vistas para crear modelos estticos. El cuerpo debe crearse de forma tal que envuelva perfectamente el esqueleto en su postura inicial.

29

Tcnicas de Grficos por Computadora

Es importante finalizar completamente el modelado antes de pasar al siguiente paso.

Skinning
Skinning es el proceso de adjuntar el cuerpo o piel modelado al esqueleto, mediante la configuracin de influencias entre cada vrtice y hueso. Para ello se selecciona el cuerpo y se le aplica el Modifier Skin.

Trabajo Prctico Gua 3D Studio Max

30

Dentro del Modifier hacemos clic en el botn Add para seleccionar los huesos del esqueleto que queremos adjuntar al modelo. Seleccionamos todos los huesos del esqueleto. Muchas veces, a parte de los huesos, aparecen otros Helpers que deben obviarse. Suele ser til filtrar los objetos existentes por los que sean solo del tipo Bone (En Display, Object types). Una vez agregados todos los huesos, el Modifier genera influencias genricas para el cuerpo. Normalmente estas influencias hay que adaptarles un poco para que logren el efecto deseado. Para modificarlas hacemos clic en el botn Edit Envelopes. Al activar este modo de edicin, podemos seleccionar los distintos huesos del esqueleto y configurar sus auras de influencia sobre los vrtices. Cada hueso debe influir solo en las zonas aledaas, sino se generarn alteraciones al animar.

31

Tcnicas de Grficos por Computadora

3Ds Max marca con colores los distintos niveles de influencia de ese hueso sobre los vrtices del modelo. Las auras de influencias se pueden alterar trasladando con el Mouse sus puntos de control. Para probar si una influencia afecta correctamente al modelo, debemos salir del modo Edit Envelope y probar rotar ese hueso. Si la piel acompaa correctamente al hueso, entonces el Skinning fue aplicado en forma satisfactoria. Caso contrario se producir un efecto chicle, en donde algunos vrtices que deberan haber sido influenciados, no lo fueron. Para hacer estas pruebas suele ser til visualizar el cuerpo 3D con cierta transparencia, para que deje vislumbrar el esqueleto que engloba. Es importante deshacer la rotacin del hueso hecha para probar el Skinning. El esqueleto debe estar siempre en la postura inicial.

Solo se debe pasar al siguiente paso cuando el Skinning esta terminado y se prob que la mayora de los huesos pueden rotar sin generar efectos indeseados sobre el cuerpo.

Exportar postura
En este paso debemos utilizar el plugin de la ctedra TgcSkeletalAnimationExporter.ms para exportar la postura inicial del modelo, junto con su esqueleto y el skinning. Para ello vamos a la solapa Utilities y elegimos el plugin de la misma forma en que elegimos el plugin para exportar modelos estticos (solo que en este paso es un plugin distinto).

Trabajo Prctico Gua 3D Studio Max

32

Para exportar la postura inicial, seleccionamos el cuerpo y hacemos clic en Export Mesh. Esto genera un archivo de formato NNN-TgcSkeletalMesh.xml. Es importante guardar una versin del .MAX con la postura inicial.

Crear animaciones
Sobre el modelo y esqueleto anterior en la postura inicial, se pueden realizar varias animaciones. Es necesario crear un nuevo .MAX para cada animacin, que parta siempre de la postura inicial original. Crear un buen efecto de animacin fluida es una tarea de diseo muy compleja. A continuacin solo se explican algunos lineamientos bsicos. Para animar solo nos interesa interactuar con el esqueleto, ms especficamente, rotar sus huesos. El cuerpo ahora pasa a ser solo un atributo de la postura inicial. Lo primero que tenemos que hacer antes de animar es configurar la lnea del tiempo, ubicada en la parte inferior de la pantalla.

En esta ventana debemos especificar el largo de nuestra animacin. La duracin default es 100 cuadros, y suele ser elevada para la mayora de las animaciones a utilizar en el Framework. Alrededor de 30 cuadros suele ser un valor adecuado.

33

Tcnicas de Grficos por Computadora

Luego podemos empezar a animar. Para animar debemos colocar KeyFrames en los distintos cuadros de la lnea de tiempo ubicada en la parte inferior de la pantalla. Los KeyFrames definen una rotacin particular de cada hueso del esqueleto. 3Ds Max interpola el resto del movimiento entre KeyFrame y KeyFrame. Debemos tener activada la opcin AutoKey para que 3Ds Max genere un nuevo KeyFrame cada vez que alteramos la rotacin de un hueso. Cada hueso posee su propio canal de KeyFrames.

En animaciones que se desean reproducir en Loop, es importante que la posicin inicial de la animacin sea igual a la posicin final. Para ello es til utilizar la herramienta de Copy/Paste de la solapa Hierachy.

Trabajo Prctico Gua 3D Studio Max

34

Exportar animaciones
Cuando finalizamos una animacin la exportamos con el plugin mostrado anteriormente, con la opcin Export Animation. Es importante especificar el nombre de la animacin, y que ste coincida con el nombre del archivo a guardar. El plugin genera un XML por cada animacin exportada, de la forma NNNTgcSkeletalAnim.xml.

Reutilizar animaciones
Dado que las animaciones son solo sobre el esqueleto, se pueden reutilizar todas las animaciones de un mismo esqueleto sobre diversos cuerpos o modelos. Podemos generar varios Mesh exportados con la postura inicial y reutilizar las animaciones existentes. Para ello es necesario que el nuevo modelo que se haga se adapte correctamente al esqueleto existente. Se debe confeccionar el Skinning para el nuevo modelo en la misma postura inicial y con el mismo esqueleto que se utiliz para las animaciones.

Ms recursos sobre animacin


A continuacin se detallan algunos links para profundizar ms la tcnica de animacin: Libro: Modeling a character in 3ds max, Escrito por Paul Steed http://books.google.com.ar/books?id=w_KLe1AylhEC&printsec=frontcover&dq= 3d+max+character&hl=es&ei=hAdWTNOVFIK78gbazaHABA&sa=X&oi=book_resul t&ct=result&resnum=1&ved=0CC8Q6AEwAA#v=onepage&q=3d%20max%20charact er&f=false

35

Tcnicas de Grficos por Computadora Biped animation: http://www.youtube.com/watch?v=9LxRCJ8DbYE Modelado y animacin: http://www.3dk.org/tutorial/Modeling-Texturingand-Animating-low-poly-Lara-Croft-in-3ds-max-Part-I-.html

Modelos de ejemplo
La ctedra posee varios modelos de ejemplo ya exportados al formato de TGC y tambin junto con su archivo MAX para ser editados. Los mismos se encuentran dentro de las carpetas: Examples\Media\MeshCreator Examples\Media\ModelosTgc Examples\Media\SkeletalAnimations

You might also like