35
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Técnicas de Gráficos por Computadora Guía 3D Studio Max Ing. Matias N. Leone Ing. Leandro R. Barbagallo Última revisión: 09 Agosto 2012

Guia 3D Studio Max

Embed Size (px)

Citation preview

Page 1: Guia 3D Studio Max

Universidad Tecnológica Nacional Facultad Regional Buenos Aires

Técnicas de Gráficos por Computadora

Guía 3D Studio Max

Ing. Matias N. Leone

Ing. Leandro R. Barbagallo

Última revisión: 09 Agosto 2012

Page 2: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 2

IntroducciónIntroducciónIntroducciónIntroducción

El Framework TgcViewer de la cátedra utiliza la herramienta de diseño Autodesk 3D Studio Max para confeccionar modelos estáticos, escenarios y modelos animados.

3D Studio Max es una herramienta de diseño muy compleja que puede ser utilizada para genera contenido gráfico en 3D. Aprender a utilizarla está fuera del alcance de la materia y queda a criterio del alumno embarcarse en su utilización.

Esta guía intenta dar solo algunos conceptos básicos que ayudan a la integración de esta herramienta de diseño con el Framework TgcViewer. Todas las explicaciones dadas en esta guía apuntan a un público programador, sin indagar demasiado en cuestiones de diseño gráfico.

Al final de la guía se adjuntan links a diversos recursos y libros que permitan ampliar el conocimiento de la herramienta en cada tema.

ObtenciónObtenciónObtenciónObtención

Actualmente el Framework utiliza la versión 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 aprenderQué temas aprenderQué temas aprenderQué temas aprender????

3Ds MAX es una herramienta que se utiliza tanto para aplicaciones gráficas en tiempo real como para aplicaciones Offline (Unidad 3 “Conceptos Básicos de 3D”). El alumno debe centrarse en todas las técnicas denominadas “Low Poly”, dejando de lado técnicas de mayor calidad gráfica denominadas “High Poly”.

Las técnicas denominadas “Low Poly” se centran en generar modelos 3D de baja cantidad de polígonos, ideales para ser utilizados en aplicaciones en tiempo real como herramientas CAD, editores y videojuegos.

Dentro de las técnicas “Low Poly” hay ciertos temas principales que el alumno debería 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

Integración con el FrameworkIntegración con el FrameworkIntegración con el FrameworkIntegración con el Framework

3D Studio MAX puede integrarse con el Framework de la cátedra 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.

Page 3: Guia 3D Studio Max

3 Técnicas de Gráficos por Computadora

3. Cargar el archivo exportado con una clase específica del Framework.

Los distintos objetos que se puedan crear son los siguientes:

• Modelos estáticos individuales.

• Escenarios complejos, compuestos por muchos modelos estáticos.

• Personajes animados mediante la técnica de animación esquelética.

• Objetos animados mediante la técnica de KeyFrame. El Framework, además de contener código C#, posee distintos plugins en lenguaje

MAXSCRIPT que permiten exportar cierta información 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 específica:

o TgcSceneExporter.msTgcSceneExporter.msTgcSceneExporter.msTgcSceneExporter.ms: permite exportar un modelo estático o un

conjunto de modelos estáticos a un archivo XML de formato propio de la cátedra. Este archivo XML luego puede ser cargado por la clase del Framework “TgcSceneLoader”. El plugin es útil tanto para exportar modelos estáticos individuales como para exportar escenarios enteros.

o TgcSceneImporterTgcSceneImporterTgcSceneImporterTgcSceneImporter.ms.ms.ms.ms: permite importar un modelo estático o un

conjunto de modelos estáticos que estén almacenados en un archivo XML del formato propio de la cátedra. Puede ser muy útil para cargar modelos de trabajos prácticos anteriores de los que no se tiene el archivo .MAX original. Esta herramienta actualmente se encuentra en estado BETA.

o TgcSkeletalAnimationExporter.msTgcSkeletalAnimationExporter.msTgcSkeletalAnimationExporter.msTgcSkeletalAnimationExporter.ms: permite exportar un modelo que

posea animaciones mediante la técnica de animación esquelética. El plugin genera dos tipos archivos XML de formato propio de la cátedra: un archivo para la estructura y postura estática inicial del modelo y luego otro archivo por cada animación creada. El plugin es útil para exportar personajes con animaciones que se pueden crear utilizando un esqueleto.

o TgcKeyFrameExporterTgcKeyFrameExporterTgcKeyFrameExporterTgcKeyFrameExporter.ms.ms.ms.ms: permite exportar un modelo que posea

animaciones mediante la técnica de animación por KeyFrames. El plugin genera dos tipos archivos XML de formato propio de la cátedra: un archivo para la estructura y postura estática inicial del modelo y luego otro archivo por cada animación creada. El plugin es útil para exportar objetos con animación que no dependen de una estructura esquelética como el caso anterior.

o MaxScriptUtilsMaxScriptUtilsMaxScriptUtilsMaxScriptUtils.ms.ms.ms.ms: conjunto de funciones y utilidades generales de

MAXSCRIPT utilizadas por el resto de los plugins. Contiene facilidades de formateo de valores, exportación a XML, cálculo de BoundingBox, etc.

Instalación de PluginsInstalación de PluginsInstalación de PluginsInstalación de Plugins

Page 4: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 4

Los plugins de la cátedra desarrollados para 3D Studio MAX pueden instalarse de dos formas:

• Depositando los archivos “.ms” en una carpeta específica de 3Ds MAX.

• Cargando dinámicamente el plugin cuando estamos dentro de la aplicación.

La primera opción es la más sencilla y recomendable si se quieren utilizar los

plugins en su versión original. Si se quieren realizar modificaciones en el código de los plugins es recomendable utilizar la segunda alternativa.

Para la primera opción, todos los archivos “.ms” provistos por la cátedra deben ser copiados a la carpeta:

........\\\\AutodesAutodesAutodesAutodeskkkk\\\\3ds Max 203ds Max 203ds Max 203ds Max 2011111111\\\\ScriptsScriptsScriptsScripts\\\\StartupStartupStartupStartup\\\\

De esta forma 3Ds MAX carga los plugins al iniciar la aplicación. Este paso debe

hacerse antes de haber ejecutado la aplicación.

Interfaz gráficaInterfaz gráficaInterfaz gráficaInterfaz gráfica

3D Studio MAX posee un editor visual en el que se pueden crear objetos en 3D y manipularlos a través del teclado y el Mouse. A continuación mencionaremos los controles fundamentales que son necesarios para la integración con el Framework.

Al ingresar a la aplicación vemos una pantalla principal divida en 4 regiones.

Cada región muestra el universo 3D desde una perspectiva diferente: Pespective, Top, Left, Right, etc. La más utilizada en esta guía será Perspective. Estas regiones que muestran el universo 3D se denominan Viewport.

En la parte inferior izquierda de la aplicación se encuentran los siguientes controles para la manipulación de vista del universo 3D:

Page 5: Guia 3D Studio Max

5 Técnicas de Gráficos por Computadora

Maximize ViewportMaximize ViewportMaximize ViewportMaximize Viewport: Toma la ventana de perspectiva seleccionada y la maximiza

para que ocupe toda la pantalla. En los siguientes ejemplos de esta guía estarán maximizados de esta forma.

OrbitOrbitOrbitOrbit: Permite rotar el universo 3D. Existen varias maneras de rotar el universo.

Hay mantener presionado sobre el botón de la imagen y luego seleccionar el mecanismo denominado “Orbit”.

ZoomZoomZoomZoom: Permite acercar y alejar la vista del universo 3D. Pan viewPan viewPan viewPan view: Permite desplazarse vertical y horizontalmente sobre el universo 3D. ShortcutsShortcutsShortcutsShortcuts: Los últimos tres controles pueden aplicarse utilizando solo el Mouse

con los siguientes shortcuts:

• Rueda del Mouse: Zoom

• Mantener botón del medio y desplazarse: Pan view

• Mantener botón del medio + ALT + desplazarse: Orbit En la parte superior de la aplicación encontramos los siguientes controles:

Cambiar perspectivaCambiar perspectivaCambiar perspectivaCambiar perspectiva: Permite alterar entre todas las vistas: Perspective, Top,

Front, etc. Cambiar visualización de modelosCambiar visualización de modelosCambiar visualización de modelosCambiar visualización de modelos: Permite alterar entre modo Wireframe (se

ven los triángulos) y modo coloreado.

Page 6: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 6

SeleccionarSeleccionarSeleccionarSeleccionar: Permite seleccionar un modelo con el Mouse. Shortcut: Q Ver lista de objetosVer lista de objetosVer lista de objetosVer lista de objetos: Muestra todos los modelos del universo 3D en una lista. TransformacionesTransformacionesTransformacionesTransformaciones: permite mover, rotar y escalar un modelo. Shortcuts:

• Mover: W

• Rotar: E

• Escalar: R

LayersLayersLayersLayers: permite agrupar los modelos del universo 3D en capas. Esta categorización de modelos luego puede ser aprovechada desde el Framework TgcViewer.

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

Solapa CrearSolapa CrearSolapa CrearSolapa Crear: contiene varias primitivas gráficas básicas (Cubo, Esfera, Cilindro,

etc) para crear nuevos modelos. Solapa ModificarSolapa ModificarSolapa ModificarSolapa Modificar: permite alterar todos los parámetros y propiedades de un

modelo ya creado. Solapa DisplaySolapa DisplaySolapa DisplaySolapa Display: permite configurar qué tipos de objetos se ven en pantalla y

cómo 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 UtilitiesSolapa UtilitiesSolapa UtilitiesSolapa Utilities: muestra diversas herramientas externas de 3Ds MAX. Los

plugins de la cátedra se cargan a través de esta solapa.

Page 7: Guia 3D Studio Max

7 Técnicas de Gráficos por Computadora

Creación de modelos estáticosCreación de modelos estáticosCreación de modelos estáticosCreación de modelos estáticos

Crear un modelo estático implica los siguientes pasos básicos: 1. ModelaModelaModelaModeladodododo: crear la malla de polígonos del objeto deseado. 2. TexturadoTexturadoTexturadoTexturado: crear una textura (imagen 2D) y aplicársela al objeto. 3. ExportaciónExportaciónExportaciónExportación: utilizar el plugin de la cátedra para exportar el objeto. 4. UtilizaciónUtilizaciónUtilizaciónUtilización: cargar el modelo con la clase del Framework

correspondiente. A continuación explicamos cada paso.

Modelado

Existen diversas técnicas y estilos de modelo de objetos 3D o mallas. Para a

grandes rasgos todas las técnicas parten de un objeto simple, como un cubo, al cual le van agregando la complejidad de polígonos deseada (Ver apunte de Unidad 3: “Conceptos Básicos 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.

Page 8: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 8

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 polígonos al

modelo, modificar sus vértices y sus aristas. Esto puede hacerse aplicando el Modifier denominado “Edit Mesh”.

3D Studio MAX posee un mecanismo de modificación de objetos 3D denominado Modifiers. Un Modifier es un proceso que aplica una cierta transformación 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 cátedra, 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.

Page 9: Guia 3D Studio Max

9 Técnicas de Gráficos 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 vértices.

• Manipular a nivel de aristas (edges).

• Manipular a nivel de borde.

• Manipular a nivel de polígonos (faces).

• Manipular a nivel de objetos (cuando hay varios modelos con Attach).

Sobre el nivel de manipulación elegido (vértice, arista, polígono) podemos aplicar

las transformaciones básicas, mover, rotar y escalar, de la misma que si estuviésemos transformando un objeto entero. A su vez podemos crear nuevos vértices, eliminar aristas, etc.

Una operación muy útil es agregar nuevas aristas. Para ello seleccionamos la manipulación 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 selección y elegimos la operación “Connect”.

Page 10: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 10

Al aplicar “Connect” creamos una nueva arista que conecta las dos aristas

seleccionadas. Esta nueva arista creada termina delimitando también una nueva cara o polígono. Entonces ahora podemos pasar al nivel de manipulación de polígonos, seleccionar la nueva cara y desplazarla hacia delante.

Page 11: Guia 3D Studio Max

11 Técnicas de Gráficos por Computadora

Con este mecanismo, agregando aristas y moviendo polígonos, podemos llegar a construir objetos de la complejidad y calidad deseada.

Para profundizar el manejo de esta técnica recomendamos los siguientes links:

• http://www.youtube.com/watch?v=21XD-dmrhYI&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 Iluminación”). Es importante comenzar el proceso de textutado solo después de que se haya terminado de modelar el objeto. Si luego de haber aplicado la textura es necesario agregar o quitar polígonos, es probable que haya que realizar el texturado de nuevo.

Los pasos básicos del proceso de texturado son los siguientes: 1. Crear una textura en un programa de edición de imágenes. 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 sección 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 común que permite aplicarle un color o una imagen a un modelo. Es útil cuando se quiere aplicar una única textura al modelo.

Page 12: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 12

• Multi/Sub-Object: Material compuesto que contiene a su vez a otros Materials. En la integración con el Framework se utiliza un Material de este tipo compuesto por varios Standard Material. Es útil para cuando se quiere aplicar más 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 botón cuadrado, al lado del selector de color, que permite elegir agregar una imagen al Material (un DiffuseMap).

Page 13: Guia 3D Studio Max

13 Técnicas de Gráficos 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 también tildar la primera vez la opción “Show Standard Map in Viewport” para que el Material aplicado se vea en el objeto. Luego de esto, deberíamos poder ver nuestro modelo con la textura elegida.

Page 14: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 14

Es necesario también tildar la primera vez la opción “Show Standard Map in

Viewport” para que el Material aplicado se vea en el objeto. Luego de esto, deberíamos poder ver nuestro modelo con la textura elegida.

El Material se aplica de manera genérica al modelo. En la mayoría 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 polígono 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 opción “Face", para poder editar el mapeado de texturas en cada polígono. Luego hacemos clic en el botón “Edit”.

La aplicación nos muestra una ventana en la que podemos editar el mapeo de

texturas de cada polígono. Confeccionar el mapeo a mano desde cero es una tarea ardua. Por eso se suele utilizar algún método de “unwrap” estándar de 3Ds MAX y luego se hacen pequeñas correcciones sobre éste. Para elegir un método estándar de “unwrap” vamos a “Mapping => Normal Map”. Dentro de “Normal Map” tenemos varias alternativas. Elegimos “Box” para nuestro ejemplo.

Page 15: Guia 3D Studio Max

15 Técnicas de Gráficos 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 edición.

Page 16: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 16

Más de una textura por modelo

En la técnica de texturado más sencilla, cada objeto 3D posee solo una única

textura. Si queremos aplicar más 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 botón 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 opción “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 polígonos 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 manipulación a nivel de polígonos y luego nos vamos a la sección del Modifier denominada “Polygon: Material IDs” (en la parte más inferior de todos los controles de este Modifier).

Page 17: Guia 3D Studio Max

17 Técnicas de Gráficos 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 cómo se aplica la textura correspondiente a ese ID.

Para profundizar el manejo de la técnica 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

Page 18: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 18

• http://www.youtube.com/watch?v=lSQJ5ej4-A8&feature=related

• http://www.youtube.com/watch?v=mA_Qaiwwjac

Exportación

Una vez finalizado el modelo estático el mismo debe ser exportado para poder ser

utilizado en el Framework TgcViewer. La exportación se realiza a través de los plugins. Exportar un modelo estático es similar a exportar un escenario, por lo tanto el procedimiento se trata en la sección de “Creación de escenarios”.

Creación de escenariosCreación de escenariosCreación de escenariosCreación de escenarios

Un escenario puede ser considerado como un conjunto de modelos estáticos que luego son exportados en un único archivo XML. La creación de cada modelo individual del escenario se realiza siguiendo los pasos mencionados anteriormente para confeccionar modelos estáticos.

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 instalación de los plugins, explicados anteriormente, ambos serán 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 aplicación.

Page 19: Guia 3D Studio Max

19 Técnicas de Gráficos por Computadora

Luego seleccionar el botón “MAXScript” y elegir el plugin “TGC-Scene

Exporter”. Si el mismo no aparece es que no fue bien cargado por la aplicación. Al elegir el plugin aparece en la parte inferior todas las opciones y controles

gráficos creados en forma customizada por la cátedra para este plugin.

Page 20: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 20

Scene nameScene nameScene nameScene name: Nombre del escenario a exportar. Es recomendable que el nombre

del escenario coincida con el nombre del archivo a guardar. Export SceneExport SceneExport SceneExport Scene: Inicia el proceso de exportación. Al hacer clic sobre el botón 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 estén actualmente seleccionados en el Viewport. Suele ser útil utilizar el ícono “Ver lista de objetos”, indicado al inicio del documento, para controlar con precisión que objetos están seleccionados.

Texture SettingsTexture SettingsTexture SettingsTexture 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 opción “Copy textures to folder”, todas las texturas de todos los Materials son copiadas a una carpeta relativa a la exportación del XML. El nombre de la carpeta es determinado por el campo “Output dir”. También puede especificarse un prefijo para todas las texturas copiadas mediante el campo “Files preffix”.

LightmapLightmapLightmapLightmaps Settingss Settingss Settingss Settings: El plugin permite generar texturas de Lightmaps para cada

modelo del escenario (Ver apunte de Unidad 7: “Técnicas de Optimización – Indoor”). Si se activa la opción “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 más adelante.

Portal RenderingPortal RenderingPortal RenderingPortal Rendering: El plugin permite generar metadata útil para Portal Rendering

(Ver apunte de Unidad 7: “Técnicas de Optimización - Indoor”). Este mecanismo se explica en profundidad más adelante.

Page 21: Guia 3D Studio Max

21 Técnicas de Gráficos por Computadora

Consideraciones generales

A continuación se mencionan consejos y cuestiones a tener en cuenta para el uso

compatible de la información exportada por el plugin:

• Se exportan solo los objetos que estén 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 algún proceso particular.

• Cada modelo es exportado con el layer al cual pertenece. Los modelos pueden organizarse en layers para luego ser utilizada esta clasificación para algún proceso particular dentro del Framework TgcViewer.

• Puede exportarse tanto modelos con textura como sin textura (solo con colores por vértice).

• Los modelos pueden exportarse con iluminación por Lightmaps o sin iluminación.

• Cada modelo solo puede tener un único Material asignado. Si se quiere

tener más de una textura en un modelo, utilizar un Material del tipo Multi/Sub-Object.

• Solo se exporta la siguiente información de un modelo. El resto de la información no mencionada no es exportada:

o Triángulos y vértices. o Coordenadas de textura. o Colores por vértice. o Material de la malla. o 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 aplicación 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 opción 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 cuál se encuentra ubicado dentro del escenario de 3Ds MAX. Para modelos

Page 22: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 22

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

Limitaciones de exportación

3Ds MAX posee un montón de herramientas y tipos de objetos para interactuar. El

plugin solo toma la información que necesita del editor e ignora todo el resto. Es importante entender esta limitación antes de comenzar a utilizar una nueva herramienta de 3Ds MAX. Por ejemplo la herramienta para “generación de partículas” incluida con 3Ds MAX permite generar efectos de partículas muy buenos, pero el plugin actualmente no permite exportarlos al Framewor TgcViewer. El usuario debe limitarse a utilizar solo las características de la aplicación soportadas por el plugin, o desarrollar su propio plugin.

Alpha Blending

El plugin permite exportar modelos con texturas translúcidas. 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 específicamente para ese modelo el renderizado de Alpha Blending. El plugin permite hacer esta activación automáticamente 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 línea roja). Luego hacer doble clic sobre el Bitmap para abrir

Page 23: Guia 3D Studio Max

23 Técnicas de Gráficos por Computadora

su menú de propiedades, y seleccionar la opción “Alpha” dentro del recuadro “Mono Channel Output”.

Exportación de Lightmaps

El plugin permite exportar efectos de luces y sombras estáticas mediante la

técnica de Lightmap (ver Unidad 4: “Texturas e Iluminación”). 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

parámetros. 3. Generar renders estáticos para controlar que la iluminación aplicada es la

correcta (lo que el usuario ve en el Viewport es solo una aproximación). 4. Habilitar la generación de Lightmaps en el plugin y realizar la exportación.

Al realizar la exportación 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 parámetros de exportación como el formato de las imágenes, su tamaño y el prefijo.

La generación 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 colocación de luces dentro del escenario y la configuración de sus valores para lograr un efecto de iluminación apropiado es una tarea de diseño muy compleja, que escapa los alcances de la materia y de este apunte. Pero a continuación se mencionan algunos lineamientos básicos:

Page 24: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 24

Desde la solapa “Create”, del panel de la derecha, podemos posicionar distintos

tipos de luces dentro del escenario. El tipo más común de luz es el “Target Spot”, que representa una luz con un cono de iluminación 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

iluminación de los objetos. Muchos objetos probablemente queden a oscuras. El Viewport solo muestra una aproximación 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 posición en la que estamos parados, hacemos clic en el botón “Render Production” (o F9) ubicado en la barra de menú superior.

Exportación de Portal Rendering

El plugin permite exportar Metadata asociada a la técnica de optimización Portal

Rendering (Ver apunte de Unidad 7: “Técnicas de Optimización - Indoor”). El usuario puede crear un escenario y dividirlo en celdas convexas que se conectan mediante portales. Luego esta división 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:

Page 25: Guia 3D Studio Max

25 Técnicas de Gráficos por Computadora

TgcViewerTgcViewerTgcViewerTgcViewer\\\\ExamplesExamplesExamplesExamples\\\\PortalRenderingPortalRenderingPortalRenderingPortalRendering\\\\EscenarioPortalEscenarioPortalEscenarioPortalEscenarioPortal\\\\EscenarioPortal.maEscenarioPortal.maEscenarioPortal.maEscenarioPortal.maxxxx 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 colisión entre el BoundingBox de cada modelo y el Convex-Hull de cada celda para saber a que celda pertenece cada modelo (Ver Unidad 6: “Detección de Colisiones”). Un modelo puede pertenecer a más 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 colisión entre el Convex-Hull de cada portal y el polígono convexo de cada celda, para determinar como se conectan las celdas entre sí. Un portal no puede conectar ni más ni menos que dos celdas. Los portales se consideran bidireccionales.

4. Realizar la exportación, habilitando la generación de datos de Portal Rendering.

5. Visualizar el ejemplo “PortalRenderingFramework.cs” de los ejemplos de TgcViewer para comprender como utilizar la información exportada.

El Framework posee la clase “TgcPortalRenderingManager” para utilizar toda la

información 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.

Creación de modelos animadosCreación de modelos animadosCreación de modelos animadosCreación de modelos animados

El plugin “TgcSkeletalAnimationExporter.ms” permite exportar modelos con animación esquelética hechos con 3Ds MAX (Ver apunte de Unidad 5: “Animación”). Un modelo animado con esta técnica 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 estático (modelado + texturado).

• Animaciones: un mismo cuerpo 3D y esqueleto puede utilizarse para realizar muchas animaciones.

Crear un modelo animado implica los siguientes pasos básicos:

1. Crear esqueletoCrear esqueletoCrear esqueletoCrear esqueleto: especificar la estructura de huesos a utilizar. 2. ModeladoModeladoModeladoModelado: crear el cuerpo o piel (skin) que recubrirá al esqueleto. Este es

el personaje que se terminará visualizando. Implica modelar y texturar.

Page 26: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 26

3. SkinningSkinningSkinningSkinning: adjuntar la piel del modelo al esqueleto, utilizando el Modifier Skinning. Aquí se configuran las influencias de cada vértice respecto a los huesos.

4. Exportar posturaExportar posturaExportar posturaExportar postura: utilizar el plugin de la cátedra para exportar la postura inicial, sin animación, del personaje. Se genera un archivo XML con la postura inicial.

5. Crear animacionesCrear animacionesCrear animacionesCrear animaciones: manipular el esqueleto y colocar KeyFrames para confeccionar N animaciones, sobre el mismo esqueleto.

6. ExportaExportaExportaExportar animaciónr animaciónr animaciónr animación: utilizar el plugin de la cátedra para exportar cada animación en forma independiente. Se genera un archivo XML por cada animación.

7. UtilizaciónUtilizaciónUtilizaciónUtilización: cargar el modelo con sus animaciones, haciendo uso de la clase del Framework correspondiente.

A continuación 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 categoría “Systems”. Pero crear un esqueleto completo desde cero suele ser una tarea compleja. Es por eso que, para formas humanas, suele utilizarse un esqueleto genérico, 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.

Page 27: Guia 3D Studio Max

27 Técnicas de Gráficos por Computadora

Antes de crear el Biped debemos configurar la cantidad de huesos y extensiones

que deseamos que tenga. Eso se hace debajo del botón “Biped” seleccionado anteriormente.

La cantidad de huesos influye notoriamente en la performance de la aplicación en

TgcViewer. Es recomendable utilizar la menor cantidad de huesos requeridos. Una vez creado el esqueleto no puede modificarse desde esta sección. Debemos

seleccionar al Biped y dirigirnos a la solapa “Hierachy”. Aquí dentro tenemos muchas opciones de configuración sobre el esqueleto. Los huesos del esqueleto solo pueden ser alterados activando el modo “Figure Mode” y llendo luego al panel “Structure”.

Page 28: Guia 3D Studio Max

Trabajo Práctico – Guía 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 animacións hasta que el esqueleto no haya quedado terminado.

Los huesos del esqueleto solo se pueden rotar. Para rotarlos utilizamos la misma herramienta de rotación que usamos para rotar un modelo estático. Si queremos trasladar todo el esqueleto entero, debemos seleccionar el hueso raíz 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 “Selección por nombre” y elegir la raíz. Su nombre default es “Bip001”, sin ninguna indicación de nombre de hueso.

Los huesos del esqueleto también 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 estático que sea el cuerpo del

esqueleto. Este cuerpo se construye con las mismas técnicas vistas para crear modelos estáticos. El cuerpo debe crearse de forma tal que envuelva perfectamente el esqueleto en su postura inicial.

Page 29: Guia 3D Studio Max

29 Técnicas de Gráficos 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 configuración de influencias entre cada vértice y hueso. Para ello se selecciona el cuerpo y se le aplica el Modifier “Skin”.

Page 30: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 30

Dentro del Modifier hacemos clic en el botón “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 genéricas para el cuerpo. Normalmente estas influencias hay que adaptarles un poco para que logren el efecto deseado. Para modificarlas hacemos clic en el botón “Edit Envelopes”. Al activar este modo de edición, podemos seleccionar los distintos huesos del esqueleto y configurar sus “auras” de influencia sobre los vértices. Cada hueso debe influir solo en las zonas aledañas, sino se generarán alteraciones al animar.

Page 31: Guia 3D Studio Max

31 Técnicas de Gráficos por Computadora

3Ds Max marca con colores los distintos niveles de influencia de ese hueso sobre los vértices 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 acompaña correctamente al hueso, entonces el Skinning fue aplicado en forma satisfactoria. Caso contrario se producirá un “efecto chicle”, en donde algunos vértices que deberían 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 rotación 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 mayoría de los huesos pueden rotar sin generar efectos indeseados sobre el cuerpo.

Exportar postura

En este paso debemos utilizar el plugin de la cátedra

“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 estáticos (solo que en este paso es un plugin distinto).

Page 32: Guia 3D Studio Max

Trabajo Práctico – Guía 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 versión 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 animación, que parta siempre de la postura inicial original. Crear un buen efecto de animación fluida es una tarea de diseño muy compleja. A continuación solo se explican algunos lineamientos básicos.

Para animar solo nos interesa interactuar con el esqueleto, más específicamente, 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 línea del tiempo, ubicada en la parte inferior de la pantalla.

En esta ventana debemos especificar el largo de nuestra animación. La duración default es 100 cuadros, y suele ser elevada para la mayoría de las animaciones a utilizar en el Framework. Alrededor de 30 cuadros suele ser un valor adecuado.

Page 33: Guia 3D Studio Max

33 Técnicas de Gráficos por Computadora

Luego podemos empezar a animar. Para animar debemos colocar KeyFrames en los distintos cuadros de la línea de tiempo ubicada en la parte inferior de la pantalla. Los KeyFrames definen una rotación particular de cada hueso del esqueleto. 3Ds Max interpola el resto del movimiento entre KeyFrame y KeyFrame.

Debemos tener activada la opción “AutoKey” para que 3Ds Max genere un nuevo KeyFrame cada vez que alteramos la rotación de un hueso. Cada hueso posee su propio canal de KeyFrames.

En animaciones que se desean reproducir en Loop, es importante que la posición inicial de la animación sea igual a la posición final. Para ello es útil utilizar la herramienta de “Copy/Paste” de la solapa “Hierachy”.

Page 34: Guia 3D Studio Max

Trabajo Práctico – Guía 3D Studio Max 34

Exportar animaciones

Cuando finalizamos una animación la exportamos con el plugin mostrado

anteriormente, con la opción “Export Animation”. Es importante especificar el nombre de la animación, y que éste coincida con el nombre del archivo a guardar. El plugin genera un XML por cada animación exportada, de la forma “NNN-TgcSkeletalAnim.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.

Más recursos sobre animación

A continuación se detallan algunos links para profundizar más la técnica de

animación:

• 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_result&ct=result&resnum=1&ved=0CC8Q6AEwAA#v=onepage&q=3d%20max%20character&f=false

Page 35: Guia 3D Studio Max

35 Técnicas de Gráficos por Computadora

• Biped animation: http://www.youtube.com/watch?v=9LxRCJ8DbYE

• Modelado y animación: http://www.3dk.org/tutorial/Modeling-Texturing-and-Animating-low-poly-Lara-Croft-in-3ds-max-Part-I-.html

Modelos de ejemploModelos de ejemploModelos de ejemploModelos de ejemplo

La cátedra posee varios modelos de ejemplo ya exportados al formato de TGC y también 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