Você está na página 1de 132

www.discreet.

com

REFERENCIA DEL USUARIO Y TUTORIALES

21100-210000-5020A Julio de 2002

Copyright 2002 Autodesk, Inc. Todos los derechos reservados


Esta publicacin no puede ser reproducida, ni en todo ni en parte, en ninguna forma ni por ningn medio para otros fines.

AUTODESK, INC. SUMINISTRA ESTOS MATERIALES TAL CUAL Y SU SUMINISTRO NO IMPLICA NINGN TIPO DE GARANTA, NI EXPRESA NI IMPLCITA, INCLUYENDO PERO SIN LIMITARSE A ELLAS, LAS RELATIVAS AL CUMPLIMIENTO DE CRITERIOS COMERCIALES Y A LA ADECUACIN A FINES PARTICULARES. AUTODESK, INC. NO ACEPTA EN NINGN CASO RESPONSABILIDADES POR LOS DAOS PARTICULARES, INDIRECTOS, DERIVADOS O FORTUITOS, QUE SE PUEDAN ORIGINAR EN RELACIN CON, O COMO RESULTADO DE LA COMPRA O USO DE ESTOS MATERIALES. INDEPENDIENTEMENTE DE LA FORMA DE ACCIN, LA RESPONSABILIDAD NICA Y EXCLUSIVA DE AUTODESK, INC. NO PODR SUPERAR EL PRECIO PAGADO POR LA COMPRA DE LOS MATERIALES AQU DESCRITOS.
Autodesk, Inc. se reserva el derecho de revisar y mejorar sus productos como estime conveniente. Esta publicacin describe el estado del producto en el momento de su publicacin y puede no reflejar estados posteriores del producto.

Marcas registradas de Autodesk


Las siguientes son marcas comerciales registradas de Autodesk, Inc. en EE.UU. o/y otros pases: 3D Plan, 3D Props, 3D Studio, 3D Studio MAX, 3D Studio VIZ, 3DSurfer, ActiveShapes, ActiveShapes (logotipo), Actrix, ADE, ADI, Advanced Modeling Extension, AEC Authority (logotipo), AEC-X, AME, Animator Pro, Animator Studio, ATC, AUGI, AutoCAD, AutoCAD Data Extension, AutoCAD Development System, AutoCAD LT, AutoCAD Map, Autodesk, Autodesk Animator, Autodesk Inventor, Autodesk (logotipo), Autodesk MapGuide, Autodesk University, Autodesk View, Autodesk WalkThrough, Autodesk World, AutoLISP, AutoShade, AutoSketch, AutoSurf, AutoVision, Biped, bringing information down to earth, CAD Overlay, Character Studio, Cinepak, Cinepak (logotipo), Codec Central, Combustion, Design Companion, Design Your World, Design Your World (logotipo), Discreet, Drafix, EditDV, Education by Design, Generic, Generic 3D Drafting, Generic CADD, Generic Software, Geodyssey, Heidi, HOOPS, Hyperwire, i-drop, Inside Track, Kinetix, MaterialSpec, Mechanical Desktop, Media Cleaner, MotoDV, Movie Cleaner Pro, Multimedia Explorer, NAAUG, ObjectARX, Office Series, Opus, PeopleTracker, PhotoDV, Physique, Planix, Powered with Autodesk Technology, Powered with Autodesk Technology (logotipo), RadioRay, Rastation, Revit, Softdesk, Softdesk (logotipo), Solution 3000, Terran Interactive, Texture Universe, The AEC Authority, The Auto Architect, TinkerTech, Videofusion, VISION*, Visual LISP, Volo, Web-Motion, WHIP!, WHIP! (logotipo), Wood-bourne, WorkCenter y World-Creating Toolkit. Las siguientes son marcas comerciales de Autodesk, Inc. en EE.UU. o/y Canad o/y otros pases: 3D on the PC, 3ds max, ACAD, Advanced User Interface, AME Link, AutoCAD. Architectural Desktop, AutoCAD Learning Assistance, AutoCAD LT Learning Assistance, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk Device Interface, Autodesk Map, Autodesk Software Developers Kit, Autodesk Streamline, Autodesk View DwgX, AutoFlix, AutoSnap, AutoTrack, Built with ObjectARX (logotipo), Burn, Buzzsaw, Buzzsaw.com, Cinestream, Cleaner, Cleaner Central, ClearScale, Colour Warper, Concept Studio, Con-tent Explorer, cornerStone Toolkit, Dancing Baby (imagen), DesignCenter, Design Doctor, Designers Toolkit, DesignProf, DesignServer, DWG Linking, DXF, Extending the Design Team,FLI,FLIC,GDX Driver,gmax,gmax(logotipo),gmax ready (logotipo),Headsup Design,Home Series,Intelecine,IntroDV,jobnet,Kinetix (logotipo), Live Sync, ObjectDBX, onscreen onair online, Ooga-Chaka, Plans & Specs, Plasma, Plugs and Sockets, PolarSnap, ProjectPoint, Reactor, Real-Time Roto, Render Queue, Sparks, The Dancing Baby, Transform Ideas Into Reality, Visual Syllabus, VIZable, and Where Design Connects.

Marcas comerciales de Autodesk Canada Inc.


Las siguientes son marcas comerciales registradas de Autodesk Canada Inc. en EE.UU. o/y Canad o/y otros pases: discreet, fire, flame, flint, flint RT, frost, glass, inferno, MountStone, riot, river, smoke, stone, stream, vapour y wire. Las siguientes son marcas comerciales de Autodesk Canada Inc., en EE.UU., Canad y/o en otros pases: backburner, backdraft, heatwave, Multi-Master Editing.

Marcas registradas de terceros


Los dems nombres de marcas, productos y marcas comerciales pertenecen a sus respectivos propietarios.

Crditos de programas de terceros


2002 Microsoft Corporation. Todos los derechos reservados. ACIS 1989-2002 Spatial Corp. AnswerWorks Copyright 1997-2000 WexTech Systems, Inc. Porciones de este programa con Lernout & Hauspie, Inc. Todos los derechos reservados. Determinadas patentes con licencia de Viewpoint Corporation. InstallShield con Copyright 2002 InstallShield Software Corporation. Todos los derechos reservados. Tecnologa de licencias con Copyright Macrovision Corp. 19962002. Porciones con Copyright 1989-2002 mental images GmbH & Co. KG Berln, Alemania Porciones con Copyright 2002 Blur Studio, Inc. Porciones con Copyright 2002 Intel Corporation Porciones desarrolladas por Digimation, Inc. para uso exclusivo de Autodesk, Inc. Porciones desarrolladas por Lyric Media, Inc. para uso exclusivo de Autodesk, Inc. Hay porciones de este programa basadas en propiedad intelectual de Independent JPEG Group. reactor ha sido creado para Discreet, una divisin de Autodesk, Inc., por Havok.com, Inc. Copyright 1999-2002 Havok.com, Inc. Todos los derechos reservados. Consulte www.havok.com para ms detalles. Wise Installation System for Windows Installer 2002, Wise Solutions, Inc. Todos los derechos reservados.

USO GUBERNAMENTAL
El uso, duplicacin o revelacin por parte del Gobierno de EE.UU. est sujeto a las restricciones establecidas en FAR 12.212 (Commercial Computer Software-Restricted Rights) y DFAR 227.7202 (Rights in Technical Data and Computer Software), en la medida en que sean aplicables.

Bienvenido . . . . . . . . . . . . . . . . . . . . . . . 1
Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Caractersticas avanzadas de presentacin . . . 5

Cuerdas . . . . . . . . . . . . . . . . . . . . . . . . 33
Acerca de estos tutoriales . . . . . . . . . . . . . . . . . 33 Creacin de una simulacin de cuerda. . . . . . 33

Cuerpos rgidos . . . . . . . . . . . . . . . . . . . 7
Contenido del tutorial . . . . . . . . . . . . . . . . . . . . . 7 Creacin de una simulacin de cuerpos rgidos . 8 Propiedades de cuerpo rgido . . . . . . . . . . . . . 10 Propiedades de coleccin de cuerpo rgido . . 11

Agua. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 37 Adicin de agua a una escena . . . . . . . . . . . . . 38

Restricciones . . . . . . . . . . . . . . . . . . . . 41
Contenido del tutorial . . . . . . . . . . . . . . . . . . . . Muelles y dashpots . . . . . . . . . . . . . . . . . . . . . . Adicin de un muelle a una simulacin. . . . . Adicin de un dashpot . . . . . . . . . . . . . . . . . . . Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coche de juguete . . . . . . . . . . . . . . . . . . . . . . . . 41 42 42 44 45 49

Objetos convexos y cncavos . . . . . 13


Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 14 Realizar una prueba de convexidad . . . . . . . . 14 Tratamiento de un objeto como convexo . . . . 14 Tratamiento de un objeto como cncavo . . . . 16 Construccin de un cuerpo rgido compuesto17 Ms informacin sobre los proxies . . . . . . . . . 18

Acciones . . . . . . . . . . . . . . . . . . . . . . . 53
Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 53 Las acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Adicin de acciones a escenas . . . . . . . . . . . . . 54

Cuerpos flexibles. . . . . . . . . . . . . . . . . 21
Acerca de estos tutoriales . . . . . . . . . . . . . . . . . 21 Creacin de una simulacin de cuerpos flexibles .22 Cuerpos flexibles ms avanzados . . . . . . . . . . 23 Deformacin de forma libre . . . . . . . . . . . . . . . 24

Tela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 27 Creacin de una simulacin de tela . . . . . . . . 28 Propiedades avanzadas de ropa . . . . . . . . . . . 30 Limitaciones del modelo de tela . . . . . . . . . . . 31

10 Animacin . . . . . . . . . . . . . . . . . . . . . . 59 Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 59 Creacin de una animacin sencilla . . . . . . . . 59 Mezcla de keyframes y animacin fsica I . . . 61 Mezcla de keyframes y animacin fsica II . . 62 Mallas deformantes . . . . . . . . . . . . . . . . . . . . . . 62 Reduccin de keyframes. . . . . . . . . . . . . . . . . . 63 Modificacin interactiva . . . . . . . . . . . . . . . . . . 64

iv

Contenido

11 MAXScript y reactor . . . . . . . . . . . . . . 65 Objetos de reactor . . . . . . . . . . . . . . . . . . . . . . . 65 Definicin de propiedades fsicas . . . . . . . . . . 69 Ejecucin de guiones . . . . . . . . . . . . . . . . . . . . . 72 12 Escala universal. . . . . . . . . . . . . . . . . . 75 World Scale (Escala universal). . . . . . . . . . . . . 75 Tolerancia a colisiones. . . . . . . . . . . . . . . . . . . . 76 13 Propiedades de simulacin avanzadas . 77

Appendix: Fundamentos fsicos. . . . . 79


Simulacin fsica. . . . . . . . . . . . . . . . . . . . . . . . . 79 Deteccin de colisiones . . . . . . . . . . . . . . . . . . . 90 Unidades fsicas y valores. . . . . . . . . . . . . . . . 101 Pasos siguientes . . . . . . . . . . . . . . . . . . . . . . . . 106

Glosario . . . . . . . . . . . . . . . . . . . . . . . 109 ndice . . . . . . . . . . . . . . . . . . . . . . . . . 115

Bienvenido
reactor es un plug-in para 3ds max diseado para que artistas y animadores controlen y simulen escenas fsicas complejas con facilidad. reactor admite dinmica de cuerpos rgidos y flexibles, simulacin de ropa y de fluidos. Puede simular restricciones y articulaciones de cuerpos articulados. Tambin puede simular comportamientos fsicos como viento o motores. Puede aprovechar todas estas caractersticas para crear entornos dinmicos muy ricos. Una vez que un diseador crea un objeto en 3ds max, puede asignarle propiedades fsicas. Entre estas propiedades puede haber caractersticas como la masa, friccin y elasticidad. Los objetos pueden ser fijos, libres, unidos a muelles o unidos entre s mediante restricciones varias. Al asignar caractersticas fsicas a objetos, es posible modelar ambientes reales de forma rpida y simple, y despus simularlos para crear animaciones de keyframes con precisin fsica.

Con reactor, puede ver rpidamente la presentacin preliminar de escenas con la ventana de simulacin en tiempo real. Esta ventana permite probar y manipular escenas interactivamente. Puede alterar posiciones de todos los objetos fsicos de la escena, reduciendo drsticamente el tiempo de diseo. Despus puede transferir la escena a 3ds max con slo una pulsacin, conservando todas las propiedades necesarias para la animacin. El plug-in reactor devuelve a los diseadores y animadores el tiempo dedicado a la animacin manual de efectos secundarios, como la explosin de edificios o el ondear de cortinas. El plug-in tambin admite todas las caractersticas estndar de 3ds max, como keyframes y piel, as que puede usar animacin convencional y fsica en la misma escena. Unas utilidades muy cmodas, como la reduccin automtica de keyframes, permiten manipular y alterar partes de una animacin generadas fsicamente despus de haberla creado. En el resto de este documento se describen detalladamente todas las caractersticas del plug in. Tambin contiene tutoriales detallados donde se explica cmo sacar el mximo partido de reactor. Encontrar ms archivos y tutoriales en www.discreet.com

Captulo 1: Bienvenido

Primeros pasos
Lo primero que se necesita hacer para usar el plugin es mostrar el panel de reactor. Este panel contiene las opciones para la simulacin y, usndolo, puede aplicar propiedades fsicas a los objetos de la escena.

No obstante, casi todas las tareas realizadas en los tutoriales tienen un equivalente en barra de herramientas y en men. A continuacin se ofrece una explicacin de los smbolos de la barra de herramientas. En este manual se tratan todas estas funciones. Add a Rigid Body Collection (Aadir coleccin de cuerpos rgidos) Add a Soft Body Collection (Aadir coleccin de cuerpos flexibles) Apply the Soft Body modifier (Aplicar el modificador de cuerpos flexibles) Add a Constraint Solver (Aadir resolutor de restriccin) Add a Point-to-Nail Constraint (Aadir restriccin punto a clavo)

Figura 1.1.1.

Add a Spring (Aadir muelle) Add a Wind Action (Aadir accin viento) Add a Motor Action (Aadir accin motor) Open the Preview window (Abrir ventana de presentacin preliminar) Analyze World (Analizar universo) Deforming Mesh (Malla deformante). Add a Rope Collection (Aadir coleccin de cuerda) Add a Cloth Collection (Aadir coleccin de ropa)

Para mostrar el panel de reactor:

1. Seleccione el panel de comandos Utilities

(Utilidades).
2. Presione el botn More (Ms). 3. Seleccione reactor en la lista del cuadro de

dilogo Utilities (Utilidades) (Figura 1.1.1).


4. Presione el botn OK (Aceptar).

El plug-in reactor contiene varias versiones ampliadas de las interfaces de usuario predeterminadas, que contienen una barra de herramientas de reactor y un men cuad de reactor. El men cuad es accesible en todos los visores con Mays+Alt y el botn derecho del ratn. Los mens cuad y la barra de herramientas ofrecen mtodos abreviados para muchas de las funciones de reactor. En este manual no se utilizan los botones de barra de herramientas ni las funciones de men cuad.

Primeros pasos

Apply the Cloth modifier (Aplicar el modificador ropa) Apply the Attach-to-Rigid Body modifier (Aplicar el modificador asociar a cuerpo rgido) Add a Point-to-Point constraint (Aadir restriccin punto a punto) Add a Point-to-Path constraint (Aadir restriccin punto a recorrido) Add a Dashpot (Aadir dashpot) Add Water (Aadir agua) Add a reactor Plane (Aadir plano de reactor) Perform Simulation (Ejecutar simulacin) Toy Car (Coche de juguete) Fracture Action (Accin fractura) Apply a Rope modifier (Aplicar modificador cuerda)

las interfaces de usuario estndar de 3ds max. Alternativamente, si tiene una IU personalizada, puede fusionar la barra de herramientas de reactor con la herramienta de fusin (merge tool) disponible en www.discreet.com.

Tareas bsicas
Normalmente se requieren seis pasos para crear y realizar la presentacin preliminar de una escena con el plug-in:
1. Creacin de la escena en 3ds max. 2. Aplicacin de propiedades fsicas a los objetos

de la escena con la seccin Properties (Propiedades) de la persiana de reactor.


3. Creacin de colecciones a las que se aaden

objetos.
4. Creacin de los sistemas que desee en la escena. 5. Adicin de cmaras y luces. 6. Presentacin preliminar de la simulacin.

No es necesario realizar estos pasos en un orden especfico. Con frecuencia resulta prctico crear una coleccin antes de aadir objetos a la escena, por ejemplo.
Tecla P R BIR BCR BDR Funcin Reproduce o pausa la escena. Restaura la escena a su posicin original. (Botn Izquierdo del Ratn) Rota la escena en torno al origen Presione el botn central para encuadrar la cmara (Botn Derecho del Ratn) Designa objetos. Puede designar objetos haciendo clic derecho en ellos. Tras ello, arrastre el objeto usando un muelle conectado al puntero del ratn y al objeto seleccionado. Permiten moverse hacia dentro, fuera, izquierda y derecha. Muestra la velocidad de imagen

Instalacin de la barra de herramientas


Para instalar la barra de herramientas de reactor:
1. Elija Cargar IU personalizada en el men
Flechas F

Personalizar.
2. Seleccione uno de los archivos .cui cuyo

nombre contiene la palabra reactor. En ellos se ofrecen versiones de reactor personalizadas de

Las opciones de men de la ventana de presentacin son las siguientes:

Captulo 1: Bienvenido

Simulation (Simulacin)
Play/Pause (Reproducir/Pausa)Permite reproducir

Culling (Extraccin)Indica si desactivar o no las

caras ocultas.
Lighting, Shadows (Iluminacin, sombras)Activa y

o detener la simulacin en cualquier momento. Cuando se pausa, cesa toda la simulacin (los objetos se congelan en espacio y tiempo) pero todava puede cambiar la posicin de cmara para ver los objetos de la escena. Tambin es posible avanzar una escena pausada en incrementos sencillos de tiempo para ver con ms precisin el progreso de la simulacin. Despus puede realizar el formato de los objetos en 3ds max para ajustarse al universo de simulacin actual al usarlo junto con la funcin Update Max (Actualizar Max). Esto resulta especialmente til si utiliza la ventana de presentacin preliminar para ayudar en la colocacin del objeto en 3ds max.
Reset (Restablecer)Restablece la simulacin a

desactiva los efectos/sombras.


Toggle Display On/Off (Conmutar presentacin Act/ Des)Permite ver el efecto de la presentacin en la

velocidad de imagen.

Physics (Fsica)
Real Time (Tiempo real)Ejecuta una simulacin en

tiempo real, usando el tiempo de reloj transcurrido.


Fixed Step (Paso fijo)Permite especificar el tamao de paso de tiempo entre cada evaluacin fsica. La simulacin actualizada slo est disponible para la presentacin una vez que se ha realizado cada paso de tiempo. Si se trata de un paso definido por el usuario, el valor se establece con los parmetros de animacin de 3ds max. Unos pasos de tiempo menores implican una fsica ms precisa. Substeps (Subpasos)Permite especificar el nmero de subpasos fsicos realizados internamente durante cada evaluacin. De este modo se controla la precisin de cada evaluacin tiempo-paso. Un nmero mayor de subpasos implica pasos de tiempo ms precisos y una fsica ms precisa. Gravity (Gravedad)Activa y desactiva la

posiciones de inicio o actualizadas en 3ds max.

Display (Presentacin)
Max Mouse Mode (Modo de ratn de Max)

Conmuta entre los dos modos de ratn. El modo de ratn de max est activado de forma predeterminada.
Background Color (Color de fondo)Define el color de fondo de la ventana de presentacin. Camera Setting (Configuracin de cmara)

Permite definir la distancia entre ambos planos de recorte y el campo visual para la cmara.
Flashlight (Linterna)Activa y desactiva la luz

gravedad.

predeterminada. Esta luz se activa de forma predeterminada en escenas sin luces.


Fog (Niebla)Activa y desactiva la niebla. Anti-Aliasing (Alisacin)Activa y desactiva la

Geometry (Geometra)
Faces (Caras)Activa y desactiva la presentacin

de caras de los objetos de la escena.


Edges (Aristas)Muestra las aristas de los objetos

alisacin, pero slo si lo admite la tarjeta de grficos.


Textures (Texturas)Conmuta entre los colores

de la escena.
Sim Edges (Aristas sim)Muestra las geometras que

predeterminados y texturas de 3ds max.

estn siendo simuladas. En reactor, pueden presentarse las geometras complejas mientras la fsica simula una geometra ms simple.

Advanced Display Features (Caractersticas avanzadas de presentacin)

Men Max
Update Max (Actualizar Max)Traduce

las posiciones y estados internos de los objetos de la ventana de simulacin de vuelta a 3ds max.

3ds max se vincula a un cuerpo rgido en la simulacin, entonces la luz sigue vinculada durante la simulacin. Se mueve y rota con el cuerpo rgido.

Use Max Parameters (Usar parmetros de Max)

Restablece el paso de tiempo y los subpasos en los valores determinados por los parmetros de la persiana animacin (usada al crear la ventana de presentacin preliminar).

Advanced Display Features (Caractersticas avanzadas de presentacin)


Toda la informacin contenida en este mensaje sirve slo para la caracterstica Preview In Window (Presentacin preliminar en ventana). No afecta a las animaciones de 3ds max, porque 3ds max ya tiene toda la informacin y naturalmente la utiliza. En la figura 1.4.1 se muestran las caractersticas avanzadas de la persiana Display. Camera (Cmara) El plug-in permite elegir una cmara en la escena como cmara de presentacin, que reactor utiliza cuando empieza la presentacin preliminar. Lights (Luces) Puede seleccionar hasta 6 luces para aadirlas a la simulacin. Si no selecciona ninguna, se utiliza una linterna predeterminada. Las propiedades de luz necesarias para la simulacin en tiempo real se utilizan y exportan. Esto incluye propiedades como posicin, orientacin, color, atenuacin, etc. Si una luz de
Figura 1.4.1

Sombras La ventana de presentacin preliminar muestra sombras en tiempo real. Tambin se exporta la asociacin con estas sombras. Aunque las sombras aportan mucho realismo a las escenas, resultan caras y tienen algunas limitaciones. En reactor, slo pueden proyectarse sombras en un plano, y esto slo pueden hacerlo las luces de la simulacin. La iluminacin predeterminada no proyecta sombras. Puede usar estos pasos para crear sombras:
1. Seleccione las luces con las que desea proyectar

sombras, abra las opciones de su rama de modificadores y seleccione las casillas Casts shadows (Proyectar sombras).

Captulo 1: Bienvenido

2. Designe Cast Shadows on Plane (Proyectar

sombras en plano) en la persiana Display.


3. Presione el botn Pick (Designar) y seleccione

el plano en el que desea proyectar sombras. Puede usar un objeto de plano o cualquier otro objeto. El plano usado es el definido por las coordenadas locales del objeto (situadas en el pivote y con la normal en direccin a Z). Si proyecta sombras en otro objeto de la simulacin, asegrese de que el plano en el que proyecta sombras est ligeramente por encima del suelo, de modo que las sombras aparezcan sobre el suelo y no cubiertas por l.
4. Desactive la proyeccin de sombras de los

objetos que no proyectan sombras deseleccionando sus casillas Casts shadows. Esta casilla se encuentra en la seccin Propiedades de todos los objetos de 3ds max. Texture Quality (Calidad de textura) Puede elegir la calidad de los mapas de textura. Un nmero mayor de pxeles puede mejorar el aspecto de la escena, a costa de la velocidad de renderizacin y del tamao de los archivos exportados. Normalmente un valor de 128 o 256 es suficiente. Mouse spring (Muelle de ratn) Puede usar el ratn en la ventana de presentacin preliminar para interactuar con la escena. Presione el botn derecho sobre un cuerpo rgido par aplicar un muelle entre el puntero del ratn y el cuerpo seleccionado. Puede interactuar con los objetos movindolos, tirndolos, etc. Puede establecer la fuerza, longitud de reposo y amortiguacin del muelle en la persiana Display del plug-in. Puede aumentar su fuerza si le resulta difcil mover los objetos, o reducirla si los objetos se mueven demasiado rpido. Para una explicacin de los parmetros, consulte la seccin sobre muelles y dashpots.

Cuerpos rgidos
Los componentes bsicos de las escenas suelen ser cuerpos rgidos. Los cuerpos rgidos son literalmente objetos cuya forma no cambia, y se utilizan normalmente para presentar una amplia variedad de componentes de escena. Un cuerpo rgido puede ser cualquier cosa: una taza, una mesa o una pea. Los cuerpos rgidos tambin se utilizan normalmente como puntos de partida para otros tipos de objetos. Por ejemplo, los cuerpos flexibles (un tipo de objeto deformable) se crean a partir de un cuerpo rgido. reactor administra los cuerpos utilizando colecciones de entidades. Coleccin de entidades es un trmino especial que describe los componentes principales de una simulacin. Una coleccin de cuerpos rgidos es un ejemplo de coleccin de entidades, y los cuerpos rgidos forman parte de las colecciones de cuerpos rgidos. Las colecciones son necesarias para resolver y simular el movimiento y la interaccin con objetos.

Tambin hay muchas propiedades fsicas que pueden asignarse a los cuerpos rgidos. Estas propiedades describen el comportamiento del cuerpo en una escena. Ellas determinan la masa, friccin, elasticidad y otras propiedades del cuerpo.

Contenido del tutorial


En este tutorial se presenta el plug-in reactor a usuarios nuevos. Se describe el uso de reactor para asignar propiedades fsicas a objetos en una escena sencilla tratndolos como cuerpos rgidos. Tambin se explica cmo ver la escena e interactuar con ella en la ventana de presentacin de reactor. Cuando termine este tutorial, sabr: Crear una coleccin de cuerpos rgidos Aadir objetos a una coleccin de cuerpos rgidos Aadir una cmara a una escena: Asignar propiedades fsicas a objetos de una escena. Simular una escena.

Captulo 2: Cuerpos rgidos

En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialOneStart.max y TutorialOneEnd.max.

5. Haga clic en cualquiera de los paneles de vista

para colocar en la escena el smbolo de coleccin de cuerpos rgidos.

Creacin de una simulacin de cuerpos rgidos


Cuando se crea una escena sencilla, deben aadirse los objetos que se desea modelar en reactor a una coleccin de cuerpos rgidos. La creacin de una coleccin de cuerpos rgidos suele ser el primer paso al usar reactor. Una coleccin de cuerpos rgidos es un objeto usado para mantener un conjunto de cuerpos rgidos. reactor slo puede simular fsicamente cuerpos rgidos si son miembros de una coleccin de cuerpos rgidos.
Para crear una simulacin sencilla de cuerpos rgidos:
Figura 2.2.1

Puede mover el smbolo por la escena, ya que su posicin no afecta a reactor. Es mejor mantener el smbolo de coleccin separado de los objetos para no recargar la escena. Puede aceptar el nombre predeterminado para la coleccin de cuerpos rgidos o asignarle un nombre nuevo. Es posible aadir objetos nuevos a una coleccin de cuerpos rgidos al crearla. Tambin pueden aadirse objetos despus de crearla.

1. Cree una escena con un par de objetos sencillos.

Por ejemplo, cree una caja con una caja y una esfera sobre ella (figura 2.2.1). Si no quiere crear la escena, puede cargar TutorialOneStart.max
2. Seleccione el icono Ayudantes en el panel de

comandos Crear.
3. Elija reactor entre las opciones del men

desplegable Ayudantes.
4. Presione el botn RBCollection (ColeccinCR)

Adicin de cuerpos a una coleccin de cuerpos rgidos


Necesita aadir sus objetos a una coleccin de cuerpos rgidos. Puede hacerlo de la forma siguiente:
1. Seleccione la coleccin. 2. Haga clic en el la pestaa Modificar de 3ds max

en la persiana Object Type (Tipo de objeto).

y ample la persiana RBCollection Properties (Propiedades de ColeccinCR), (figura 2.2.2).


3. Presione el botn Add (Aadir). 4. Utilice el cuadro de dilogo Select Rigid

Bodies (Seleccionar cuerpos rgidos) que aparece para designar los objetos que desee aadir a la coleccin de cuerpos rgidos.

Creacin de una simulacin de cuerpos rgidos

Tambin puede hacer clic en el botn Pick y elegir objetos individuales en los paneles de presentacin. Ahora tiene una coleccin de cuerpos rgidos que puede simular.

Tambin puede aadir luces a la simulacin. En una escena pueden emplearse hasta seis luces. Despus puede aadirlas a la simulacin con la seccin Lights (Luces) de la persiana Display. No es necesario hacerlo ya que reactor aade automticamente su propia luz en la ventana de presentacin preliminar. Esta luz slo es visible en la ventana de presentacin preliminar, y slo se aade si no se han especificado otras luces de 3ds max para la simulacin. reactor usa una cmara predeterminada para mostrar una escena en la ventana de presentacin de reactor, as que esto es innecesario y puede pasar por alto esta seccin si quiere usar la cmara predeterminada.

Figura 2.2.2

Asignacin de propiedades fsicas


Cuando tiene varios cuerpos rgidos en una coleccin de cuerpos rgidos, puede asignar propiedades fsicas a todos los cuerpos. De hecho, puede asignar propiedades en cualquier momento antes de la simulacin. Entre estas propiedades fsicas hay caractersticas como las de masa, elasticidad y friccin. Todas las propiedades tienen un valor predeterminado.

Inclusin de una cmara


El paso siguiente para la simulacin es aadir una cmara a la escena. Esto significa que puede especificar la vista inicial para la presentacin, lo que suprime la necesidad de recolocar el punto de vista cada vez que se ejecuta la simulacin. En la documentacin de 3ds max se describen las cmaras con ms detalles.
1. Haga clic en la ficha Luces y cmaras. 2. Presione el icono de Cmara con objetivo. 3. Haga clic en uno de los paneles de vista para

situar la cmara en la escena. Puede ajustar la cmara para que se ubique de forma correcta. Si ha decidido utilizar una cmara propia para la simulacin, debe expandir la persiana Display (Presentacin) de reactor y asociar su cmara con la presentacin. Haga clic en el botn None (Ninguno) que hay junto a Camera (Cmara) y despus seleccione su cmara. De este modo se asocia la cmara con la presentacin.

Figura 2.2.3

1. Haga clic en el panel de comandos Utilidades. 2. Ample la persiana Properties (Propiedades)

de reactor.

10

Captulo 2: Cuerpos rgidos

3. Seleccione uno de los cuerpos rgidos en

cualquiera de los paneles de vista.


4. Asigne propiedades fsicas apropiadas al

cuerpo rgido introduciendo valores en los campos Mass, Elasticity y Friction (Masa, Elasticidad y Friccin) (Figura 2.2.3). Para este tutorial, asigne una masa de 5 kg a la caja pequea y a la esfera, una masa de 0 kg a la caja grande y deje los valores predeterminados de elasticidad y friccin. Cuando un objeto tiene una masa de 0 kg, reactor lo considera fijo, por lo que no puede moverse. Otros objetos no fijos pueden colisionar con l, pero ste no cambia de posicin. En este ejemplo, la caja pequea y la esfera caen sobre la caja grande, pero sta no se mueve. 0 kg es la masa predeterminada de cuerpos rgidos.

Para ejecutar la simulacin, presione el botn Preview In Window y reactor muestra la escena. Como puede ver (figura 2.2.4), los objetos de TutorialOneEnd.max tienen texturas. Puede aplicar texturas usando el Editor de materiales en 3ds max. Para ejecutar la simulacin, presione P. Puede moverse por la vista usando el botn izquierdo de ratn e interactuar con objetos con el botn derecho del ratn. Haga clic y arrastre con el botn derecho del ratn para manipular objetos del mundo fsico asociando un muelle entre el puntero y el objeto seleccionado.

Propiedades de cuerpo rgido


Esta seccin trata con varias propiedades y funciones avanzadas relacionadas con cuerpos rgidos.

Get from / Set to Material (Obtener de / Definir en material)


Esta opcin est en la persiana Properties del plugin reactor. 3ds max ofrece propiedades de friccin y elasticidad a los materiales. Puede asignar un material a un objeto. Si quiere que un objeto use las propiedades asociadas con el material, presione Get From Material. Si quiere que todos los objetos con un material dado tengan un determinado coeficiente, puede alterar las propiedades de un objeto con ese material y hacer clic en Set to Material. Los materiales no afectan a la masa. El valor de friccin compartido con 3ds max es el valor de friccin por deslizamiento. reactor pasa por alto el valor de friccin esttica, porque slo precisa el coeficiente de friccin para la simulacin.

Figura 2.2.4

Simulacin de una escena


Una vez creada la escena, puede ver el resultado en tiempo real con la presentacin de reactor. Esta presentacin permite ver la presentacin preliminar de la escena e interactuar con ella.

Propiedades de coleccin de cuerpo rgido

11

Convex / Concave (Convexo / Cncavo)


Esto afecta al modo en que los cuerpos colisionan con otros cuerpos, y a la precisin de la simulacin. Se trata en el captulo siguiente.

Para utilizar un proxy de presentacin, designe el objeto para el que desea usar el proxy, marque la opcin Proxy en la persiana Properties, haga clic en el botn None y seleccione el objeto que desea usar como proxy de presentacin. Si selecciona Display Children (Mostrar descendientes), se muestran todos los descendientes de este objeto, vinculados con la jerarqua interna de 3ds max. Quiz deba desactivar esta casilla si los descendientes se presentan ms de una vez.

Proxies de presentacin
Puede optimizar la velocidad de presentacin de imagen en la ventana de presentacin preliminar de reactor mediante proxies de presentacin. Un proxy de presentacin es un objeto que se utiliza como sustituto para la presentacin de otro. Los proxies de presentacin son rara vez tiles para la animacin, por lo que esta seccin slo afecta al uso en presentacin preliminar en tiempo real de escenas grandes. Con la animacin renderizada, puede dedicar a la fsica y presentacin tanto tiempo como precise, pero el tiempo real requiere un enfoque distinto. Puede usar un proxy de presentacin detallado con fsica sencilla para interacciones complicadas o un proxy de presentacin para objetos repetidos cuya presentacin reduzca la velocidad de simulacin.

Propiedades de coleccin de cuerpo rgido


En el panel Modificar de una coleccin de cuerpos rgidos hay dos persianas: RBCollection Properties y Advanced (Avanzadas). En esta seccin se explican las caractersticas adicionales todava no mencionadas de estas persianas.

Desactivacin de colecciones
Bajo la lista de cuerpos que forman parte de la coleccin hay una casilla llamada Disabled (Desactivada). Si se desactiva una coleccin, no se incluye en la simulacin. Las colecciones creadas se incluyen de forma predeterminada en las simulaciones.

Display
Ahora es posible personalizar el modo en que aparecen todos los iconos de reactor en los visores de 3ds max.

ODE Solvers (Resolutores ODE)


Figura 2.3.1

Por ejemplo, si tiene un tramo de cadena, puede simular cada eslabn como una caja fina hueca, pero usar el proxy de presentacin de un toroide detallado (figura 2.3.1).

Puede elegir el resolutor Ecuacin diferencial ordinaria (ODE) que desea usar en una coleccin determinada. Existen cuatro opciones:

12

Captulo 2: Cuerpos rgidos

Euler El resolutor ODE ms sencillo, muy rpido pero insuficiente para sistemas complicados. Back-Euler Algo ms preciso que Euler, pero con peor funcionamiento en sistemas de muelle. En las escenas interactivas que precisan un muelle de ratn deben emplearse los resolutores Euler o Runge-Kutta. Midpoint Tiene un nivel de precisin similar al de BackEuler, pero resuelve bien los sistemas de muelles. Runge-Kutta Se trata del resolutor ms preciso del sistema, usado con sistemas complicados, muelles y restricciones. Debido a su mayor precisin, requiere ms tiempo de procesador para el clculo de pasos. En general, no suele apreciarse diferencia de velocidad entre este resolutor y los otros, a no ser que se calculen fuerzas complejas (como el viento).

Puede establecer el nivel de energa de desactivacin en el campo Min. Energy (Energa mn). Un valor alto de energa hace que los objetos se desactiven antes, mientras que uno pequeo hace que se desactiven slo si estn casi en reposo absoluto. Las opciones Time (Tiempo) y Samples (Muestras) se relacionan con la medicin de energas de cuerpos. El campo Time determina el periodo durante el que se muestrea la energa acumulada, y la frecuencia en la que se considera la desactivacin de objetos. Por ejemplo, un tiempo de 10 segundos significa que slo se considera la desactivacin de objetos que han acumulado un valor inferior a Min Energy en un periodo de 10 segundos. El campo Samples determina cuntas muestras se toman en este periodo para aproximar la energa. Ms muestras significan una mejor aproximacin a la energa del cuerpo.

Define Collision Pairs (Definir pares de colisin)


Con esta opcin, puede pasar por alto de forma selectiva colisiones entre objetos de la coleccin. Cuando usa esta funcin tiene dos ventanas, una para colisiones activadas y otra para las desactivadas. De forma predeterminada, todas las colisiones estn activadas. Se ofrece una lista de entidades de la coleccin. Si hace clic en los nombres de la lista, se actualiza la lista Enabled (Activada) con lneas para cada objeto emparejado con las otras entidades de la coleccin. Despus puede mover estos pares de colisin a la lista Disabled. Puede usar esta caracterstica para asegurarse de que los objetos enlazados o superpuestos no crean interpenetraciones que ralenticen el sistema.

Add Deactivator (Aadir desactivador)


Un desactivador es un elemento de una coleccin que desactiva los objetos cuando su energa es inferior a un nivel dado. Los objetos desactivados pierden su estado de elementos totalmente dinmicos del sistema, permitiendo que el sistema se dedique a los objetos ms activos. Esta opcin est activa de forma predeterminada.

Objetos convexos y cncavos


reactor clasifica los objetos en dos tipos: convexos y cncavos. Un objeto se considera convexo si es posible trazar una lnea recta entre cualquier par de puntos interiores sin salirse del cuerpo. Los cilindros, esferas y cajas son cuerpos convexos. Si un objeto no es convexo, entonces es cncavo. Las teteras y la mayora de paisajes, terrenos y habitaciones son cncavos. Normalmente, los objetos cncavos se simulan ms rpido que los cncavos. Por eso, le conviene usar objetos convexos siempre que pueda en las simulaciones. reactor permite tratar objetos cncavos como si fueran convexos para aprovechar su menor tiempo de proceso. Sin embargo, tambin hay casos en los que no es adecuado tratar objetos convexos como cncavos. En reactor, los objetos convexos tienen un "interior" que determina si los objetos estn contenidos en otro, pero los objetos cncavos no lo tienen, por lo que un objeto situado totalmente dentro de un objeto cncavo no se considerara intepenetrante con respecto a ese objeto. No es posible colocar objetos dentro de un objeto convexo. En lugar de ello, ha de definir un objeto

como cncavo para situar otros objetos dentro de l. Por ejemplo, si anima una habitacin, puede dibujarla como una caja y tratarla como cncava, para as situar objetos dentro de ella.

Figura 3.1.1.

14

Captulo 3: Objetos convexos y cncavos

Contenido del tutorial


En este tutorial se explica la diferencia entre las geometras de simulacin convexas y cncavas en reactor. Adems, se explica cmo agrupar objetos para crear un cuerpo rgido compuesto. Cuando termine este tutorial, sabr: Realizar una prueba de convexidad. Tratar un objeto como convexo. Tratar un objeto como cncavo. Construir un cuerpo rgido compuesto.

Tratamiento de un objeto como convexo


Para los fines de simulacin, reactor ha de definir la geometra de simulacin de un cuerpo, que puede ser diferente de su geometra de presentacin. El factor ms importante que determina esto es si el objeto debe considerarse cncavo o convexo. Normalmente, los objetos convexos se simulan ms rpido que los cncavos, por lo que conviene tratar a stos como convexos siempre que sea posible. reactor permite tratar un objeto como convexo de cinco formas distintas. Puede: Rodear el objeto con una caja invisible (figura 3.4.1) Rodear el objeto con una esfera invisible (3.4.2) Rodear el objeto con un envoltorio invisible (3.4.3)

Realizar una prueba de convexidad


Si no est claro si un objeto es convexo o cncavo, puede realizar una prueba de convexidad. reactor permite seleccionar un objeto y comprobar su geometra.
Para realizar una prueba de convexidad.

1. Abra el panel de comandos Utilidades. 2. Ample la persiana Properties de la utilidad

reactor.
3. Seleccione uno de los cuerpos rgidos en

cualquiera de los paneles de vista.


4. Presione el botn Test Convexity (Probar

convexidad).
5. Aparece un cuadro de dilogo con el resultado

de la prueba.
Figura 3.4.1

Tratamiento de un objeto como convexo

15

Sustituya la geometra del objeto con la de un objeto convexo distinto (figura 3.4.4). Es til reutilizar geometras mediante la sustitucin porque reduce mucho el tamao de archivo. Esto resulta especialmente til si repite la misma geometra varias veces en una escena. Sustituya la geometra del objeto con una versin optimizada de la geometra del objeto. La optimizacin es el proceso de reduccin de la complejidad (el nmero de vrtices) de una geometra simulada. La presentacin no vara. En las figuras anteriores se muestra en los cuatro casos la geometra de simulacin real, usando la opcin de presentacin Sim Edges (Aristas sim) del men Geometry (Geometra) de la ventana de presentacin preliminar. En este tutorial va a crear una escena con una coleccin de cuerpos rgidos con varios objetos sencillos cncavos y convexos. Siga estos pasos:
1. Ample la persiana Properties de la utilidad

Figura 3.4.2

reactor.
2. Seleccione un objeto en cualquiera de los

paneles de vista.
3. En la persiana Properties, seleccione una de las

Figura 3.4.3

opciones de la seccin Convex (figura 3.4.5). A continuacin se detallan las cinco posibilidades.

Figura 3.4.5

Figura 3.4.4

16

Captulo 3: Objetos convexos y cncavos

Caja delimitadora
Seleccione la opcin Use Bounding Box (Usa caja delimitadora). sta utiliza la caja menor posible alineada el eje universal.

Tratamiento de un objeto como cncavo


Muchos de los objetos que se crean son cncavos y no pueden modelarse con precisin durante la simulacin sustituyndose por geometras de simulacin convexa. Adems, los objetos cncavos pueden contener otros objetos, y los convexos no. De este modo, si usa una caja para representar una habitacin, debe tratar la caja como cncava para situar objetos dentro de ella. Adems, los planos de 3ds max deben tratarse como cncavos. Puede tratar un objeto como cncavo usando su malla original. Esta malla puede ser cncava. Adems, puede sustituir la geometra de un objeto por la de un objeto cncavo o convexo cercano, que se considera hueco. Como sucede con los objetos cncavos, tambin puede sustituir un objeto con una versin optimizada del objeto generada por el sistema.

Esfera delimitadora
Seleccione la opcin Use Bounding Sphere (Usa esfera delimitadora). sta utiliza la esfera delimitadora menor posible.

Casco convexo
Seleccione la opcin Use Bounding Sphere (Usa casco convexo mallado). Esta simulacin utiliza el casco convexo de este objeto, que es diferente del original si el objeto es cncavo.

Sustitucin de la geometra
Seleccione la opcin Use Proxy Convex Hull (Usa casco convexo Proxy) y designe cualquier objeto en uno de los paneles de vista. De este modo se sustituye la geometra y el nombre del objeto proxy aparece en el botn que hay bajo la opcin Use Proxy Convex Hull.

Uso de la malla del objeto original


Para crear una caja y varios objetos ms pequeos dentro de ella, siga estos pasos:
1. Cree una escena con una coleccin de cuerpos

Sustitucin para optimizacin


Seleccione la opcin Use Optimized Convex Hull (Usa casco convexo optimizar) y utilice la barra Min/Max para definir el nivel adecuado de optimizacin. reactor optimiza entonces el objeto antes de cualquier simulacin. Ejecute la simulacin y seleccione Sim Edges en el men Geometry para ver las geometras que se simulan fsicamente para los objetos. De este modo siempre puede ver con qu precisin se ajusta la geometra de simulacin a la geometra de presentacin, y por tanto la posibilidad de apreciar disparidades visuales entre simulacin y presentacin en la ventana de presentacin preliminar y al crear una animacin de 3ds max. Una geometra de simulacin ms precisa ofrece una simulacin ms exacta, pero ms lenta.

rgidos que contenga una caja llamada Box01 y varios objetos de menor tamao que quepan en la caja.
2. Abra el panel de comandos Utilidades. 3. Expanda la persiana Properties (figura 3.5.1). 4. Seleccione el objeto llamado Box01 en

cualquiera de los paneles de vista.

Construccin de un cuerpo rgido compuesto

17

5. Seleccione la opcin Use Mesh (Usar malla) en

la persiana Concave properties (Propiedades de cncavo).

Puede tratar cualquier geometra convexa como cncava. Esto hace que la simulacin sea ms lenta, pero as los objetos pueden contener otros. Los ms propicios al uso de objetos cncavos son los cuerpos slidos que precisan una simulacin ms precisa, o los cuerpos que no tienen volumen, como los planos y las mallas no cerradas.

Figura 3.5.1

Ahora, reactor trata el objeto como cncavo.

Construccin de un cuerpo rgido compuesto


reactor puede unir varias mallas para crear un cuerpo ms complejo. Los cuerpos rgidos de reactor suelen estar formados por una o ms primitivas. Las primitivas son los elementos bsicos que forman los objetos. Las primitivas pueden ser planas, esfricas o geomtricas. Los cuerpos rgidos compuestos son cuerpos rgidos formados por ms de una primitiva. Los cuerpos rgidos estn dotados de elasticidad y friccin. Cada primitiva tiene su masa, cuya suma determina la masa del cuerpo compuesto. Los cuerpos rgidos compuestos resultan tiles cuando la densidad del objeto que se quiere simular no es uniforme o si el objeto es cncavo pero puede descomponerse fcilmente en varios segmentos convexos. Los objetos compuestos son un punto medio entre cuerpos convexos y cncavos, ya que se simulan ms rpido que los cncavos y permiten hacer cosas como situar objetos dentro de ellos. Sin embargo, son menos precisos en la simulacin que los objetos verdaderamente cncavos. Los cuerpos rgidos compuestos se construyen con la funcin Agrupar de 3ds max. Para ms informacin sobre grupos, consulte la documentacin de 3ds max.

Sustitucin de la geometra de un objeto con una malla proxy


Con la misma caja y objetos menores del ejemplo anterior, puede usar una malla proxy para tratar la caja como convexa, del modo siguiente:
1. Abra el panel de comandos Utilidades. 2. Seleccione la opcin Use Proxy Mesh (Usar

malla proxy).
3. Seleccione uno de los objetos cncavos de la

escena. Se sustituye la geometra y el nombre del objeto cncavo aparece en el botn que hay bajo la opcin Use Proxy Mesh.

Sustitucin de la geometra de un objeto con una malla optimizada


Puede usar una malla optimizada para tratar la caja como convexa, del modo siguiente:
1. Abra el panel de comandos Utilidades. 2. Seleccione la opcin Use Optimized Mesh

(Usar malla optimizada).


3. Utilice la barra Min/Max para definir el nivel

adecuado de optimizacin. Ahora, reactor optimiza el objeto antes de cada simulacin.

18

Captulo 3: Objetos convexos y cncavos

Lleve a cabo estos pasos para construir un cuerpo rgido compuesto e incluirlo en la simulacin:
1. Seleccione los objetos que desea agrupar en

cualquiera de los paneles de vista.


2. Elija Agrupar en el men Grupo de la pantalla

de la aplicacin principal. Ahora, los objetos se tratan como un cuerpo rgido compuesto nico. Se mueven como si estuvieran pegados y no se producen colisiones entre primitivas del mismo cuerpo. Cuando se ha creado un grupo, es necesario aadirlo a la coleccin de cuerpos rgidos. Dicha coleccin no puede contener las primitivas y su grupo. Si quiere usar proxies de presentacin con grupos, slo puede aplicar uno a todo el grupo, no a elementos de ste. Para aplicar un proxy de presentacin a un grupo es necesario abrir el grupo y seleccionar su nombre en la lista Seleccionar por Nombre. Para seleccionar slo el nombre del grupo, elija Subrbol en la ventana de lista de seleccin y despus aplique un proxy de presentacin en la forma habitual con reactor. Slo es posible aplicar un proxy de presentacin si el grupo est abierto. No se puede usar un cuerpo compuesto como proxy de geometra de simulacin.

Figura 3.6.1

Ms informacin sobre los proxies


Cuando se animan objetos complejos, puede decidirse que un objeto tenga el mismo comportamiento que si se simulara con una geometra ms sencilla. Por ejemplo, puede tener un anillo mostrado como un toroide muy teselado que mejora su presentacin, pero podra simularse con un toroide menos teselado para acelerar la simulacin.

Ms informacin sobre los proxies

19

Proxies de geometra
Los proxies de geometra permiten usar para la simulacin una geometra diferente de la que se va a animar y presentar en 3ds max. Seleccione la opcin Use Proxy Convex Hull si quiere usar el casco convexo de otro objeto, o Use Proxy Mesh si quiere usar la malla de otro objeto cncavo. Hay varios casos en los que se desea usar geometras proxy: Aunque posiblemente desee animar y presentar un toroide muy teselado, quiz desee que la simulacin y la presentacin preliminar sean rpidas. Si sustituye la geometra de simulacin del toroide por una ms sencilla, puede hacerlo. (Figura 3.7.1)

Figura 3.7.2

Tambin podra usar la misma geometra en muchos lugares. El uso de una misma geometra proxy para varios objetos crea slo un ejemplar de la geometra, que todos los objetos comparten durante su simulacin. Esto ayuda a reducir la cantidad de informacin exportada, la carga y creacin de la escena y la cantidad de memoria usada. Las primitivas usan geometras de proxy, lo que significa que puede definir geometras de proxy diferentes para las primitivas situadas dentro de un cuerpo rgido compuesto, pero no para el cuerpo compuesto.

Geometras optimizadas
reactor puede crear automticamente geometras proxy. De hecho, si elige Use Bounding Box o Use Bounding Sphere, lo que realmente hace es crear una geometra proxy sencilla. Las opciones Use Optimized Convex Hull y Use Optimized Mesh crean automticamente una versin optimizada de la geometra y la usan como proxy. Internamente, aplican el modificador Optimizar a la malla. No obstante, recomendamos que cree geometras optimizadas propias si desea tener control total sobre el resultado.

Figura 3.7.1

20

Captulo 3: Objetos convexos y cncavos

Proxy de presentacin
Los proxies de presentacin sustituyen a los cuerpos rgidos reales cuando se presentan en tiempo de ejecucin. Resultan tiles principalmente para desarrolladores de aplicaciones en tiempo real que desean tener una presentacin preliminar y exportar informacin de presentacin. Si selecciona un proxy de presentacin para un cuerpo rgido, la presentacin del cuerpo rgido se sustituye por la del nodo elegido y sus descendientes durante la simulacin en tiempo real de reactor. Esto significa que puede simular un cuerpo sencillo y presentar un objeto muy complejo. Esto es similar a lo que puede hacerse con proxies de geometra, pero hay diferencias importantes:
1. Mientras los proxies de geometra se aplican a

Otras alternativas para animadores


Aunque los proxies de geometra y de presentacin son muy tiles y potentes, hay otras alternativas para animar un cuerpo dado usando otro en una simulacin. Puede crear el objeto simple y complejo, definir las propiedades del objeto sencillo y aadirlo a la simulacin. Realice la simulacin y, una vez terminada, puede emparejar las posiciones de los objetos sencillos y complejos, y despus vincular el objeto complejo al simple. El objeto complejo sigue la misma animacin que el sencillo. En este caso, no debe incluir el objeto sencillo al renderizar.

Consejos tiles
Si activa la opcin Geometry / Sim Edges de la ventana de presentacin preliminar, ver las geometras que se utilizan en la simulacin.

las primitivas, los proxies de presentacin se aplican a cuerpos rgidos.


2. Cuando se crea una animacin en 3ds max, los

cuerpos animados son los agregados a la simulacin. Los proxies de presentacin no tienen ningn papel para crear animaciones de 3ds max porque se usan slo para presentaciones en tiempo real. Otra razn importante (para desarrolladores en tiempo real) para usar proxies de presentacin es similar a lo explicado en el punto anterior sobre proxies de geometra. Si muestra el mismo objeto en varios lugares, debe usar proxies de presentacin que sealan al mismo objeto de modo que el objeto de presentacin slo se crea/ exporta una vez con el consiguiente ahorro de tiempo y memoria.

Cuerpos flexibles
Un cuerpo flexible es aqul cuya geometra se deforma debido a interacciones fsicas. Puede curvarse, flexionarse, estirarse y realizar otros movimientos similares. Los cuerpos flexibles se utilizan para muchos fines, pero pueden ser ms exigentes y ralentizar la simulacin en tiempo real. Como los cuerpos rgidos, los cuerpos flexibles funcionan mediante colecciones. stas se denominan colecciones de cuerpos flexibles. Las colecciones de cuerpos flexibles realizan las mismas funciones que las colecciones de cuerpos rgidos. Los cuerpos flexibles tienen mayor nmero de propiedades fsicas para describir su movimiento que los cuerpos rgidos. Entre estas propiedades hay caractersticas como la amortiguacin, suavizado y rigidez. Estas propiedades se aplican a los cuerpos flexibles adems de las propiedades rgidas masa y friccin. La mayora de los cuerpos flexibles creados con 3ds max usan un cuerpo rgido como punto de partida inicial. Normalmente se crea un cuerpo flexible formando primero la forma rgida del cuerpo y convirtindola despus en cuerpo flexible. Hay dos formas de definir un cuerpo flexible en reactor , segn se use o no el modificador FFD.

Como los captulos anteriores, la parte principal de ste son dos tutoriales con los que se gua por los dos procesos posibles de creacin de cuerpos flexibles.

Acerca de estos tutoriales


Este captulo contiene dos tutoriales. El primer tutorial presenta los cuerpos flexibles de reactor a usuarios nuevos. Adems, se describe cmo usar reactor para crear una escena sencilla con cuerpos flexibles. Tambin se describen los efectos generados al variar los parmetros de cuerpos flexibles. Cuando termine este tutorial, sabr: Crear una coleccin de cuerpos flexibles Aadir objetos a una coleccin de cuerpos flexibles Asignar propiedades fsicas a objetos de una escena.

22

Captulo 4: Cuerpos flexibles

En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialTwoStart.max y TutorialTwoEnd.max.

3. Aada una coleccin de cuerpos rgidos a la

escena.
4. Aada los planos a la coleccin de cuerpos

rgidos.
5. Designe la estrella, ample la seccin Modificar

Creacin de una simulacin de cuerpos flexibles


Al crear una simulacin con cuerpos flexibles, se usan tcnicas simulares a la simulacin de cuerpos rgidos. Se crean los objetos en 3ds max. Para objetos flexibles, se aplica el modificador Soft (Flexibles) y se incluyen en una coleccin de cuerpos flexibles. Esta coleccin de cuerpos flexibles se aade a la simulacin del mismo modo que con colecciones de cuerpos rgidos. Tenga cuidado de no incluir objetos en colecciones de cuerpos rgidos y flexibles. Cuando se aplica un modificador a un objeto rgido para hacerlo flexible, su equivalente rgido permanece en la escena.

(Modificadores) y seleccione reactor SoftBody (CuerpoFlexible) en la lista desplegable.

Figura 4.2.1

Creacin de cuerpos flexibles sencillos


Puede seguir estos pasos para crear el cuerpo flexible del tutorial:
1. Cree una escena como se indica en la figura

Propiedades de cuerpo flexible


Puede establecer atributos fsicos de objetos en la persiana Properties del modificador SoftBody. Hay cuatro opciones principales para las propiedades fsicas de un cuerpo flexible. Mass (Masa) Esta masa se aplica al cuerpo flexible. Aunque haya aplicado una masa en la seccin Properties de la utilidad reactor, el cuerpo flexible no tendr la masa correcta a no ser que se aplique aqu.

4.2.1. Para crear la estrella, elija esa forma en el men de formas y aplique el modificador de extrusin. Tambin debe crear tres planos estndar rotados aproximadamente 30, 0 y -30 grados. Si no quiere crear la escena, puede cargar TutorialTwoStart.max
2. Seleccione una malla cncava para cada uno de

los planos en la persiana Properties de la utilidad reactor. Los planos estndar de 3ds max precisan geometra de simulacin cncava. Cambie su friccin a 0,9 para que la estrella ruede en lugar de deslizarse.

Cuerpos flexibles ms avanzados

23

Stiffness (Rigidez) Al cambiar este valor, cambia el valor de rigidez del cuerpo. Los valores oscilan entre 0 y 1000, donde 1000 es el de mayor rigidez. El valor predeterminado es 0,2. Si se define un valor superior a 1, reactor aplica el valor predeterminado. Damping (Amortiguacin) Se trata del coeficiente de amortiguacin de la oscilacin de compresin y expansin del cuerpo, con valores entre 0 y 1, donde 1 proporciona la mayor amortiguacin. Friction (Friccin) Se trata del coeficiente de friccin de la superficie del cuerpo, similar al coeficiente anlogo en cuerpos rgidos.

Cuando se designa un cuerpo flexible con el ratn, se flexiona. Esto se debe a que el ratn conecta un muelle entre el vrtice ms cercano y el puntero del ratn. La longitud del muelle puede ajustarse.

Creacin de colecciones de cuerpos flexibles y adicin de cuerpos


Debe aadir el cuerpo flexible a una coleccin de cuerpos flexibles. El botn de las colecciones de cuerpos flexibles se encuentra en el panel Crear, dentro de la opcin Ayudantes. Se trata de una opcin de reactor. Siga estos pasos para asignar el cuerpo flexible del tutorial a una coleccin:
1. Elija el men desplegable reactor y presione el

botn SBCollection (Coleccin CF).


2. Seleccione el smbolo de coleccin. 3. Abra la ficha Modificar y haga clic en Add
Figura 4.2.2

(Aadir) o Pick (Designar) para seleccionar los cuerpos flexibles en la lista disponible.
4. Presione el botn Preview In Window

Cuerpos flexibles ms avanzados


Los cuerpos flexibles requieren una simulacin precisa. Como resultado de ello, puede que deba definir un nivel de precisin de la simulacin muy superior al necesario para cuerpos rgidos. La mejor forma de personalizarla es con el parmetro Scale Timestep (Escalar paso de tiempo) de la persiana Advanced (Avanzada) de la seleccin que contiene los cuerpos flexibles. Normalmente, un nmero inferior de vrtices en un cuerpo flexible acelera el clculo fsico.

(Presentacin preliminar en ventana) y reactor muestra la escena.

24

Captulo 4: Cuerpos flexibles

Es posible tener cuerpos flexibles suavizados. Algunas tcnicas, como la aplicacin del modificador SuavizaMalla de 3ds max tras el modificador Soft Body son en ocasiones preferibles para aumentar simplemente el nmero de vrtices de un cuerpo. Para la animacin, la precisin puede mejorarse aumentando el nmero de subpasos por keyframe. Tambin puede mejorar las simulaciones de presentacin en la ventana de presentacin preliminar si reduce el tamao del paso de tiempo o aumenta el nmero de subpasos por paso de tiempo.

Desactivacin de colecciones
Puede eliminar temporalmente una coleccin de cuerpos flexibles completa de una simulacin si activa esta casilla.

Opciones avanzadas de coleccin de objetos flexibles


El panel Modificar de una coleccin de cuerpos flexibles contiene una persiana Advanced. A diferencia de los cuerpos rgidos, no es posible cambiar el umbral de energa de cuerpos flexibles, porque stos no pueden desactivarse. Tampoco es posible pasar por alto las colisiones entre cuerpos flexibles en una coleccin de cuerpos flexibles. El parmetro Scale Timestep cambia el paso de integracin interno de la coleccin flexible. Si el cuerpo se comporta de modo inestable o irreal, establezca este valor en menos de 1 para forzar que la coleccin adopte un paso de tiempo proporcionalmente menor. Puede obtener una simulacin ms rpida si aumenta este parmetro. Entonces, el integrador acta a velocidad superior al paso de tiempo predeterminado. No obstante, esto produce un riesgo de inestabilidad.

Fijacin de objetos flexibles


Para fijar ciertos puntos de objetos al espacio universal, es preciso aplicar el modificador Soft Body a una parte de los vrtices del objeto, en lugar de al cuerpo entero. Puede utilizar el modificador Seleccionar malla de 3ds max para seleccionar vrtices antes de aplicar el modificador Soft Body. Seleccione los puntos del objeto que desea fijar, invierta la seleccin y, al aplicar el modificador de cuerpo flexible, active la opcin Non-Selected are Fixed (No seleccionados=fijos).

Suavizado
Dentro del modificador Soft Body hay una opcin llamada Smooth Level (Nivel de suavizado) que permite aplicar subdivisiones interactivas a la malla, que resultan una herramienta til para dar un aspecto ms suave al cuerpo flexible. Hay tres niveles: de 0 a 2 iteraciones de subdivisin. Esta subdivisin slo se aplica en simulacin en tiempo real. No tiene utilidad en la animacin. Conviene aplicar este modificador antes de aplicar el modificador Soft Body de reactor.

Deformacin de forma libre


Una de las mejores herramientas que pueden usarse en reactor con cuerpos flexibles es la herramienta FFD de deformacin de forma libre. La herramienta FFD permite encajar un cuerpo flexible en una malla sencilla y usar la malla para calcular la fsica del cuerpo. Con esta herramienta, la deformacin de cuerpos flexibles es ms fcil y consume menos recursos del sistema. La concesin que se hace con los cuerpos flexibles FFD es que se modelan con menor precisin que los dems cuerpos flexibles.

Deformacin de forma libre

25

Este segundo tutorial cubre los cuerpos flexibles FFD. Cuando termine este tutorial, sabr crear un cuerpo flexible FFD. En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialThreeStart.max y TutorialThreeEnd.max.

Seleccin de malla para FFD


A diferencia de los cuerpos flexibles estndar, no es posible seleccionar directamente en el FFD los vrtices o puntos de control que han de ser flexibles. Dentro de la persiana Properties del modificador hay una caja en la que se representan los lados de la caja FFD como parte de un panel de (de)seleccin de FFD. Si aplica el modificador y activa el botn circular Box Faces (Caras de caja), puede elegir cualquiera de los lados de la caja. Puede decidir si los lados de la caja sern fijos, se pasarn por alto o inflexibles. La orientacin de la caja es x derecha, y fondo, z altura.

Creacin de un cuerpo flexible FFD


Este tutorial muestra cmo crear un cuerpo flexible que usa deformacin de forma libre.
1. Cree una tetera por encima de una malla de

plano. Aada el plano a la coleccin de cuerpos rgidos. Puede cargar la escena directamente de TutorialThreeStart.max
2. Designe la tetera y, en el panel Modificar, elija

FFD (Caja) en la lista desplegable.


3. En los modificadores, elija reactor SoftBody. 4. En la persiana de propiedades del modificador

SoftBody de reactor, haga clic en el botn FFDBased (Basado en FFD). (Figura 4.4.1)
5. En la opcin Ayudantes del panel de

comandos Crear, elija reactor.


6. Seleccione SBCollection y aada una coleccin

de cuerpo flexible a la escena. Ahora puede agregar la tetera a la coleccin de cuerpos flexibles y realizar la presentacin preliminar de la escena. La caja FFD rodea la tetera. La deformacin de esta malla representa la deformacin aplicada a la tetera, de modo que sus parmetros pueden presentarse preliminarmente y adaptarse segn convenga.

Figura 4.4.1

26

Captulo 4: Cuerpos flexibles

Otro mtodo de seleccin es usar el botn Volume. Puede crearse otro volumen que interseca con el volumen del FFD. Despus, se selecciona el botn Volume y se elige el segundo volumen como volumen de deseleccin. Esto hace que el botn None (Ninguno) adquiera el nombre del nuevo volumen, y todos los puntos de la malla FFD coincidentes con el nuevo volumen se deseleccionan. Tambin puede cambiar la configuracin original de FFD. Quiz desee hacerlo para obtener un mejor ajuste entre el FFD y la geometra subyacente. Esto produce una deteccin de colisin ms precisa con la geometra, y una simulacin ms precisa.

Figura 4.5.2 - Tetera deformada

Haga clic en el botn Adaptar a forma que hay bajo las propiedades del FFD para que 3ds max intente fijar los puntos del objeto a la forma de la malla tanto como sea posible. Adems, puede alterar la malla seleccionando el botn Set Volume SubObject (Definir subobjeto volumen) en el modificador, lo que permite mover los puntos del FFD sin afectar a la malla subyacente. Para usar una configuracin de FFD diferente de la caja original, ha de seleccionar el fotograma en que prevalece la configuracin estable. Este nmero de fotograma se introduce despus en el campo Frame (Fotograma) de Stable Configuration (Configuracin estable), que aparece en el modificador Properties de cuerpos flexibles.

Tela
reactor puede modelar y simular fsicamente la tela. Una tela puede parecer un cuerpo flexible, pero hay algunas diferencias importantes. La diferencia principal entre un cuerpo flexible y una tela es que los cuerpos flexibles son tridimensionales y la tela es bidimensional. Una tela est formada por una malla de tringulos con propiedades fsicas. Puede usarla para simular ropa, trampolines, chapas y otros elementos bidimensionales. En teora, podra usar cuerpos flexibles para algunos de estos objetivos, pero la tela es mucho ms prctica porque no es preciso simular un volumen inapreciable. Como sucede con otros tipos de cuerpos, la tela debe pertenecer a una coleccin de entidades para funcionar correctamente. La tela usa colecciones de tela. Las telas tienen propiedades fsicas similares a otros cuerpos. Tambin tienen algunos valores especficos, como el empuje, necesarios para compensar su naturaleza bidimensional.

Contenido del tutorial


Puede crear objetos de tela con el modificador reactor Cloth (Tela reactor). En este tutorial va a crear una mesa, un objeto sobre la mesa y una tela sobre ste. La ropa cae sobre la mesa y el objeto. Al trmino de este tutorial sabr: Crear una tela y una coleccin de tela. Aadir objetos a una coleccin de tela. Asignar propiedades fsicas a telas de una escena. En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialFourStart.max y TutorialFourEnd.max.

28

Captulo 5: Tela

Creacin de una simulacin de tela


Para transformar un objeto de 3ds max en tela, se le aplica un modificador y se usa la malla del objeto para definir una tela bidimensional.

2. Seleccione el nuevo plano y abra el panel

Modificar.
3. Elija reactor Cloth en la lista desplegable de

modificadores.
4. Puede establecer atributos fsicos de objetos en

la persiana Properties del modificador Cloth. Hay varias opciones para las propiedades fsicas de la tela. Mass (Masa) Esta es la masa del objeto en reactor. Stiffness (Rigidez) La rigidez de la tela, con valores entre 0 y 1. Damping (Amortiguacin) Se trata del coeficiente de amortiguacin para la oscilacin de la forma de la tela. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguacin. Friction (Friccin) El coeficiente de friccin de la superficie de la tela.

Creacin de telas sencillas


Para empezar con este tutorial, reproduzca la escena de la figura 5.2.1. El suelo es un plano, la mesa es un objeto rgido compuesto y las tazas, platos y cucharas son cuerpos rgidos. Asigne a estos objetos propiedades con la utilidad reactor y adalos a una coleccin de cuerpos rgidos. Aada una cmara y dos luces y colquelas en la simulacin. Si no quiere crear la escena, puede cargar TutorialFourStart.max.

Figura 5.2.1

Siga estos pasos para crear la tela del tutorial:

1. Dibuje un plano pequeo centrado sobre la

mesa a poca distancia de ella. El plano no debe estar demasiado teselado, porque as se ralentiza la simulacin. Ha de definir la resolucin en 8x8 para una simulacin ms precisa. Puede crear ropa a partir de cualquier malla de 3ds max.

Creacin de una simulacin de tela

29

Rel Density (Rel densidad) Como la tela no tiene volumen, no es posible calcular la densidad de la tela. As, la tela tiene una propiedad Buouancy (Empuje) que refleja su densidad relativa. El valor predeterminado es 1, la densidad del agua.

Intersection (Interseccin) Puede hacer que una tela no se interseque a s misma activando Avoid Self-Intersections (Evitar autointersecciones). Deformation (Deformacin) Puede aplicar un nivel de restriccin de deformacin con Constrain Deformation (Restringir deformacin). El porcentaje de restriccin de deformacin indica cunto puede estirarse la tela. Un valor bajo indica que se estira poco. Vertex Selection (Seleccin vrtices) Permite fijar en el espacio universal algunos puntos de la tela. Puede aplicar este modificador a todo el cuerpo o a una seleccin de los vrtices de ste. Segn la seleccin, es posible elegir opciones como Non-selected Are Fixed para fijar la posicin de algunos vrtices en el espacio universal. Smooth Level (Nivel de suavizado) Aplica subdivisin iterativa durante la simulacin en tiempo real. Air Resistance (Resistencia al aire) Se trata del coeficiente de amortiguacin para la oscilacin de la compresin y expansin de la tela. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguacin.

Adicin de cuerpos a una coleccin de telas


Puede crear una coleccin de telas de forma similar a cualquier otro tipo de coleccin de entidades. Para aadir una coleccin de telas, abra reactor. Despus, haga clic en el botn CLCollection (ColeccinRopa) y aada una coleccin a la escena. Para aadir telas a la coleccin, seleccinela y haga clic en Add o Pick.

Figura 5.2.2

30

Captulo 5: Tela

Presione el botn Preview In Window y reactor muestra la escena. La optimizacin de colecciones de telas es similar a la de colecciones de cuerpos flexibles. Un elevado nivel de suavizado puede producir aparentes intersecciones de la ropa y otros objetos. stas no se encuentran en la simulacin, donde se simula con precisin la malla subyacente. La opcin Avoid Self-Intersections ofrece una simulacin ms exacta, a cambio de un mayor tiempo de simulacin. Para mallas grandes puede resultar muy lenta.

Complex Force Model (Modelo de fuerza compleja) Este modelo de dinmica de tela, es mucho ms preciso, e incorpora propiedades de estiramiento y desviacin ajustables independientemente, as como una propiedad de curvado fuera de plano con precisin fsica. Los parmetros de amortiguacin de ambos modelos controlan la rapidez con que la ropa disipa energa al cambiar de forma. No hay correlacin entre el significado de un valor de un modelo y cualquier valor del otro modelo. Una rigidez de 0,2 en el modelo de fuerza simple no equivale a una rigidez de 0,2 en el modelo complejo, en trminos de comportamiento de tela.

Propiedades avanzadas de ropa


En la seccin Properties de ropa hay varias propiedades adicionales que pueden usarse para definir mejor la fsica de la ropa.

Fold Stiffness (Rigidez de plegado)


La rigidez de plegado ofrece un mtodo adicional para aadir rigidez a la tela. Adems, controla hasta dnde puede curvarse una tela, lo que afecta a sus pliegues. De forma predeterminada, la tela se comporta como materiales sueltos, como la seda. La rigidez de plegado permite simular materiales ms rgidos, como la lana. Con un nivel elevado de rigidez, puede simularse incluso la chapa. Hay dos tipos de rigidez de plegado: Rigidez simple y compleja.

Force Model (Modelo de fuerza)


Hay dos tipos de modelo de fuerza: simple y complejo. Ambos permiten modelar de distinto modo las fuerzas que afectan a la ropa, y se diferencian principalmente en la cantidad de recursos del sistema que requieren. La fuerza compleja es ms precisa, pero tambin ms cara de usar y a veces no apropiada para sus necesidades. Simple Force Model (Modelo de fuerza simple) El modelo de fuerza simple basta en la mayora de los casos. Stiffness determina la rigidez de la tela, incorporando propiedades de estiramiento (stretch) y desviacin (shear).

Limitaciones del modelo de tela

31

Simple Fold Stiffness (Rigidez de plegado simple) La rigidez simple crea rigidez de forma uniforme en toda la superficie de la tela, independientemente de su topologa. Slo tiene un parmetro: Stiffness, que controla la rigidez.

Spread Angle (ngulo de difusin) El ngulo de difusin controla el grado en que se aade rigidez de pliegue a telas que tienen forma no plana. El ngulo se refiere al ngulo de umbral entre dos partes de la tela por debajo del que se aade rigidez. Split Angle (ngulo de divisin) Este parmetro controla el grado hasta el que se aade rigidez, especficamente cmo se concentra la rigidez a lo largo de las lneas de cuadrcula de la malla original de la tela. La rigidez de pliegue compleja se usa para aadir rigidez adicional a las telas de vestidos, por ejemplo. En este caso puede que slo desee aadir rigidez a las reas planas de la tela. Esto puede puede conseguirse definiendo Spread Angle como cero, es decir: no se aade rigidez de pliegue a ninguna parte curvada de la tela.

Figure 5.3.1

Complex Fold Stiffness (Rigidez de plegado compleja) La rigidez compleja se usa para aadir rigidez adicional a las telas. Este tipo de rigidez ofrece ms parmetros, que controlan cmo se da rigidez a la tela y cmo le afecta. Stiffness (Rigidez) Controla la rigidez de la rigidez de pliegue. Distance (Distancia) Controla el nivel de rigidez de plegado por unidad de rea. Una distancia de 2 significa el doble de la longitud media de arista triangular de la tela. Por tanto, un valor alto produce mayor concentracin de rigidez de pliegue por unidad de rea.

Limitaciones del modelo de tela


Pueden producirse problemas durante interacciones complejas entre ropa y cuerpos rgidos. La reduccin del paso de tiempo puede solucionar muchos problemas. El parmetro Scale Timestep (Escalar paso de tiempo) de la coleccin de ropa cambia el paso de integracin interno de la coleccin. El modelo no funciona bien con mallas muy grandes, porque se ha desarrollado principalmente para usuarios en tiempo real. Si el nmero de polgonos supera los 3000, puede resultar muy lento. Si no necesita crear telas muy grandes, suele ser preferible utilizar un tamao de tringulo mayor.

32

Captulo 5: Tela

Uso de Update Max (Actualizar Max)


Normalmente, no se desea que el estado inicial de la tela en las animaciones sea plana o en su configuracin original. Por ejemplo, quiz desee que ondee en torno a un cuerpo. Para conseguir esto, puede usar la funcin Update Max de la ventana Preview. Cree una escena con tela y realice una presentacin preliminar. En la ventana Preview, site la tela como desee que aparezca al inicio de la animacin y entonces elija Update Max en el men Max de la ventana. Cuando vuelva a 3ds max, la escena se habr actualizado con los cambios realizados en la ventana Preview. Esto resulta muy til para crear los pliegues de las cortinas, o para que los vestidos tengan una cada natural desde el inicio de la animacin.

Figura 5.3.2

Constrain Deformation puede provocar un uso intensivo del sistema en ciertos casos, sobre todo si la rigidez de tela es baja. Puede hacer que las interacciones entre tela y tela, y entre tela y cuerpo rgido sean menos eficaces. Es importante saber que puede crear ropa a partir de cualquier malla de 3ds max. Aunque una triangulacin basada en cuadrcula cuadrada puede ser la predeterminada en muchas mallas, esto puede producir artificios visuales durante la simulacin de telas, debidos sobre todo a pliegues colineares. Recomendamos que utilice una triangulacin ms irregular de la malla, como la triangulacin Delaunay de una superficie Nurbs de 3ds max. (Para obtener esta triangulacin, seleccione la persiana Aproximacin superficie en el panel del modificador Nurbs. Elija Parmetros avanzados, y active la casilla Delaunay en el cuadro de dilogo Aproximacin de superficie avanzada).

Crear una coleccin de cuerdas.

Cuerdas
Es posible crear cuerdas con casi cualquier objeto de la ficha Formas de 3ds max. Como sucede con los otros tipos de objeto del sistema, las cuerdas funcionan en colecciones de entidades. Se denominan colecciones de cuerdas. Realizan las mismas funciones que las colecciones de cuerpos rgidos. La mayora de las cuerdas que se crean usan una spline. Normalmente las cuerdas se hacen creando primero una spline y despus convirtindola en cuerda con un modificador. Hay dos formas de simular cuerdas en reactor , segn se use un muelle o un modelo basado en restricciones. Este captulo est formado por un tutorial que le gua en la creacin de una cuerda en una escena.

Aadir objetos a una coleccin de cuerda. Asignar propiedades fsicas a cuerdas de una escena. En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialfouraStart.max y TutorialfourbEnd.max.

Creacin de una simulacin de cuerda


Al crear una simulacin con cuerdas, se usan tcnicas simulares a la simulacin de cuerpos flexibles. Va a crear las splines en 3ds max y a aplicarles el modificador Rope (Cuerda). Tambin las incluir en una coleccin de cuerda. Tenga cuidado de no incluir objetos en colecciones de cuerpos rgidos y flexibles. Cuando se aplica un modificador cuerda a un objeto, su equivalente rgido permanece en la escena.

Acerca de estos tutoriales


Este captulo contiene slo un tutorial. En l se describe la creacin de una cuerda con un extremo fijo y el otro libre. Tambin se describen los efectos que pueden obtenerse al variar los parmetros de la cuerda. Cuando termine este tutorial, sabr:

34

Captulo 6: Cuerdas

Creacin de cuerdas sencillas


Siga estos pasos para crear la escena del tutorial:
1. Cree una escena como se indica en la figura

8. Seleccione Constraint (Restriccin) en la

opcin Rope Type (Tipo de cuerda) del modificador.

6.2.1. Para crear la hlice, elija Forma Hlice en la ficha Formas. Aada la esfera un poco por debajo de la hlice de modo que si sta estuviera totalmente relajada alcanzara el plano.
2. Seleccione Use Bounding Sphere (Usar esfera

delimitadora) para la esfera en la persiana Properties de la utilidad reactor, como se indica en la seccin anterior.
3. Aada una coleccin de cuerpos rgidos a la

escena.
4. Aada el plano a la coleccin de cuerpos
Figura 6.2.1

rgidos (pero no aada la hlice).


5. Designe la hlice, abra la persiana Modificar y

Propiedades de cuerda
Puede establecer atributos fsicos de la cuerda en la persiana Properties del modificador Rope. Hay cinco opciones principales para las propiedades fsicas de una cuerda. Mass (Masa) Esta masa se aplica a la cuerda. Aunque haya aplicado una masa en la seccin Properties de la utilidad reactor, la cuerda no tiene la masa correcta a no ser que se aplique aqu. Tenga en cuenta que la rigidez de la cuerda tambin est vinculada a la masa de la cuerda. Si se asocia una masa pesada a la cuerda, al aumentar la masa mejora la fuerza de la cuerda y se reduce su posibilidad de extensin. Thickness (Grosor) Al modificar este valor cambia el grosor de la cuerda en la simulacin (las splines no tienen grosor intrnseco).

elija Normalizar spline. De este modo se parte la spline en segmentos de igual longitud. Con este modificador, defina la longitud de segmento entre 5 y 10.
6. Elija Seleccionar spline en la lista de

modificadores. Seleccionar spline selecciona vrtices de forma predeterminada. En este caso es lo que queremos. Seleccione todos los vrtices de la hlice excepto el del centro.
7. Aplique el modificador reactor Rope de la lista

de modificadores.

Creacin de una simulacin de cuerda

35

Air Resistance (Resistencia al aire) Se trata del coeficiente de amortiguacin para la oscilacin de la compresin y expansin de la cuerda. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguacin. Friction (Friccin) Se trata del coeficiente de friccin de la superficie de la cuerda, similar al coeficiente anlogo en cuerpos rgidos. Rope Type (Tipo de cuerda) Esta opcin define el tipo de modelo de cuerda usado para la simulacin. Puede usarse un muelle o una restriccin. Cuando se minimiza el estiramiento, es aconsejable usar el modelo de restriccin.

1. Elija el men desplegable reactor y presione el

botn RPCollection (ColeccinCuerda).


2. Seleccione el smbolo de coleccin, abra la ficha

Modificar, haga clic en Aadir y seleccione las cuerdas en la lista que aparece. Tambin puede hacer clic en el botn Designar y elegir cuerpos manualmente en los paneles de vista.
3. Si ha aadido una cmara, asegrese de que se

ha colocado correctamente y de que tambin se han aadido las luces necesarias.


4. Presione el botn Preview In Window y

reactor muestra la escena. Las cuerdas se flexionan cuando se las designa con el ratn. Esto se debe a que el ratn conecta un muelle entre el vrtice ms cercano y el puntero del ratn.
Nota: Para que la cuerda pueda verse afectada por el viento y el agua, debe especificar un valor de grosor de la cuerda superior a 0. De este modo se crea un rea de superficie sobre la que pueden actuar el viento y el agua. Cuanto ms gruesa sea la cuerda, mayor es su superficie. Cuanto mayor sea el efecto del viento, mayores sern los rizos y el empuje de interaccin de agua. Nota: Las cuerdas pueden evitar las autointersecciones de forma similar a la tela. No obstante, hay una diferencia importante. Debe establecer el grosor de la cuerda en un valor superior a cero. De otro modo, en el resultado la cuerda podra parecer intersecarse a s misma. Esto se debe a que una cuerda con grosor cero no tiene efecto sobre las intersecciones de su funda de representacin. El grosor de presentacin de la spline de 3ds max no afecta al grosor de la cuerda de reactor, por lo que un simple cambio del grosor de presentacin no solucionara el problema.

Figura 6.2.2

Creacin de colecciones de cuerdas y adicin de cuerdas


Una vez creada una cuerda, debe aadirla a una coleccin de cuerdas. El botn de las colecciones de cuerdas se encuentra en el panel Crear, dentro de la opcin Ayudantes. Siga estos pasos para asignar la cuerda del tutorial a una coleccin.

36

Captulo 6: Cuerdas

Agua
El agua es la representacin de reactor de los cuerpos fluidos que puede usarse para mejorar las escenas. Los objetos pueden interactuar con el agua en formas fsicamente realistas, como rizos y ondas. El agua puede tener densidades diferentes, un factor crucial para determinar si el objeto flota o no. La propiedad Buoyancy (Empuje) de objetos distintos de la tela se calcula automticamente a partir de las propiedades de forma y masa de los objetos. El agua es en reactor un efecto especial que se simula como agua cuando se lleva a la simulacin de presentacin. Como no es posible renderizar efectos especiales, el usuario debe dar al agua una representacin grfica. En el modo de presentacin preliminar puede verse una representacin, pero en una verdadera simulacin el agua no aparece. Puede dar una representacin grfica al agua enlazando un plano al efecto especial agua. De hecho, puede enlazar el efecto a cualquier tipo de objeto.

Contenido del tutorial


En este tutorial va a aprender a utilizar el agua de reactor. Al trmino de este tutorial sabr: Aadir agua a una escena. Definir propiedades de agua. Enlazar el agua a un elemento no simulado fsicamente de la escena. En la carpeta Scenes del directorio de reactor hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialFiveStart.max y TutorialFiveEnd.max.

38

Captulo 7: Agua

2. Recoloque el agua de forma que su nivel sea

apropiado para la piscina. (Figura 7.2.3).


3. Seleccione el agua y haga clic en la ficha

Modificar. Ahora puede ver una lista de parmetros fsicos que puede definir para el agua. Estos son los parmetros de agua que puede definir:
Subdivisions X/Y (Subdivisiones X/Y)Establece la

triangulacin de la malla del agua.


Landscape (Horizontal)Cuando se selecciona y
Figura 7.21

asocia con un cuerpo rgido, las ondas rebotan en los lados del cuerpo rgido elegido y se refractan en las aperturas pequeas.

Adicin de agua a una escena


Uso de agua en una simulacin sencilla
Reproduzca la escena de la figura 7.2.1. Hay cinco cajas con masa cero, que actan como piscina, cmara y dos luces. Cree la coleccin de cuerpos rgidos para las cajas.

Figura 7.2.3

Wave Speed (Velocidad de onda)La velocidad a

la que se propagan las crestas de agua por la superficie del agua.


Figura 7.2.2

Si no quiere crear la escena, puede cargar TutorialScriptStart.max Para aadir agua a la piscina, siga estas instrucciones.
1. Elija reactor en el men Efectos especiales del

Min/Max Ripple (Rizo mn/mx)Permite establecer lmites de tamao de las ondas generadas en el agua.
Density (Densidad)La densidad del lquido.

Determina los objetos que se hunden y la altura a la que flotan objetos de menor densidad.

panel Crear. Presione el botn Water (Agua) (figura 7.2.2). Va a aadir agua a la escena de forma similar a un plano haciendo clic y arrastrando en una ventana.

Adicin de agua a una escena

39

Viscosity (Viscosidad)Es la medida de resistencia al flujo e indica lo difcil que resulta a los objetos moverse por el lquido. Un valor alto significa que el movimiento de objetos por el agua est muy amortiguado.

Animacin de agua en 3ds max


El siguiente paso es crear una representacin para 3ds max de forma que se pueda renderizar la escena para pelculas y animaciones. Dibuje un plano del mismo tamao que el agua y en su misma posicin y orientacin. Seleccione el icono Enlazar a efecto especial en la barra de herramientas Principal, haga clic en el plano y arrastre hacia el agua. Cuando renderice, debe ver el plano. Puede aplicar materiales al plano y ste se renderizar de ese modo. Al enlazar un plano al agua se aplica un modificador al plano dentro del que puede establecerse la fuerza de escala para la deformacin. Por ejemplo, si establece la fuerza de escala en 2, toda deformacin de agua se duplica en el plano. Si realiza una animacin con el agua, el plano imita el comportamiento del agua y as puede renderizar la animacin.

Water in Motion (Agua en movimiento)


Presione el botn Preview in Window para ver el agua en la piscina. El siguiente paso es aadir algunos objetos que pueden dejarse caer al agua y ver cmo reaccionan ante ella y cmo ella reacciona ante ellos.

Figura 7.2.4

Aada dos cajas sobre el agua y asgneles una masa. Esa masa ha de ser suficiente para que los objetos resulten algo menos densos que el agua (la densidad del agua es de 1000kg/m3). Adalos a la coleccin y vuelva a realizar una presentacin preliminar de la simulacin. Cuando reproduzca la simulacin, las cajas caern al agua y flotarn en ella. Pruebe a arrastrar las cajas bajo el agua y soltarlas. Puede probar a aadir una forma extraa en el agua. Si la arrastra por el agua, reorienta el recorrido de menor resistencia. Por ejemplo, si intenta arrastrar un palo a travs del borde del agua, ste se reorienta de modo que su punta seala en la direccin del movimiento. Tenga en cuenta que los objetos pueden desactivarse durante la simulacin si tienen desactivador, aunque sigan en el agua.

Figura 7.2.5

40

Captulo 7: Agua

Restricciones
Supongamos que crea una escena en la que desea controlar rgidamente el movimiento de los objetos fsicos. Quiz dese que dos objetos acten siempre como muelles conjuntamente o que un objeto se una en bisagra a otro. Para conseguir estas limitaciones de movimiento se usan las restricciones. Las restricciones limitan el comportamiento de los objetos fijndolos a puntos en el espacio u objetos. Hay varios sistemas de restriccin en reactor . Los ms slidos son los de punto a punto, punto a recorrido y punto a clavo. Hay tambin dos tipos bsicos de restriccin llamados muelles y dashpots. Los muelles y dashpots tienden a ser ms rpidos, pero ms elsticos por naturaleza. Un muelle es una conexin elstica entre dos objetos. Un dashpot es similar, pero ms flexible. Permite la conexin elstica de dos objetos con un punto, o de un objeto con un punto en el espacio. Los dashpots tambin restringen la posicin y orientacin de objetos.

En la ltima seccin de este captulo se describe el objeto toy car de reactor, que se crea a partir de varios tipos de restriccin. Se ha concebido como un juguete, y resulta demasiado simple para simular un vehculo de verdad, pero puede ser til para crear un modelo de vehculo rpidamente.

Contenido del tutorial


En la primera parte de este tutorial se explica la implementacin completa de un muelle. En la segunda parte se trata la implementacin de un dashpot. Las dems restricciones (llamadas "restricciones" a secas) se describen con ms detalle en la pgina 45. Cuando termine este tutorial, sabr: Distinguir entre muelles y dashpots Aadir un muelle Cambiar las propiedades de un muelle Aadir un dashpot Cambiar las propiedades de un dashpot

42

Captulo 8: Restricciones

En la carpeta Scenes del directorio de reactor hay dos archivos asociados con este tutorial. En ellos se ilustra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialSixAStart.max y TutorialSixAEnd.max.

orientaciones relativas. Si rota uno, el dashpot tiende a reducir esa rotacin al tiempo que aplica una fuerza de giro al otro para que se igualen sus orientaciones.

Muelles y dashpots
El sistema de muelle aade la accin de un muelle hookeano entre dos cuerpos rgidos cualesquiera. Puede controlar y cambiar las propiedades del muelle. Por ejemplo, puede alterar sus valores de rigidez, longitud de reposo y amortiguacin. La longitud de reposo es la longitud del muelle cuando no aplica fuerza alguna. Un muelle siempre tiende a su longitud de reposo. Con una longitud de reposo cero el muelle siempre intenta volver a unir los objetos. Los dashpots siempre tienen longitud de reposo cero. La amortiguacin es el proceso de reduccin gradual de un movimiento vibratorio. Con un valor alto de amortiguacin el muelle oscila pocas veces antes de recuperar su longitud de reposo. Un muelle muy amortiguado no parece tener mucha energa. Con un valor de amortiguacin bajo el muelle sigue extendindose y contrayndose hacia su longitud de reposo durante mucho tiempo. Tambin puede suprimir la accin de extensin o contraccin del muelle. Por ejemplo, una goma elstica es un ejemplo de muelle con extensin suprimida. Si desactiva ambas, el muelle deja de funcionar. Los dashpots son como muelles con un valor de amortiguacin muy alto. Los dashpots permiten predecir y controlar el movimiento de los objetos. Hay dos tipos de dashpot: lineal y angular. Los dashpot lineales fuerzan los objetos a intentar compartir un punto del espacio. Los objetos pueden moverse libremente en ese espacio, pero siempre deben compartir ese punto. Los dashpots angulares fuerzan los objetos a mantener sus

Adicin de un muelle a una simulacin


Con el sistema de muelle puede aadir un muelle entre dos cuerpos rgidos. reactor tambin permite especificar dnde debe enlazarse al muelle a cada cuerpo rgido. Para ello, debe aadir un punto a cada cuerpo rgido. Cree una escena que contenga una coleccin de cuerpos rgidos con dos esferas y un plano. Puede crear la escena desde cero o cargar el archivo TutorialSixAStart.max.

Figura 8.3.1

1. Seleccione el icono Ayudantes en el panel de

comandos Crear de 3ds max.


2. Elija reactor en el men desplegable

Ayudantes.

Adicin de un muelle a una simulacin

43

3. Presione el botn Spring (Muelle) en la

1. Seleccione el icono Ayudantes en el panel de

persiana Object Type (Tipo de objeto) (figura 8.3.1).


4. Seleccione un panel de vista para dibujar una

comandos Crear de 3ds max.


2. Elija Estndar en el men desplegable

Ayudantes.
3. Presione el botn Punto en la persiana Tipo de

lnea en cualquier lugar de la escena.


5. Presione el botn None (Ninguno) que hay

objeto (figura 8.3.2).


4. Designe el panel de vista donde desee situar el

junto a Object A (Objeto A) en la persiana Spring Properties (Propiedades de muelle).


6. Seleccione una de las esferas en un panel de

punto.
5. Presione el botn etiquetado None que hay

vista. Ahora la esfera est asociada a un extremo del muelle. El nombre de la esfera aparece en el botn que hay junto a las palabras Object A.
7. Repita estos pasos para asociar la segunda

junto a Point A (Punto A) en la persiana Spring Properties y seleccione el punto u objeto que desea asociar a Object A en cualquiera de los paneles de vista.
6. Repita estos pasos para asociar un punto a

esfera al botn Object B (Objeto B). Ha de seleccionar los puntos a los que debe enlazarse el muelle. Puede seleccionar un punto real o un objeto, en cuyo caso se usa como punto el pivote de ese objeto. El punto no tiene que estar en uno de los objetos de un muelle. Su posicin se fija relativa al objeto y las fuerzas del muelle se aplican al objeto en ese punto. Si el punto exacto de cada objeto es irrelevante, puede volver a seleccionar los objetos que haya indentificado como Object A y Object B y usar sus puntos de pivote.

Object B. El siguiente paso consiste en definir las propiedades del muelle. Puede modificar estas propiedades durante su creacin o despus. Seleccione el muelle en los paneles de vista o en la lista Seleccionar por nombre y haga clic en la ficha Modificar. Aparece la persiana Spring Properties (figura 8.3.3).

Figura 8.3.2

Para un muelle, el proceso de creacin y uso de un punto en reactor es:

Figura 8.3.3

44

Captulo 8: Restricciones

En la persiana Spring Properties puede definir las caractersticas siguientes: Stiffness (Rigidez)La fuerza y la rigidez del muelle Rest Length (Longitud de reposo)La longitud con que el muelle no ejerce fuerza. Damping (Amortiguacin)Admite valores entre 0 y 1, e indica la velocidad con que el muelle alcanza el reposo. Act on compression (Actuar en compresin) Este valor desactiva la compresin del muelle. Act on extension (Actuar en extensin)Este valor desactiva la extensin del muelle. Para realizar una presentacin preliminar del muelle, presione el botn Preview In Window en la persiana Display de la utilidad reactor. Si toma una de las esferas con el botn derecho del ratn y la arrastra por el plano, la segunda acta como si hubiera un muelle entre ella y la primera (figura 8.3.4). El muelle en s no aparece en la ventana de presentacin preliminar.

Adicin de un dashpot
El efecto de los dashpots vara segn el tipo de dashpot y si conecta dos objetos o un solo objeto y un punto. Si aade un dashpot lineal que conecte un cuerpo y un punto, el cuerpo intenta ocupar la posicin del punto. El cuerpo puede rotar libremente en torno al punto. Si aade un dashpot lineal que conecte dos cuerpos con un punto, reactor establece la posicin del punto con respecto a cada cuerpo. Esto se denomina referenciar el punto en el espacio cuerpo y crea dos entradas, una para cada cuerpo. Como el dashpot se aplica entre los dos cuerpos, las fuerzas del dashpot se aplican a los cuerpos en los puntos establecidos en el espacio cuerpo e intentan devolver el cuerpo a su posicin relativa original. Si aade un dashpot angular que conecte un cuerpo y un punto, el cuerpo intenta mantener su orientacin inicial. La ubicacin y orientacin del punto son irrelevantes, pero ste debe crearse por coherencia con otros dashpots. El dashpot angular no mantiene el cuerpo en el espacio. Si quiere un cuerpo suspendido en el espacio que mantenga su orientacin con referencia a un punto, ha de aplicar un dashpot lineal o restricciones para mantener el cuerpo en su posicin. Si crea un dashpot angular entre dos cuerpos, se aplica una fuerza de giro a cada cuerpo que intenta mantener la orientacin actual entre los dos cuerpos cuando uno de ellos rota.

Figura 8.3.4

Restricciones

45

Puede aadir dashpots del mismo modo que muelles. Puede establecer las propiedades correspondientes en la persiana Modify Properties (Propiedades de modificacin) del dashpot. De forma predeterminada, los dashpots se definen como lineales para un objeto. El objeto y el punto se definen exactamente de la misma forma que para el muelle. El parmetro Strength (Fuerza) de los dashpots equivale al parmetro Stiffness (Rigidez) de los muelles. La diferencia entre el parmetro de punto de un dashpot monoobjeto y un muelle es que toma la posicin del punto u objeto en el espacio universal, y es ah donde se asocia el dashpot. Por ejemplo, si quiere asociar un dashpot entre una esfera y un punto en el espacio universal, debe colocar un objeto (la propia esfera o un punto) en la posicin del espacio universal a la que desea asociar el dashpot y seleccionar este objeto como parmetro de punto del dashpot. Para crear un dashpot entre dos cuerpos rgidos hay que seleccionar la caja que aparece junto a Body B (Cuerpo B) en la persiana Properties de la seccin Modificar del dashpot. Los parmetros Strength y Damping de los dashpots deben adaptarse a las masas de los cuerpos a los que estn asociados. Un cuerpo pesado puede necesitar un dashpot ms fuerte para sostenerse. La inestabilidad de los dashpots puede producir un paso de tiempo alto, un nmero bajo de subpasos, un mal integrador o una fuerza muy grande.

Restricciones
Con restricciones nos referimos al resto de los sistemas de restriccin, aparte de los muelles y dashpots, que pueden usarse para limitar el movimiento de los cuerpos flexibles, cuerpos rgidos o tela. En general, son ms robustos que otros tipos de sistemas de restricciones, pero pueden resultar ms caros de simular. Las restricciones de punto a punto, punto a recorrido y punto a clavo utilizan resolutores de restriccin. Estos resolutores de restriccin efectan todos los clculos necesarios para cada restriccin. Slo pueden aplicarse a cuerpos rgidos, y se aaden automticamente al sistema para una coleccin de cuerpos rgidos determinada. Aunque se trata realmente de un sistema, un resolutor de restricciones puede considerarse como una coleccin de restricciones. Del mismo modo que antes cre una coleccin con cuerpos rgidos, ahora puede crear un resolutor con restricciones. Este resolutor acta sobre todas las restricciones que interactan sobre una coleccin de cuerpos rgidos dada. Hay un tipo de restriccin llamado Attach to Rigid Body (Asociar a cuerpo rgido) que no usa resolutor, sino que se aplica como modificador. Esta restriccin asocia todos los vrtices (o slo los seleccionados) de una tela, un cuerpo flexible o una cuerda a un cuerpo rgido. Un ejemplo de ello sera un mstil al que se hubieran asociado dos puntos de una bandera cuadrada.

46

Captulo 8: Restricciones

Resolutor de restricciones
Para aadir un resolutor de restricciones a un sistema, seleccione CSolver (ResolutorR) en la seccin reactor (Figura 8.5.1) y haga clic en uno de los paneles de vista para situarlo en la escena. Utilice Pick y Add en la persiana Properties del resolutor para aadirle restricciones al crearlo o despus en la ficha Modificar.

Dentro de las propiedades del resolutor de restricciones hay tres opciones para el tipo de resolutor que se desea usar: Cheap (Barato), General (General) y Expensive (Caro). Cheap es el ms impreciso y rpido, mientras que Expensive es el ms preciso y lento. El valor predeterminado es General, que sirve para la mayora de los casos.

Figura 8.5.1

Figura 8.5.2

Tambin hace falta asociar una coleccin de cuerpos rgidos al resolutor. Presione el botn que hay bajo RBCollection (ColeccinCR) dentro de la seccin Properties del resolutor y elija la coleccin sobre la que quiere que acten las restricciones. Un resolutor slo puede resolver restricciones actuando sobre cuerpos de una coleccin. No puede abarcar varias colecciones. Si aade restricciones que se aplican a objetos de una coleccin en lugar de asociarlas al resolutor, la utilidad Analyze World (Analizar universo) advierte de ello al ejecutar la simulacin.

Restriccin punto a punto


Una restriccin punto a punto restringe dos cuerpos a compartir un punto comn.
1. Dibuje dos cajas y un punto cerca de ellas. 2. Adalas a una coleccin de cuerpos rgidos. 3. En la seccin reactor, seleccione Point-Point

(Punto a punto).
4. Designe cualquier lugar de la escena para

aadir la restriccin.
5. Es preciso aadir dos objetos y un punto a la

restriccin con los botones apropiados de la persiana Properties correspondiente a la restriccin.

Restricciones

47

Tambin puede definir la fuerza de la restriccin en el campo Strength. Una restriccin punto a punto es como una junta de rtula doble infinitamente pequea que se aplica en el punto y se conecta a los cuerpos. En la figura 8.5.2 las dos cajas son los objetos y la junta de rtula doble es la ubicacin del punto. El punto siempre est en la misma posicin local para cada cuerpo. Al mover un cuerpo se influye en el otro mediante la restriccin en este punto.

La restriccin punto a recorrido es una restriccin punto a clavo en la que el clavo se desplaza por un recorrido confinado. Si el recorrido es un conjunto de segmentos de lnea, la restriccin puede atascarse un poco en las uniones del recorrido.

Figura 8.5.4

Restriccin punto a clavo


Una restriccin punto a clavo restringe el movimiento de un cuerpo a un punto en el espacio universal (figura 8.5.4). Se crea de forma muy parecida a una restriccin punto a punto, pero slo es necesario especificar un cuerpo y un punto. La restriccin restringe el movimiento del cuerpo de modo que siempre est a la misma distancia del punto. Si elige el cuerpo restringido como su propio punto (es decir, el pivote del cuerpo), la restriccin acta impidiendo todo movimiento lineal del cuerpo. Para que afecten a la simulacin, es preciso aadir las restricciones punto a clavo a un resolutor de restricciones. Pueden usarse dos restricciones punto a clavo para definir un eje de rotacin para un objeto situndolas en dos puntos separados a lo largo del eje deseado.

Figura 8.5.3

Restriccin punto a recorrido


Una restriccin punto a recorrido restringe un cuerpo a un recorrido determinado (figura 8.5.3). El cuerpo puede rotar libremente, pero su movimiento lineal est limitado al recorrido.
1. Abra el panel Crear y seleccione Formas. 2. Dibuje una lnea o curva. 3. Aada la restriccin punto a recorrido

seleccionando Point-Path (Punto a recorrido) en reactor y haciendo clic en uno de los paneles de vista.
4. Elija el objeto que desea restringir, el punto al

que desea restringirlo y la lnea o curva que se usar como recorrido.

Figura 8.5.5

48

Captulo 8: Restricciones

reactor AttachToRB
La restriccin AttachToRB (Asociar a cuerpo rgido) es un modificador de cuerpos flexibles y telas (figura 8.5.5). Puede aplicar la restriccin AttachToRB a telas y cuerpos flexibles para lograr efectos como banderas y cortinas colgantes o trampolines.
1. Para aplicar el modificador, utilice Seleccionar

Ejemplo rpido de reactor AttachToRB


Cree un cilindro de masa cero como un mstil de bandera. Aada un plano pequeo (u otra malla) en la parte superior del mstil para representar la bandera. Aada el mstil a la coleccin de cuerpos rgidos (figura 8.5.6). Incorpore un par de luces y una cmara a la simulacin. Aumente un poco la triangulacin del plano de la bandera. Aplique el modificador de tela a este mismo plano. Cree una coleccin de tela y adale la tela.
1. Elija Modificar y abra la lista desplegable de

malla y seleccione los puntos del cuerpo que desee asociar al cuerpo rgido.
2. Abra la seccin Modificar, presione More

(Ms...) y seleccione reactor AttachToRB.


3. En la persiana Properties del modificador,

modificadores.
2. En la opcin Seleccionar malla elija Vrtices. 3. Seleccione las dos esquinas del plano ms

seleccione el cuerpo rgido al que desea asociar el cuerpo.


4. Decida si quiere que el cuerpo conectado afecte

cercanas al mstil (elija el primer vrtice, mantenga presionada Ctrl y seleccione el otro).
4. Seleccione reactor AttachToRB. 5. En la seccin Properties del modificador,

al cuerpo rgido y si le interesa omitir las colisiones entre el cuerpo rgido y el asociado a l. El archivo terminado del tutorial siguiente, TutorialSixB.max se encuentra en la carpeta Scenes.

presione el botn que hay bajo Rigid Body (Cuerpo rgido) y despus designe el mstil en el panel de vista (figura 8.5.7).

Figura 8.5.6

Coche de juguete

49

6. Ejecute de nuevo la simulacin.

La opcin Ignore Collisions (Omitir colisiones) indica si se tienen en cuenta las colisiones entre el cuerpo y la tela o el cuerpo flexible. Las restricciones FFD Soft Bodies Only (Slo cuerpos flexibles FFD) se aplican como se explica en la pgina 24.

Coche de juguete
Un ejemplo de varias restricciones aplicadas a diversos objetos es el coche de juguete (toy car) que se ha incluido en reactor como divertimento y ayuda para los diseadores. El coche de juguete es un modelo de automvil muy fcil de manipular para crear rpidamente sus vehculos para escenas en mucho menos tiempo que si los creara desde el principio. A continuacin se ofrece un simple tutorial sobre el uso del coche. En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialSixCStart.max y TutorialSixCEnd.max.
1. Cree la escena como se indica en la figura 8.6.1.
Figura 8.5.7

Tenga en cuenta que no tiene sentido usar el modificador AttachToRB porque el mstil est fijo. Esto significa que basta seleccionar todos los puntos que deben ser mviles y activar Non Selected Are Fixed (Los no seleccionados son fijos) al aplicar el modificador de tela. No obstante, si asigna masa al mstil y vuelve a ejecutar la simulacin, podr designarlo con el ratn y ondearlo al aire como una bandera de verdad. La opcin Do not affect rigid body (No afectar a cuerpo rgido) determina si las fuerzas que actan sobre el cuerpo flexible se transmiten al rgido. Todas las fuerzas recibidas por el cuerpo rgido se aplican automticamente a la tela.

Se coloca una caja sobre un plano como chasis y cuatro cilindros idnticos como ruedas. Aada todos los objetos a una coleccin de cuerpos rgidos. Tambin puede cargar TutorialSixCStart.max.

50

Captulo 8: Restricciones

El coche no se mueve automticamente. No obstante, si se arrastra el chasis, el coche rueda al soltarlo. Para que las ruedas del coche giren solas dentro de la simulacin, seleccione Spin Wheels (Girar ruedas) en Toy Car Properties dentro del panel Modificar. Puede seleccionar entonces una velocidad angular mxima para las ruedas y una ganancia que representa el ritmo con el que las ruedas alcanzan su velocidad angular mxima. La escena final est en TutorialSixCEnd.max. El usuario debe decidir qu direcciones representan el giro (ejes de las ruedas) y la direccin de suspensin. Si utiliza Icon Orientation, eso es suficiente y no es preciso alinear la orientacin local de las ruedas y el chasis (debida a los pivotes de 3ds max) en el espacio universal para que el vehculo funcione. De lo contrario, puede alinear los pivotes de las ruedas y el chasis en el espacio universal y utilizar Common Local Orientation (Orientacin local comn) para especificar los ejes que representan las direcciones de suspensin y giro.

Figura 8.6.1

2. Los parmetros de masa son muy importantes

en este automvil; lo ideal es que la masa del chasis no sea mucho mayor que la masa total de las ruedas y que la densidad de los cuerpos no genere advertencias de Analyze World. Aplique esa masa a los objetos de vehculo.
3. En reactor, seleccione Toy Car y aada un

coche a la escena haciendo clic en uno de los visores.


4. Reoriente el icono del coche para que su

Parmetros de Coche de juguete


Pueden manipularse varias propiedades para alterar el comportamiento del vehculo: Allow Wheel Penetration (Permitir penetracin de las ruedas)Desactiva la deteccin de colisiones entre el chasis y las ruedas. Internal Substeps (Subpasos internos)Permite que el coche tenga ms subpasos por keyframe que la simulacin circundante. Esto resulta til porque a veces, si el vehculo tiene parmetros extraos, puede precisar ms subpasos para mantenerse estable. Common Local Orientation (Orientacin local comn)Normalmente es ms fcil usar Icon Orientation para definir la orientacin del coche. No obstante, pueden definirse los ejes de suspensin y giro del chasis y de las ruedas. Si lleva los pivotes de chasis y rueda a una orientacin comn con respecto a esta, puede definir manualmente los ejes de suspensin y giro con las opciones respectivas.

orientacin sea la misma que la del chasis. As podr guiarse por la orientacin del icono al trabajar con la suspensin y los ejes de las ruedas.
5. Presione el botn Chassis (Chasis) en Toy Car

Properties (Propiedades de Toy Car) y seleccione el chasis en el panel de vista.


6. Presione el botn Add que hay bajo la lista de

ruedas y seleccione sus objetos de rueda en la lista de objetos resultante.


7. Asegrese de que ha seleccionado Icon

Orientation (Orientacin del icono) en Toy Car Orientation (Orientacin de Toy Car) y despus realice una presentacin preliminar de la simulacin.

Coche de juguete

51

Angular Strength (Fuerza angular)Representa la intensidad de las fuerzas correctoras aplicadas para mantener las ruedas verticales y sealando hacia delante. Linear Strength (Fuerza lineal)Representa la intensidad de las fuerzas aplicadas para mantener las ruedas en su posicin relativa al chasis. Suspension (Suspensin)Controla la rigidez de la suspensin del coche. Cuanto menor sea el valor, ms rebotar el coche cuando se le apliquen fuerzas. Disabled (Desactivado)Suprime el coche de la simulacin.

52

Captulo 8: Restricciones

Acciones
Accin es un nombre de grupo usado para describir varios sistemas fsicos complejos disponibles en reactor . Se agrupan bajo este nombre para diferenciarlas de los sistemas de restricciones y agua. Los sistemas de accin permiten simular viento, motores y fracturas en escenas. En este captulo se le gua por el proceso de aprendizaje sobre cada uno de los distintos tipos de accin.

Los archivos terminados de los tutoriales al final del captulo se encuentran en la carpeta Scenes. Se llaman TutorialSevenA.max, TutorialSevenB.max y TutorialSevenC.max.

Las acciones
reactor aporta tres acciones, que se detallan a continuacin.

Accin Wind (Viento)


Aade viento a una escena. El viento se representa con el smbolo de una veleta. El gallo indica la direccin del viento. Puede decidir a qu tipos de objeto afecta el viento, sean telas, flexibles o rgidos. Tambin puede establecer la velocidad del viento, introducir varianza en la fuerza del viento, aplicar un rizo al viento en un eje y aplicar varianza a ese rizo. Tambin puede activar la posibilidad de los objetos a protegerse del viento con otros objetos.

Contenido del tutorial


En este tutorial aprender las acciones que se han incluido en reactor. Al trmino de este tutorial: Conocer los distintos tipos de accin disponibles en el plug-in. Podr implementar esas acciones en sus escenas.

54

Captulo 9: Acciones

Accin motor
Esto permite aplicar una accin de motor a cualquier elemento de la escena. Por ejemplo, si quiere aadir un ventilador en la escena, puede restringirlo al techo dejando un eje de rotacin y despus aplicar una accin de motor al ventilador en torno a su eje. La accin requiere que suministre un cuerpo rgido y afecta al cuerpo seleccionado. Tambin debe especificar el eje en el que se produce la rotacin.

Adicin de acciones a escenas


Accin Wind (Viento)
En este ejemplo se explican los pasos para aadir una accin viento a una escena con una cortina que pende en una ventana. El archivo final es TutorialSevenA.max.

Accin Fracture (Fractura)


Las fracturas simples reflejan la posibilidad de los cuerpos rgidos compuestos de partirse tras recibir un impulso dado. Se aade la fractura a la escena y los elementos que se encuentran en el conjunto de fractura se agregan al conjunto de la accin. Debe asociarse una coleccin de cuerpos rgidos a la accin. Los elementos relacionados con la accin de fractura slo deben incluirse en la fractura. No es necesario incluirlos en la coleccin de cuerpos rgidos. Puede decidir si los fragmentos son normales o si tienen propiedades especiales que determinan cundo pueden o no romperse. Las acciones de fractura no funcionan con cuerpos rgidos no fijos.

Figura 9.3.1

1. Cree un suelo (plano) y un muro con un agujero

donde debe estar la ventana.


2. Aada un plano para cubrir el agujero. 3. Con el modificador Seleccionar malla, designe

el plano excluyendo sus puntos en lnea con la parte superior de la ventana y aplique el modificador reactor Cloth.
4. Seleccione la opcin Non-Selected Are Fixed

(No seleccionados=fijos).
5. Aada el suelo y el muro a la coleccin de

cuerpos rgidos y la tela a una coleccin de tela.


6. Trate el muro como cncavo. 7. En reactor, seleccione Wind (Viento) y haga clic

en uno de los paneles de vista.

Adicin de acciones a escenas

55

8. Rote el smbolo del viento para que sople hacia

la ventana.
9. Seleccione la opcin Enable Sheltering

(Activar refugio). (Figura 9.3.2).

Realice la presentacin preliminar de la simulacin. El viento debe soplar a travs de la ventana y afectar a la cortina. Si selecciona Perturb Speed (Perturbar velocidad), puede modificar la fuerza del viento. El valor de Variance (Varianza) vara ligeramente con el tiempo. Time Scale (Escala de tiempo) determina la velocidad con que esto sucede: los valores pequeos producen un cambio lento y los grandes y cambio rpido. Con la casilla Ripple (Rizo) activada, la direccin se convierte en una funcin de espacio y tiempo. Este efecto puede producirse en las direcciones Left/Right (Izquierda/Derecha), Up/Down (Arriba/Abajo) o Back/Forward (Adelante/ Detrs), donde Forward es la direccin del viento y Up es el eje superior del icono de viento. Por ejemplo, una cortina suspendida puede precisar rizos en direccin Left/Right. Magnitude (Magnitud) determina la varianza direccional y Frequency (Frecuencia) la regularidad de la formacin de rizos. Unos valores bajos provocan rizos distantes, si son altos los rizos son frecuentes. Si se selecciona Perturb Time (Perturbar tiempo), la propia perturbacin espacial puede verse perturbada en el tiempo, lo que hace que los rizos se adelanten y atrasen. Si no se activa esto, la tela debe terminar en reposo, a no ser que se haya marcado Perturb Speed.

Figura 9.3.2

10.Asegrese de tener seleccionada slo la ropa en

la seccin Applies To... (Se aplica a).

56

Captulo 9: Acciones

Accin Motor (Motor)


En este ejemplo se crear un molino de viento con aspas giratorias. El archivo final es TutorialSevenB.max.

8. Seleccione las aspas y defina en torno a qu eje

van a rotar las aspas (en espacio cuerpo).


9. Seleccione el smbolo Motor y, en la seccin

Modificar del motor, seleccione el eje que defini para las aspas.

Figura 9.3.4 Figura 9.3.3

1. Cree un cono truncado y reduzca el nmero de

segmentos a cuatro para crear un molino de viento.


2. Cree algunas aspas como cuerpos rgidos

compuestos.
3. Restrinja las aspas frente al molino de viento y

Realice la presentacin preliminar de la simulacin. Las aspas deben girar. Ang. Speed es la velocidad que el motor intenta mantener, y Gain es la velocidad con que las aspas se recuperan tras bloquearse o ralentizarse por otros motivos.

a lo largo del eje de rotacin con dos restricciones punto a clavo. Establezca las fuerzas de las restricciones en 50 (figura 9.3.3).
4. Aada un sistema CSolver

Accin Fracture (Fractura)


En este breve tutorial se crea una mesa y se rompe en una simulacin mediante la accin fractura. El archivo final es TutorialSevenC.max.
1. Cree una mesa y asigne a cada elemento masa

(ResolutorRestriccin) y agrguele las restricciones.


5. Aada una Motor Action a la escena con

como si fuera a crear un cuerpo rgido compuesto, pero no los agrupe.


2. Cree un plano sobre el que pueda caer la mesa.

reactor. Defina Ang Speed (Vel. angular) en 10,0 y Gain (Ganancia) en 3,0.
6. Haga clic en el botn Rigid Body (Cuerpo

rgido) en la persiana Properties de la accin motor (Figura 9.3.4) y seleccione las aspas.
7. En el men desplegable de sistema de

Cree una coleccin de cuerpos rgidos y adale el plano (figura 9.3.5). Aada una Fracture Action (Accin fractura) a la escena con reactor.

referencia de coordenadas, elija Local.

Adicin de acciones a escenas

57

3. Haga clic en el botn Rigid Body Collection

(Coleccin de cuerpos rgidos) dentro de Fracture (Fractura) y despus haga clic en la coleccin de cuerpos rgidos que contiene el plano.

Energy Loss (Prdida de energa) determina cunta energa se pierde durante la fractura. Un valor de 0 significa que no se absorbe energa, por lo que el cuerpo resulta muy quebradizo; un valor de 1 hace que el cuerpo repose tras fracturarse. Energy Loss slo tiene efecto si la fractura se define como Break during collision (Romper durante colisin). En el tutorial se usa una prdida de energa de 0,7.

Figura 9.3.5

4. Seleccione Add (Aadir) en la lista de Fracture

Properties (Propiedad de fractura) y elija los elementos de la mesa en la lista.


5. Seleccione el elemento tablero de la mesa en la

Figura 9.3.6

lista de Fracture Properties y elija Unbreakable (Irrompible) en las opciones. Esto significa que las patas se parten y separan de la mesa y no al revs.
6. Coloque la tabla de modo que quede en ngulo

Si la fractura se define como Break during collision, el cuerpo se rompe y sigue movindose con su propio momento, pero pierde energa. Si se establece como Break after collision (Romper tras colisin), entonces el cuerpo rebota antes de romperse. Los fragmentos de este tipo de colisin conservan el momento original del cuerpo original tras la colisin. La versin actual de reactor no presenta informacin de textura de los cuerpos que se fracturan en la ventana de presentacin preliminar. Ello no afecta a la animacin en 3ds max.

y a una buena altura sobre el plano. Realice la presentacin preliminar de la simulacin. Cuando la mesa caiga sobre el plano, una o ms de sus patas deberan separarse. Si no lo hacen, lo ms probable es que el valor de impulso de la accin de fractura sea demasiado alto. Pruebe a reducirlo. Una pieza Normal se separa cuando recibe suficiente impulso. Una pieza Unbreakable nunca se rompe sola. Las piezas del tipo Keystone (Clave) hacen que el objeto entero se fracture si ellas se rompen.

58

Captulo 9: Acciones

Al trmino de este tutorial sabr:

Animacin
reactor tiene la capacidad de alimentar con simulaciones fsicas la animacin con keyframes. Con frecuencia resulta complejo alcanzar la mezcla ideal de animacin con keyframes y simulacin fsica, y reactor ofrece un buen nmero de mecanismos que ayudan a sacar al mximo partido de la fsica de reactor. En un nivel bsico, la simulacin fsica puede tomar el control de toda la escena y alimentar directamente a la animacin de 3ds max . En un nivel ms complejo, los cuerpos con keyframes pueden interactuar con la simulacin fsica.

Crear una animacin fsica Usar keyframes de 3ds max con reactor Usar cuerpos inflexibles Interactuar con la escena y actualizar 3ds max para reflejar las interacciones

Creacin de una animacin sencilla


Puede crear una animacin simple con estos sencillos pasos. En el tutorial se crea un conjunto de bolas que bajan rodando por una rampa hasta un cubo1.

Contenido del tutorial


En este tutorial se trata la animacin en 3ds max con reactor. Hay varias formas de animar objetos, al tiempo que se capturan los datos de simulacin fsica. stas van desde animaciones sencillas totalmente compuestas por datos fsicos hasta animaciones ms complejas, en las que hay una mezcla de cuerpos fsicos y de keyframes.
Figura 10.1.1

1. En algunas versiones de demostracin de reactor no es posible simular este nmero de cuerpos en la cantidad de fotogramas especificada.

60

Captulo 10: Animacin

1. Cree el cubo como en la Figura 10.1.1. El cubo es

un compuesto Booleano de dos segmentos de cono en 3ds max. Utilice una malla cncava con masa cero.
2. Cree la rama, que es simplemente una caja en

ngulo.
3. Cree diez bolas, cada una de ella con 2 kg de

nmero de subpasos por keyframe con Substeps/Key (Subpasos/Key). En cada keyframe se toma un paso de simulacin de reactor, por lo que un porcentaje inferior de fotogramas para keyframes y un nmero superior de subpasos por keyframe mejora la precisin de la animacin.
10.Para ralentizar o acelerar la animacin de modo

masa. En el ejemplo se usan geoesferas. Cree la primera esfera justo sobre la parte superior de la rampa y, mientras mantiene presionada Mays, arrastre la esfera en vertical para situar la copia justo sobre la posicin de la original sin interprenetarse. Seleccione 9 como la cantidad de copias que desea. Utilice Bounding Sphere (Esfera delimitadora) para la geometra de simulacin de la bola para tratar la esfera comoconvexa.
4. Cree un plano de suelo y asegrese de utilizar

que su velocidad sea diferente a la del mundo real, puede cambiar la escala de tiempo. Los valores inferiores a 1 reducen la velocidad, los superiores la aumentan.
11.Haga clic sobre Perform Simulation (Ejecutar

simulacin) en la persiana Animation de la utilidad reactor para ejecutar la simulacin y crear los keyframes de 3ds max.

una malla cncava que simule la geometra del plano de suelo.


5. Aada todos los cuerpos a una coleccin de

cuerpos rgidos.
6. Ejecute la simulacin para ver el aspecto que

tendr la animacin. Utilice Preview in Window en la persiana Display de la utilidad reactor.


7. Abra la persiana Animation (Animacin) de la

utilidad reactor (figura 10.2.2).


8. Decida qu fotogramas quiere simular con
Figura 10.2.2

Start Frame (Fotograma inicial) y End Frame (Fotograma final). Para esta animacin, seleccione 0 y 600.
9. Todos los fotogramas de esta animacin son

Puede ver los keyframes deslizando la barra Animacin de 3ds max y renderizando la animacin como otra cualquiera.

keyframes, as que deje el valor de Frames/Key (Fotogramas/Key) en 1. Para aumentar la precisin de la animacin puede aumentar el

Mezcla de keyframes y animacin fsica I

61

Mezcla de keyframes y animacin fsica I


Puede usar keyframes definidos antes de la simulacin para dar velocidades iniciales a los cuerpos. Usando la escena del ejemplo anterior, puede crear una animacin con un cuerpo mvil si sigue estos pasos.
1. Elimine los keyframes de todos los objetos y

6. Establezca el Start Frame en el fotograma

actual en la persiana Animation de reactor.


7. Haga clic en Perform Simulation.

La posicin inicial y la del fotograma inicial se comparan y la bola recibe la velocidad inicial adecuada. La bola debe volar hasta el lado del cubo y volcarlo, esparciendo por el suelo las bolas que se encontraban en el cubo. Antes de precalcular toda la animacin, puede eliminar las bolas pequeas de la coleccin rgida para as obtener rpido la posicin correcta de la esfera grande y asegurarse de que golpea el cubo. Despus puede devolverlas para la simulacin.

aada una esfera grande del tamao del cubo.


2. Asigne una gran masa a la esfera y adala a la

coleccin de cuerpos rgidos.


3. Asigne al cubo una masa distinta de cero para

que pueda volcarse.


4. En el primer fotograma, coloque la esfera de

Animacin para FFD


Puede animar cuerpos flexibles FFD del mismo modo que cualquier otro tipo de cuerpo.
1. Con el ejemplo de tetera del captulo 4, cambie

forma que se encuentre a una buena distancia horizontal del cubo. Asegrese de tener seleccionada la esfera y presione la Barra espaciadora para bloquear el conjunto de seleccin.

las propiedades flexibles del mismo a una masa de 4 kg y una rigidez de 0,1.
2. Abra la persiana Animation de reactor. 3. Defina Start Frame en 0, End Frame en 150 y

Substeps/Key en 5.
4. Seleccione Update Viewports (Actualizar

visores) y haga clic en Perform Simulation. Puede ver como la tetera se encoge y cambia de forma al rebotar en el suelo y crearse los keyframes. Una de las principales ventajas de usar una malla FFD es que la complejidad de la malla subyacente puede alterarse despus de crear los keyframes. As, al aumentar el valor de segmento en el panel Modificar puede cambiarse la complejidad de la malla de la tetera.

Figura 10.2.3

5. Haga clic en el botn Animar de la seccin

Animacin de 3ds max. Deslice la barra Animacin hasta el fotograma 50 y arrastre la esfera en direccin al cubo.

62

Captulo 10: Animacin

Mezcla de keyframes y animacin fsica II


Puede crear keyframes del movimiento de objetos con herramientas estndar de 3ds max, y simular fsicamente los mismos fotogramas sin miedo a afectar el movimiento con keyframes. Seleccione Unyielding (Inflexible) en la persiana Properties de reactor para indicar que un objeto no se ve afectado por las colisiones con otros objetos. Otros objetos rebotarn naturalmente ante el objeto inflexible. Este mtodo es preferible para simulaciones precisas en lugar de la alternativa de no incluir los objetos en la coleccin de cuerpos rgidos y crear keyframes para ellos (porque esto hara que no interactuaran con objetos fsicos y pareceran atravesarlos). Los objetos inflexibles son por lo dems normales y es posible asociar muelles y dashpots a ellos. En la persiana Advanced de reactor hay una opcin llamada Unyielding: Updates/Frame (Inflexible: Actualizaciones/Fotograma). Antes de iniciar una simulacin, reactor localiza la posicin y orientacin de los cuerpos inflexibles en momentos distintos. Durante la simulacin, el motor interpolar entre estas posiciones y orientaciones. El nmero de posiciones tomadas de 3ds max se define con el parmetro Updates/ Frame. Normalmente no es necesario cambiar este valor. Al reducirlo se acelera la animacin, y al aumentarlo se obtiene el efecto opuesto. A veces es necesario aumentar este valor para corregir el movimiento de un cuerpo.

Si quiere incluir un objeto en una escena y slo est interesado en el movimiento propio del cuerpo, puede pasar por alto las colisiones del cuerpo seleccionando Disable All Collisions (Desactivar todas las colisiones) en la persiana Properties.

Mallas deformantes
Al animar personajes, un enfoque frecuente es usar un modificador que aplica piel y huesos al personaje. El modificador Skin (Piel) deforma las mallas segn el movimiento de sus partes componentes (los huesos). La malla de la piel envuelve los huesos. As, al animar un personaje, en realidad se animan sus huesos y la piel se limita a seguir la forma dictada por los huesos. Los huesos suelen simplificarse porque no se presentan. Simplemente dictan el movimiento. Desde el punto de vista de reactor, las pieles son parte de un subconjunto mayor de tipos de objeto llamados Mallas deformantes. Una malla deformante es un cuerpo cuya posicin, orientacin y forma estn controladas totalmente por 3ds max. El movimiento y la deformacin se definen en 3ds max, pero quiz desee usar ese movimiento totalmente guionado para afectar a otros cuerpos. Puede aadir mallas deformantes como partes de una coleccin de malla deformante. Puede crear una coleccin de malla deformante usando el botn DMCollection del men reactor, como cualquier otra coleccin. Se simulan fsicamente como parte de sus colecciones, y as pueden afectar a a otros cuerpos fsicos, pero mantienen sus cuerpos y posiciones totalmente controlados mediante 3ds max, y no se ven afectados por la fsica.

Reduccin de keyframes

63

Propiedades de malla deformante


A continuacin se muestra una lista de las propiedades especficas de mallas deformantes. Updates/FrameEste parmetro permite especificar la frecuencia con que reactor pide a 3ds max la posicin del objeto. Los valores ms altos son ms precisos, pero tardan ms en simularse. Los valores bajos pueden producir simulaciones imprecisas. Freeze (Congelar)La casilla Freeze desactiva las actualizaciones de objetos en la coleccin. De este modo se hace que los objetos se comporten como cuerpos rgidos fijos. Esto resulta til para situaciones en las que otros objetos se siten sobre la malla deformada antes de empezar la animacin.

3ds max interpola los fotogramas situados entre los especificados. De este modo se obtiene un nivel de control superior, al tiempo que se reduce considerablemente el uso de recursos. Puede utilizar cualquiera de las opciones siguientes para reducir las animaciones de keyframe en una escena. El botn Reduce Keyframes (Reducir Keyframes) de la persiana Properties reduce los keyframes de los cuerpos rgidos seleccionados. El botn Delete Keyframes (Eliminar keyframes) de la persiana Properties elimina todos los keyframes de los cuerpos rgidos seleccionados. Las opciones Start/End Frame de la persiana Simulation aseguran que toda reduccin o supresin que se desea realizar slo se produce entre los intervalos especificados. El botn Reduce Now (Reducir ahora) de la persiana Advanced reduce los keyframes de todos los cuerpos rgidos de una simulacin. La opcin Reduce After Simulation (Reducir tras simulacin) de la persiana Advanced asegura la reduccin automtica de keyframes al realizar la simulacin. El botn Delete Now de la persiana Advanced elimina todos los keyframes de los cuerpos rgidos seleccionados en una simulacin.

Reduccin de keyframes
Al componer animaciones, es comn que muchos de los keyframes sean relativamente redundantes. Sin embargo, estos keyframes redundantes siguen usndose en el proceso de creacin, lo que provoca un gran consumo de memoria y espacio en disco. Por eso, reactor tiene una funcin llamada reduccin de keyframes. La reduccin de keyframes permite asignar keyframes especficos a objetos. Por ejemplo, puede indicar a un cuerpo rgido sus posiciones en un par de fotogramas, quiz en el 0, el 25 y el 90, y

64

Captulo 10: Animacin

Modificacin interactiva
Con frecuencia, la escena con la que deseara trabajar no es exactamente la que ha diseado con 3ds max. Puede haber diseado una escena con los objetos sobre el suelo, pero quiz los quiera en su posicin natural de reposo. Tambin puede querer reflejar otros campos fsicos, como los pliegues que se forman al ondear las cortinas. Puede utilizar la funcin Update Max (Actualizar Max) para trasladar los cambios fsicos de la simulacin a 3ds max. Cuando ejecuta una simulacin en una ventana, espere a que los objetos de la escena alcancen el estado que desea trasladar a 3ds max, abra el men Max y seleccione Update Max (figura 10.7.1).

Figura 10.7.1

Al cerrar la ventana de presentacin preliminar y hacer clic en los paneles de vista, se actualiza la escena. No puede realizarse la actualizacin de 3ds max hasta cerrar la ventana de presentacin preliminar. Adems, la opcin Use Max Parameters (Usar parmetros de Max) restaura la ventana de simulacin para que use el paso de tiempo y subpasos indicados en la persiana Animacin, y el Tiempo de animacin total indicado en 3ds max.

Introduccin
En esta seccin se trata el uso de MAXScript con el plug-in reactor . En l, se espera que el usuario tenga un conocimiento bsico de uso del lenguaje de generacin de guiones. Puede acceder a informacin completa sobre MAXScript con la opcin Referencia de MAXScript del men Ayuda. Puede introducir secciones de guin en el Oyente integrado de 3ds max para pruebas y experimentacin. Para iniciar el Oyente de MAXScript, pulse F11. Tambin puede utilizar la opcin Oyente de MAXScript en el men MAXScript. (Consulte la figura 11.1.)

Objetos de reactor
Puede crear con MAXScript muchos de los objetos disponibles en el plug-in reactor. Tambin puede acceder a muchas de las propiedades de las persianas con el guionado. Puede mostrar los objetos de reactor accesibles con los siguientes comandos de MAXScript:
apropos "HK*" apropos "Havok*"

Cuando se redact este manual, estos comandos mostraban la lista de objetos siguiente:
apropos "Havok*" HavokSetGravity (const Primitive): HavokSetGravity() HavokGetGravity (const Primitive): HavokGetGravity() HavokDeleteAllKeys (const Primitive): HavokDeleteAllKeys() HavokReduceAllKeys (const Primitive): HavokReduceAllKeys() HavokReduceSelectedKeys (const Primitive): apropos "HK*" HKWaterWSM (const MaxClass): Havok_Water HKRBCollection (const MaxClass): RBCollection HKConstraintSolver (const MaxClass): CSolver

Figura 11.1

66

Captulo 11: MAXScript y reactor

HKPointToNail (const MaxClass): Point_Nail HKPointToPath (const MaxClass): Point_Path HKPointToPoint (const MaxClass): Point_Point HKDMCollection (const MaxClass): DMCollection HKMotor (const MaxClass): Motorhelper HKCLCollection (const MaxClass): CLCollection HKWind (const MaxClass): Windhelper HKToyCar (const MaxClass): Toy_Car HKSBCollection (const MaxClass): SBCollection HKRPCollection (const MaxClass): RPCollection HKPlane (const MaxClass): Planehelper HKSpring (const MaxClass): Springhelper HKFracture (const MaxClass): Fracture HKDashpot (const MaxClass): Dashpot HKClothModifier (const MaxClass): Havok_Cloth HKWaterWSMObject (const MaxClass): Water HKSoftBodyModifier (const MaxClass): Havok_SoftBody HKRopeModifier (const MaxClass): Havok_Rope HKAttachToRBModifier (const MaxClass): Havok_AttachToRB HKDynamics (const MaxClass): Havok_Dynamics OK HavokReduceSelectedKeys() HavokDeleteSelectedKeys (const Primitive): HavokDeleteSelectedKeys() HavokTestSelectedConvexity (const Primitive): HavokTestSelectedConvexity() HavokExportWorld (const Primitive): HavokExportWorld() HavokAnalyzeWorld (const Primitive): HavokAnalyzeWorld()

HavokPerformSimulation (const Primitive): HavokPerformSimulation() HavokShowInWindow (const Primitive): HavokShowInWindow() HavokSetDirectX (const Primitive): HavokSetDirectX() HavokGetDirectX (const Primitive): HavokGetDirectX() HavokSetFullScreen (const Primitive): HavokSetFullScreen() HavokGetFullScreen (const Primitive): HavokGetFullScreen() HavokSetMSDamping (const Primitive): HavokSetMSDamping() HavokGetMSDamping (const Primitive): HavokGetMSDamping() HavokSetMSRestLength (const Primitive): HavokSetMSRestLength() HavokGetMSRestLength (const Primitive): HavokGetMSRestLength() HavokSetMSStrength (const Primitive): HavokSetMSStrength() HavokGetMSStrength (const Primitive): HavokGetMSStrength() HavokSetTextureQuality (const Primitive): HavokSetTextureQuality() HavokGetTextureQuality (const Primitive): HavokGetTextureQuality() HavokSetCastShadowsPlane (const Primitive): HavokSetCastShadowsPlane() HavokGetCastShadowsPlane (const Primitive): HavokGetCastShadowsPlane() HavokSetCastShadowsCheck (const Primitive): HavokSetCastShadowsCheck() HavokGetCastShadowsCheck (const Primitive): HavokGetCastShadowsCheck() HavokRemoveLight (const Primitive): HavokRemoveLight() HavokAddLight (const Primitive): HavokAddLight() HavokSetCamera (const Primitive): HavokSetCamera() HavokGetCamera (const Primitive): HavokGetCamera()

Objetos de reactor

67

HavokCheckRigidRigidCollisions (const Primitive): HavokCheckRigidRigidCollisions() HavokEnableAllCollisions (const Primitive): HavokEnableAllCollisions() HavokEnableAllRigidCollisions (const Primitive): HavokEnableAllRigidCollisions() HavokEnableRigidRigidCollisions (const Primitive): HavokEnableRigidRigidCollisions() HavokDisableAllRigidCollisions (const Primitive): HavokDisableAllRigidCollisions() HavokDisableRigidRigidCollisions (const Primitive): HavokDisableRigidRigidCollisions() HavokSetExportDisplay (const Primitive): HavokSetExportDisplay() HavokGetExportDisplay (const Primitive): HavokGetExportDisplay() HavokSetExportFormat (const Primitive): HavokSetExportFormat() HavokGetExportFormat (const Primitive): HavokGetExportFormat() HavokSetUpdateViewports (const Primitive): HavokSetUpdateViewports() HavokGetUpdateViewports (const Primitive): HavokGetUpdateViewports() HavokSetTimeScale (const Primitive): HavokSetTimeScale() HavokGetTimeScale (const Primitive): HavokGetTimeScale() HavokSetSubsteps (const Primitive): HavokSetSubsteps() HavokGetSubsteps (const Primitive): HavokGetSubsteps() HavokSetFramesKey (const Primitive): HavokSetFramesKey() HavokGetFramesKey (const Primitive): HavokGetFramesKey() HavokSetEndFrame (const Primitive): HavokSetEndFrame()

HavokGetEndFrame (const Primitive): HavokGetEndFrame() HavokSetStartFrame (const Primitive): HavokSetStartFrame() HavokGetStartFrame (const Primitive): HavokGetStartFrame() HavokSetReduceAfterSimulation (const Primitive): HavokSetReduceAfterSimulation() HavokGetReduceAfterSimulation (const Primitive): HavokGetReduceAfterSimulation() HavokSetReductionThreshold (const Primitive): HavokSetReductionThreshold() HavokGetReductionThreshold (const Primitive): HavokGetReductionThreshold() HavokSetAnalyzeBeforeSimulation (const Primitive): HavokSetAnalyzeBeforeSimulation() HavokGetAnalyzeBeforeSimulation (const Primitive): HavokGetAnalyzeBeforeSimulation() HavokSetSaveBeforeSimulation (const Primitive): HavokSetSaveBeforeSimulation() HavokGetSaveBeforeSimulation (const Primitive): HavokGetSaveBeforeSimulation() HavokSetWorldScale (const Primitive): HavokSetWorldScale() HavokGetWorldScale (const Primitive): HavokGetWorldScale() HavokSetCollisionTolerance (const Primitive): HavokSetCollisionTolerance() HavokGetCollisionTolerance (const Primitive): HavokGetCollisionTolerance() HavokSetResolver (const Primitive): HavokSetResolver() HavokGetResolver (const Primitive): HavokGetResolver() HavokSetUnyieldUpdates (const Primitive): HavokSetUnyieldUpdates() HavokGetUnyieldUpdates (const Primitive): HavokGetUnyieldUpdates()

68

Captulo 11: MAXScript y reactor

HavokSetAngularDrag (const Primitive): HavokSetAngularDrag() HavokGetAngularDrag (const Primitive): HavokGetAngularDrag() HavokSetLinearDrag (const Primitive): HavokSetLinearDrag() HavokGetLinearDrag (const Primitive): HavokGetLinearDrag() HavokSetAddDragAction (const Primitive): HavokSetAddDragAction() HavokGetAddDragAction (const Primitive): HavokGetAddDragAction() OK

Puede ver propiedades especficas de cualquiera de los objetos de reactor con el comando MAXScript showProperties, seguido de una variable. Con la coleccin de cuerpos rgidos creada anteriormente, al escribir showProperties rbc se muestra lo siguiente:
.rigidBodiesTab (Rigid_Bodies_Tab) : node array .showText (Show_Text) : boolean .iconSize (Icon_Size) : float .displayType (Display_Type) : integer .odeSolver (ODE_Solver) : integer .refreshRate (Refresh_Rate) : float .addDeactivator (Add_Deactivator) : integer .energy : float .time : float .samples : integer

Al escribir cualquier comando de la lista HK* seguido de un conjunto de parntesis se crea un objeto nuevo. Por ejemplo, para crear una nueva coleccin de cuerpos rgidos, escriba HKRBCollection() en el Oyente. Este objeto nuevo siempre se sita en el origen de escena [0, 0, 0] y puede moverse con los comandos estndar de MAXScript, como
rbc = HKRBCollection() rbc.position = [10, 10, 10]

Los comandos de la lista Havok* devuelven o requieren parmetros. Estn realacionados con los elementos de la utilidad reactor, y permiten definir y comprobar parmetros. Esto es as con todos los comandos anteriores excepto los de colisiones, como HavokEnableRigidRigidCollisions, que precisa el nombre de una coleccin de cuerpos rgidos y los dos cuerpos rgidos entre los que se desean activar colisiones.

Estas propiedades suelen relacionarse directamente con elementos en la persiana Modificar de ese objeto. Por ejemplo, en lugar de usar los botones Pick (Designar), Add (Aadir) o Delete (Eliminar) de la lista de cuerpos rgidos de la interfaz de usuario, un guin puede alterar la propiedad de matriz de nodo rigidBodiesTab del mismo modo que cualquier otra matriz de MAXScript.
rbca = rbc.rigidBodiesTab rbca[1+rbca.count] = $

Esta breve seccin de un guin asigna la variable rbca a las matriz de cuerpos rgidos de la coleccin y aade el objeto seleccionado al final de ella.

Definicin de propiedades fsicas

69

Definicin de propiedades fsicas


Los objetos de reactor tienen propiedades fsicas que pertenecen especficamente al motor de fsica de reactor. Estas propiedades se asignan a cualquier objeto de 3ds max como propiedades definidas por el usuario. Puede utilizar la siguiente funcin de MAXScript para definir las propiedades fsicas iniciales de cualquier objeto. A partir de entonces, puede emplear los comandos de MAXScript setUserProp y getUserProp para acceder a propiedades individuales y cambiarlas.
function setHKProperties o \ mass:1.000000\ elasticity:0.300000\ friction:0.300000\ optimizationLevel:0.500000\ unyielding:0\ simulationGeometry:2\ proxyGeometry:"<None>"\ useDisplayProxy:0\ disableCollisions:0\ inactive:0\ displayProxy:"<None>" = ( if not undefined == o then

Ejecucin de la simulacin
Puede iniciar la simulacin de reactor con MAXScript llamando a la funcin HavokPerformSimulation(). Consulte el guin de macro relativo a la barra de herramientas de reactor para otras funciones disponibles. Este archivo de guin se llama reactor.mcr y se encuentra en la subcarpeta ui/macroscripts de la carpeta de programa de 3ds max.

Guiones de ejemplo
Los guiones siguientes se han incluido en este manual como referencia sobre el uso de MAXScript. En el primer guin se muestran las propiedades fsicas bsicas de masa, elasticidad y friccin en una barra de herramientas flotante. Con ello se muestra cmo definir propiedades sin necesidad de recurrir a la utilidad reactor principal.
rollout HKProperties "Properties" ( local bUpdate = true group "Physical Properties" ( spinner mass "Mass" range:[0,1000000,0] scale:0.01 fieldwidth:75 spinner elasticity "Elasticity" range:[0,1,0.3] scale:0.01 fieldwidth:75 spinner friction "Friction" range:[0,1,0.3] scale:0.01 fieldwidth:75 ) function enableAll = ( mass.enabled = true elasticity.enabled = true friction.enabled = true ) function disableAll = ( mass.enabled = false elasticity.enabled = false friction.enabled = false )

(
setUserProp o "Mass" mass setUserProp o "Elasticity" elasticity setUserProp o "Friction" friction setUserProp o "Optimization_Level" optimizationLevel setUserProp o "Unyielding" unyielding setUserProp o "Simulation_Geometry" simulationGeometry setUserProp o "Proxy_Geometry" proxyGeometry setUserProp o "Use_Display_Proxy" useDisplayProxy setUserProp o "Disable_Collisions" disableCollisions setUserProp o "Inactive" inactive setUserProp o "Display_Proxy" displayProxy )--if )

70

Captulo 11: MAXScript y reactor

function updateProperties = ( if bUpdate then ( for o in selection do ( setUserPropo "Mass" mass.value setUserPropo "Elasticity" elasticity.value setUserPropo "Friction" friction.value )--for )--if ) function updateRollout = ( if 0 == selection.count then ( disableAll() return false )--if mass.value = 0 elasticity.value = 0 friction.value = 0 for o in selection do ( if not isKindOf o GeometryClass then ( disableAll() return false )--if if (undefined == (getUserProp o "Mass")) or (undefined == (getUserProp o "Elasticity")) or (undefined == (getUserProp o "Friction")) then ( setHKProperties o )--if bUpdate = false mass.value += getUserProp o "Mass" elasticity.value += getUserProp o "Elasticity" friction.value += getUserProp o "Friction" bUpdate = true )--for mass.value /= selection.count

elasticity.value /= selection.count friction.value /= selection.count enableAll() ) on mass changed value do updateProperties() on elasticity changed value do updateProperties() on friction changed value do updateProperties() on HKProperties open do updateRollout() ) if undefined != HKDynamicsFloater then closeRolloutFloater HKDynamicsFloater HKDynamicsFloater = newRolloutFloater "reactor" 190 300 addRollout HKProperties HKDynamicsFloater callbacks.removeScripts #selectionSetChanged id:#Havok callbacks.addScript #selectionSetChanged "HKProperties.updateRollout()" id:#Havok

Definicin de propiedades fsicas

71

El guin siguiente convierte una cadena de CI de 3ds max en rbol de restricciones de reactor.
--tau - fuerza de restricciones --twoway- crear o no restricciones bidireccionales --N.B. objetos finales de cadena --se vinculan automticamente dos vas -- ga - matriz grupo global tau = 15.0 global twoway = false global ga = #() function createPointPoint o1 o2 p = ( pp = Point_Point() pp.name = o1.name + o2.name + "P2P" pp.rigidBodyA = o1 pp.rigidBodyB = o2 pp.point = p pp.tau = tau pp.position = (o1.position + o2.position) / 2 return pp ) -- __MaxIK2reactorKConstraint -- parmetros: --rbc- coleccin de cuerpos rgidos --cs - resolutor de restricciones --o - cabeza de cadena de CI -function __MaxIK2reactorConstraint rbc cs o = ( rbca = rbc.rigidBodiesTab rbca[1+rbca.count] = o if undefined == getUserProp o "Mass" then setHKProperties o -- fin de cadena if 0 == o.children.count then return false csa = cs.constraintsTab for c in o.children do (

p = Point() p.position = (o.position + c.position) / 2 append ga p pp = createPointPoint o c p csa[1+csa.count] = pp __MaxIK2HavokConstraint rbc cs c if twoway then ( p.position = ((o.position*1) + (c.position*2)) / 3 p = Point() p.position = ((o.position*2) + (c.position*1)) / 3 append ga p pp.position -= [1, 1, 1] pp = createPointPoint c o p csa[1+csa.count] = pp pp.position += [1, 1, 1] ) ) return true ) mapped function MaxIK2HavokConstraint o = ( if (undefined == o) or (0 == o.children.count) then ( --messageBox "Select the head of an linked object chain" return false ) ga = #() rbc = RBCollection() rbc.name = o.name + "RBCollection" move rbc (o.position - [5, 5, 5]) cs = CSolver() cs.name = o.name + "CSolver" cs.rbCollectionNode = rbc move cs (o.position + [5, 5, 5]) __MaxIK2HavokConstraint rbc cs o join ga #( cs, rbc )

72

Captulo 11: MAXScript y reactor

join ga cs.constraintsTab g = group ga g.name = o.name + "ConstraintGroup" setGroupOpen g true ) -- * tras emplear esta utilidad, asegrese de que todos los cuerpos -- de la coleccin tienen desactivada la colisin entre s -- * vase Advanced en RBCollection -- * tambin aadir RBCollection y CSolver a la simulacin utility HKConstrainIK "Constrain IK Chain with Points" ( button bConstrain "Constrain" checkbox cbTwoway "two-way" spinner sTau "strength:" range:[0,1000,15] on bConstrain pressed do ( if 0 == selection.count then ( messageBox "Select someting!" ) else ( tau = sTau.value twoway = cbTwoway.checked undo on ( MaxIK2HavokConstraint selection ) ) ) )

Ejecucin de guiones
Una vez que ha escrito MAXScripts, se guardan normalmente en archivos de texto con la extensin .ms en el subdirectorio Scripts. Tras ello puede acceder a estos guiones con la persiana de utilidad MAXScript. Para ello, abra el panel Utilidades y presione en el botn MAXScript. Con el botn Ejecutar, seleccione el archivo de guin HKPropertiesFloater.ms. Ahora puede alterar las propiedades de cuerpos rgidos en este cuadro de dilogo en lugar de en la persiana de utilidades de reactor. Al ejecutar el segundo guin de ejemplo del archivo HKConstrainIKwithPoints.ms se aade un elemento a la lista de utilidades de MAXScript. En la carpeta Scenes del directorio reactor hay dos archivos asociados con este tutorial. En ellos se muestra cmo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialScriptStart.max y TutorialScriptEnd.max.

Ejecucin de guiones

73

La primera escena contiene un modelo de cadena de esferas, vinculadas jerrquicamente en el formato estndar de 3ds max.

5. Designe la esfera pequea. Se trata del objeto

ascendiente general.

Figuras 11.5.2 y 11.5.3

6. En la persiana Constrain IK Chain with Points


Figura 11.5.1

Para crear una cadena de esferas restringida a partir de una jerarqua de 3ds max:
1. Cree una escena con seis esferas dispuestas

verticalmente una sobre otra. La esfera superior debe ser ms pequea que las otras y debe encontrarse mucho ms alta que ellas.
2. Cree una superficie plana en la que caen las

(Restringir cadena de CI con puntos), establezca la fuerza de restriccin en un valor situado entre 50 y 100 y presione el botn Restricciones. De este modo se crea un objeto agrupado que contiene un nmero determinado de restricciones punto a punto, un resolutor de restriccin y una coleccin de cuerpos rgidos.
7. Designe RBCollection01 y desactvelo.

esferas durante la simulacin.


3. Cree una jerarqua vinculada en la que cada

esfera se vincule a la que hay sobre ella. Tenga en cuenta que slo las esferas grandes han de tener masa y todos los objetos tienen desactivada la opcin Mostar Descendientes en el panel Propiedades, por lo que los descendientes slo se muestran una vez. Si no quiere crear la escena, puede cargar TutorialScriptStart.max.
4. Ejecute la simulacin y observe como las

La coleccin de cuerpos rgidos recin creada contiene las esferas y aparece un error si se han duplicado.
8. Ejecute de nuevo la simulacin. Esta vez, las

esferas penden en una cadena desde la superior, mediante restricciones punto a punto. Consulte la Figura 11.5.3.

esferas se contraen una sobre otra. Consulte la Figura 11.5.2.

74

Captulo 11: MAXScript y reactor

Escala universal
Puede utilizar 3ds max para modelar gran variedad de objetos. Tambin puede usar diferentes unidades, como metros, pulgadas o unidades genricas de 3ds max. Desde el punto de vista visual, la escala y unidades usadas no tienen importancia. Sin embargo, la representacin fsica de los objetos depende de las unidades usadas. Las unidades determinan el tamao del objeto en el mundo fsico. La funcin del plug-in Analyze World (Analizar universo) advierte si detecta el uso de valores muy extraos (gravedad muy alta, objetos muy grandes con masa muy pequea). Sin embargo, una buena comprensin del uso de las diferentes unidades y escalas en el plug in reduce el esfuerzo necesario, y ayuda a disear simulaciones exactas ms rpido. Este es el objetivo de esta seccin.

World Scale (Escala universal)


Para crear simulaciones correctas, el plug-in de reactor debe conocer la correspondencia entre las unidades del usuario y las del mundo real. Puede establecer esta correspondencia con la opcin World Scale de la persiana Advanced (figura 12.1.1). Puede disear sus escenas con cualquier escala, empleando las unidades que desee. Si define como proporcin que 1 unidad de 3ds max equivale a 1 metro en el mundo fsico, puede controlar fcilmente el tamao de los objetos en la simulacin fsica. Por ejemplo, si disea una escena en metros con objetos del doble del tamao que desea para la simulacin, puede establecer World Scale como 1m = 2,0m.

76

Captulo 12: Escala universal

En general, cuanto mayor es el valor de tolerancia de colisin, ms estable ser la simulacin. Sin embargo, un valor demasiado alto de tolerancia de colisin puede provocar que haya huecos entre los objetos. Debe encontrar el equilibrio entre estabilidad y efecto visual. Hay otra variable en la ecuacin que tambin afecta a la estabilidad global del sistema. El nmero de subpasos tomados durante todos los pasos de simulacin pueden contrarrestar el efecto de una tolerancia pequea. Por eso, se recomienda definir el valor de tolerancia de colisin ms elevado que no afecte visualmente a la escena. Si esto parece inaceptable durante la simulacin debido a las colisiones de objetos inestables, aumente el nmero de subpasos de la simulacin. Por ejemplo, si la escena consta de muchos objetos en una habitacin, una tolerancia de 0,1m debera ser adecuada. Sin embargo, si los objetos de la escena son dados sobre una mesa, es preferible una tolerancia menor, de 0,01m o menos. Si los objetos son vehculos o edificios, se aplica una tolerancia mayor. La tolerancia a colisiones se medie en unidades de usuario. Esto significa que la escala universal afecta a su valor actual.

Figura 12.1.1

Si disea una escena en pulgadas a tamao real, establezca 1m=39,37. Tenga en cuenta que los valores lineales de la escena, como gravedad o longitud de reposo de muelles, se interpretan usando esas unidades. Esto significa que la gravedad del "mundo a doble tamao" debe ser 19,62 m/s2 (es decir, el doble de la normal de 9,81 m/s2).

Tolerancia a colisiones
Uno de los procesos que se producen durante la simulacin dinmica se llama deteccin de colisiones. Esto significa la deteccin de cundo dos objetos colisionan en la escena. Un valor global de tolerancia de colisin especifica la distancia segura mnima entre objetos. Si dos objetos estn ms cerca de lo que indica esta distancia, se considera que colisionan. Esto hace que otro proceso, llamado resolucin de colisin, reaccione aplicando fuerzas a los objetos afectados y haciendo que reboten entre s.

Opciones de simulacin avanzadas


En este captulo se explican todas las opciones de la persiana Advanced.

Collision Tolerance (Tolerancia a colisiones)


La opcin de tolerancia a colisiones indica cunto pueden acercarse los objetos hasta que se considera que colisionan. Para ms detalles, consulte la pgina 76.

Add Drag Action (Aadir accin de arrastre)


La adicin de una accin de arrastre al sistema asegura que los cuerpos rgidos estn sujetos a un arrastre constante. Esto amortigua sus velocidades lineal y angular de forma que alcanzan antes el reposo. Por ejemplo, es muy recomendable crear arrastre siempre que los cuerpos rgidos se unan mediante restricciones, porque de otro modo el sistema de restricciones puede no reposar nunca si se perturba. Los parmetros Lin y Ang determinan respectivamente la amortiguacin lineal y angular aplicada. La accin de arrastre slo se aplica a cuerpos rgidos, no a otras entidades.

Resolver
reactor permite seleccionar un mtodo de resolucin de colisin (consulte la pgina 75) de estos cuatro: Nave (Naif), No Friction (Sin friccin), Simple Friction (Friccin simple) o Complex Friction (Friccin compleja).
NaveInvierte las velocidades de los objetos que se aproximan. Resulta muy rpido, pero muy poco preciso. No FrictionRealiza una autntica resolucin

newtoniana usando los coeficientes de restitucin, pero pasa por alto todos los valores de friccin de los objetos de la escena. Los objetos tienen a deslizarse a travs de otros.
Simple Friction o Complex FrictionRealiza autntica

Unyielding Bodies (Cuerpos inflexibles)


Alteran las propiedades de interpolacin de los cuerpos con keyframes. Consulte la pgina 62.

resolucin newtoniana usando los coeficientes de restitucin y modelos simples y complejos de friccin respectivamente. La simple exige menos recursos de procesador, pero es menos precisa.

78

Captulo 13: Propiedades de simulacin avanzadas

Probablemente no necesitar alterar el resolutor de friccin compleja a no ser que necesite velocidad a cambio de precisin.

World Scale (Escala universal)


Controla el modo en que se interpretan las unidades de 3ds max como mediciones del mundo real durante la simulacin. Es decir, define la escala de los objetos fsicos.

Save Before Simulation (Guardar antes de simulacin)


Marque esta casilla si quiere que 3ds max guarde la escena cada vez que se realice una simulacin.

Analyse Wordl (Anlisis de universo)


El botn Analyze World permite comprobar si la escena contiene parmetros o configuraciones raros o errneos. Puede marcar la casilla Analyze before simulation (Analizar antes de simulacin) si quiere realizar la prueba Analyze World cada vez que efecte una simulacin. Esta prueba est activada de modo predeterminado.

Key Management (Gestin de keys)


En esta seccin se reducen los keyframes duplicados o similares manteniendo una animacin visualmente idntica.

Introduccin
Le presentamos los fundamentos fsicos de Havok. Este documento pretende ofrecer una amplia descripcin general de la simulacin fsica y detalles especficos sobre cmo realiza estas simulaciones la tecnologa de Havok. No queremos hablar de productos especficos de Havok, sino ms bien proporcionarle conocimientos generales sobre la terminologa, la metodologa y el comportamiento relacionados con el motor de fsica Havok.

Ambos mtodos utilizan una especie de cuadrcula que descompone el objeto o la escena simulados en porciones o elementos (consulte la figura 1) y efecta clculos en el nivel de elemento (de ah que cuanto ms elementos haya, ms precisa ser la simulacin y ms clculos requerir.)

Simulacin fsica
La simulacin fsica no es un fenmeno novedoso. Desde la II Guerra Mundial se han usado ordenadores para simular el movimiento balstico (como trayectorias de proyectiles con fines militares). Colossus, uno de los primeros ordenadores de la historia, se cre principalmente para ello. Los mtodos de elementos finitos (EF) y dinmica de fluidos computacional (DFC) se han usado durante dcadas en el diseo industrial para simular desde pruebas de choque de vehculos hasta la corriente de aire sobre semiconductores. Estos dos mtodos suelen ser muy costosos en cuanto a los recursos de UCP necesarios, ya que buscan la precisin y, por tanto, requieren clculos altamente pormenorizados.
Figura 1: Simulacin de temperatura basada en elementos finitos, con indicacin de un elemento.

80

Apndice

La mayora de estas simulaciones de alto nivel utilizan algn tipo de condicin lmite o informacin sobre los lmites de la simulacin para tener en cuenta el resto de la escena con respecto al objeto que se simula. Por ejemplo, quiz deseemos examinar el resultado de un impacto en la aleta lateral de un coche. En lugar de modelar todo el coche, modelamos slo la aleta y establecemos unas condiciones lmite teniendo en cuenta que la aleta est unida a otras piezas semirrgidas del coche: la aleta se simula aislada, simplemente por el excesivo coste de simular todo el coche con el nivel de precisin deseado. De hecho, no nos interesa toda la escena ni el sistema completo (el coche), sino slo el objeto en s (la aleta), por lo que debemos asumir supuestos sobre el resto de la escena para poder simular el objeto con la precisin adecuada. En otro contexto tal vez queramos observar cmo se comportan entidades que interactan para lograr un comportamiento sistmico global, es decir, simulacin de sucesos discretos cuyo inters reside en el comportamiento combinado de un sistema de sucesos durante un periodo de tiempo. Por ejemplo, puede crear una simulacin de sucesos discretos con un empleado de banca (consulte la figura 2) y la longitud de la cola de clientes que se forma partiendo de determinadas condiciones (tiempo medio por cliente, velocidad del empleado, etc.).

Figura 2: Simulacin de sucesos discretos de empleado de banca y clientes

La serie continua de la simulacin


En este caso no nos interesa si los distintos clientes se empujan entre s o tropiezan con las cuerdas gua de la cola, lo nico que queremos saber es la longitud media de la cola y la capacidad media del banco. En este caso hablamos de medias porque se trata de comportamiento estadstico en vez de individual (con un modelo y unos supuestos adecuados podemos predecir el tiempo de espera de un cliente con un margen de error estadstico, pero nunca podramos pronosticar exactamente qu le sucedera al cliente, con quin se encontrara en el banco o si resbalara con una cscara de pltano).

Apndice

81

Esto nos lleva a una serie continua de simulacin fsica: en un extremo tenemos la simulacin basada en elementos finitos, muy exacta pero tambin muy localizada, y en el otro tenemos la simulacin de sucesos discretos, donde no interesa el comportamiento de las entidades individuales, sino el del sistema como un todo. La simulacin fsica de Havok est a medio camino entre ambos extremos: no nos preocupa realmente el comportamiento especfico y exacto de un objeto o una subparte de un ensamblaje, pero s queremos saber cmo interacta y se comporta cada uno de los objetos, aunque quiz no nos interese la presin en un punto interno determinado del objeto ni la distribucin del calor en el objeto. En el otro extremo del espectro, tampoco buscamos un comportamiento combinado global del sistema sin tener en cuenta el comportamiento de los elementos individuales, precisamente lo que nos interesa son dichos elementos. Con Havok, se modela toda la escena; estamos interesados en los comportamientos de conjuntos de objetos fsicos de diferentes formas y materias con vistas a crear entornos inmersivos e interesantes.

Realismo y credibilidad
El objetivo principal de Havok es proporcionar una simulacin que parezca real. En muchos casos hemos debido aceptar supuestos y tomar atajos para simular la escena tan rpido como sea posible, pero con estos atajos siempre hemos cedido en precisin, no en credibilidad. Uno de nuestros aliados es el caos. El mundo en que vivimos es inherentemente catico: todos conocemos el efecto mariposa (una mariposa bate sus alas en Canad y, por una increble sucesin de acontecimientos, provoca un tifn en la India). En el caso de la simulacin fsica, tratamos con tantos parmetros (posiciones, orientaciones, fuerzas, velocidades, etc.) de tantos objetos que incluso el ms leve cambio en la condicin inicial puede provocar grandes diferencias en la simulacin resultante. Esta es la razn principal de que la animacin de sistemas fsicos (como ropa, viento, objetos que se rompen) no suela tener un aspecto realista salvo que: a) el animador sea especialmente hbil y tenga mucho tiempo, y b) se utilice una animacin diferente cada vez que se requiera el efecto. En la figura 3, un muro es golpeado en tres posiciones diferentes. En un juego se usara una sola animacin cada vez y la posicin de impacto no tendra efecto en la secuencia de destruccin, creando un comportamiento irreal y no creble.

82

Apndice

Se dedica una enorme cantidad de tiempo a imitar el caos en la reproduccin de animaciones, sobre todo con sistemas en tiempo real donde stas pueden reproducirse muchas veces (somos muy poco indulgentes con las animaciones en bucle o repetidas.) En un juego, si un personaje se desploma exactamente igual cada vez que lo asesinan, ello perjudica nuestra propensin a creer que jugamos en un entorno real (aunque tan fantstico como dictamine el argumento del juego). Un motor de fsica proporciona este comportamiento catico de forma predeterminada, lo que constituye el motivo principal para utilizar esta tecnologa.

Escala
La fsica constituye una descomunal fuente de conocimientos. Lo que nos preocupa aqu podra describirse mejor como una simulacin mecnica de las interacciones de los objetos con escalas del mundo real. Trabajamos con la mecnica de Newton, es decir, las leyes de movimiento popularizadas por Sir Isaac Newton que describen el comportamiento de los objetos sometidos a la influencia de otros objetos y a fuerzas externas. Hemos descubierto que estas leyes fallan con escalas verdaderamente minsculas (subatmicas) y verdaderamente enormes (planetarias).

Figura 3: Comportamiento catico de un muro que se rompe tras recibir impactos en distintas posiciones

Apndice

83

Tabla 1: Clculo de la velocidad de un objeto que cae debido a la gravedad Tiempo transcurrido 0 segundos Figura 4: Havok funciona con una escala del "mundo real" y no es adecuado para escalas subatmicas ni galcticas o planetarias. 1 segundo 2 segundos 3 segundos 4 segundos Velocidad Distancia recorrida 0 m/s 10 m/s 20 m/s 30 m/s 40 m/s 0 metros 5 metros 20 metros 45 metros 80 metros Aceleracin 10 m/s2 10 m/s2 10 m/s2 10 m/s2 10 m/s2

Se han concebido nuevos sistemas de fsica para utilizar estas escalas (relativistas y cunticas), pero quedan fuera del mbito del motor de fsica Havok. Como se ilustra en la figura 4, Havok funciona a la escala de los objetos con los que interactuamos habitualmente (sillas, coches, edificios, balones de ftbol). El motor Havok utiliza como unidades predeterminadas metros y kilogramos. Uno de los errores ms frecuentes que suelen cometerse es empezar creando una caja de 100x100x100 unidades (metros) y preguntarse por qu tarda tanto en caer. Observada a una distancia suficiente para poder verla en su totalidad (digamos que a 1 km), una caja de este tamao (bsicamente un hangar aeronutico) parecer caer a la misma velocidad que un hangar aeronutico que se deje caer y se contemple a 1 kilmetro de distancia: muy despacio. Plantemoslo as: la gravedad aproximada en la superficie terrestre es de 10 metros por segundo cada segundo (10 m/s2). Por tanto, cada segundo la velocidad de los objetos aumenta 10 metros por segundo, o 10 m/s. Por tanto, la progresin de la velocidad es la siguiente:

Cmo se ha calculado esto? Justo al principio el objeto est inmvil, por lo que su velocidad es de 0 m/s. Al cabo de 1 segundo, sometido a una aceleracin constante de 10m/s2 alcanzar una velocidad de 10 m/s. Sin embargo, su velocidad media durante ese periodo habr sido de 5 m/s (es decir, velocidad inicial = 0 y velocidad final = 10). Por tanto, la distancia recorrida durante el intervalo de 1 segundo habr sido 5 m. De hecho, la verdadera frmula para calcular la distancia d recorrida con una determinada aceleracin a y una velocidad v inicial tras transcurrir el tiempo t es:

d = vt + at2 y si t =1 segundo entonces d = v + a


En consecuencia, incluso al cabo de 4 segundos, la caja grande (el hangar aeronutico) no ha descendido siquiera una distancia igual a su propia altura, de ah que parezca moverse con gran lentitud. Cuando se trabaja con un motor de fsica es esencial mantener permanentemente la sensacin de escala. Cambio de la escala En la seccin anterior decamos que el motor Havok utiliza una escala de metros (y kilogramos para medidas de peso). Sin embargo, no es exactamente as. En realidad Havok no tiene en cuenta las unidades empleadas, sino slo los nmeros. Slo tenemos que procurar ser coherentes siempre. Por tanto, si trabaja con metros, asegrese de que la gravedad est definida en metros (en el caso de la gravedad terrestre, utilice 9,8 m/s2).

84

Apndice

Si prefiere utilizar pulgadas, deber recordar que TODAS las cantidades deben especificarse en pulgadas. Por ejemplo, si crea un cubo de 100 unidades de tamao (como la caja anterior), pero no indica la gravedad en pulgadas, el cubo seguir cayendo a la misma velocidad, aunque ahora considere que cada uno de sus lados mide 7 pies). Si se define la gravedad en 9,8 unidades, el motor de fsica simular una atraccin gravitatoria de 9,8 pulgadas por segundo (incluso menos que en la Luna!). El planteamiento es ste:
1. El cubo mide 100x100x100 metros, la gravedad

Procure prestar especial atencin a la escala, sobre todo cuando use modeladores 3D. Los modeladores suelen tener mecanismos propios para mostrar las unidades en cuadros de dilogo. Por ejemplo, 3ds max permite especificar qu unidades se utilizan y convierte automticamente a esas unidades todos los valores mostrados, pero internamente siempre utiliza pulgadas, incluso al exportar geometra.

Qu hace un motor de fsica?


Un motor de fsica como Havok se ocupa de tres tareas bsicas:
1. Deteccin de colisiones: Controla

es de 9,8 m/s2, el cubo cae lentamente.

2. Decide pensar en pulgadas: ahora el cubo

mide 100x100x100 pulgadas, pero nada ha cambiado porque ahora la gravedad es de 9,8 pulgadas/s2
3. Convierta la gravedad a pulgadas: la gravedad

continuamente los movimientos de todos los objetos de la escena y detecta cundo colisiona cualquiera de ellos.
2. Sistema de actualizacin: Establece la

queda definida en 386 pulgadas/s2. Ahora el cubo cae a la velocidad esperada [1 pulgada = 0,0254 metros; gravedad = 9,8 / 0,0254 = 386 pulgadas/s2]

Todo es relativo: el motor de fsica utiliza siempre unidades adimensionales (no tiene en cuenta si son pulgadas, metros o millas). Es el usuario quien debe ser coherente y convertir los valores a las unidades correctas segn convenga. No obstante, el motor Havok est concebido para funcionar con mayor precisin con los nmeros cuya magnitud se aproxime ms a 1 (es decir, los valores como 10000000 son igual de malos que los valores como 0,0000001). Por tanto, al crear objetos de tamao 1x1x1 en escenas del mundo real, es ms prctico trabajar con metros que con centmetros o kilmetros (o pulgadas/millas), dado que habitualmente se simulan objetos ms grandes que terrones de azcar y ms pequeos que campos de ftbol. Por ello decimos que el motor de fsica utiliza metros como escalas predeterminadas.

respuesta adecuada para los objetos que han colisionado resolviendo la colisin de acuerdo con las propiedades de objeto y actualiza todos los dems objetos (los que no han chocado) basndose en las fuerzas que actan sobre ellos.
3. Interfaz con el sistema de presentacin:

Una vez determinadas las posiciones de todos los objetos, normalmente hay que presentarlos. El de fsica informa sobre las actualizaciones al sistema de presentacin 3D.
Nota: Un motor de fsica ni sabe ni le importa

cmo se presentan los objetos que simula. Se basa en una descripcin fsica (no grfica) de los objetos para simular su movimiento e interaccin; esta informacin puede usarse para generar una presentacin que ejerce un control continuo sobre la simulacin. Ms adelante ahondaremos un poco ms en esta cuestin dentro de la seccin sobre objetos proxy.

Apndice

85

Dado que estamos tratando de la simulacin en un estado de evolucin continuo (en general los objetos se mueven, colisionan y reaccionan constantemente), es necesario traducirlo en una serie de instantneas para poder generar una animacin y presentarla. En el caso de los juegos el inters suele centrarse en conocer el estado del mundo 60 veces por segundo (sta es la frecuencia con que muchos sistemas de grficos actualizan el contenido de la pantalla). Si se trata de pelculas quiz prefiramos 25 fotogramas por segundo. En realidad esto significa que el motor de fsica debe ser capaz de hacer evolucionar el universo a razn de 1/60 de segundo (o 1/25 de segundo en las pelculas) conociendo el estado de todos los objetos al principio de este intervalo de tiempo y las fuerzas externas que actan sobre ellos. Un ejemplo sencillo es una bala de can que quisiramos animar a 60 Hz (Hz = ciclos o fotogramas por segundo). Simulacin de una bala de can Por ahora nos olvidaremos de las colisiones y nos centraremos nicamente en la simulacin de una bala de can inmediatamente despus de dispararla. Conocemos la posicin de la bala (y su orientacin, pero de momento prescindiremos de ella), su velocidad, aceleracin y peso, y condiseramos que sabemos el estado del entorno (resistencia del aire, fuerza del viento, gravedad). Provistos de estos datos podemos empezar a efectuar predicciones con Havok.

Figura 5: El movimiento balstico esperado de una bala de can es un arco parablico

La figura 5 ilustra lo que queremos conseguir. Durante un periodo de tiempo, el ritmo de ascenso de la bala debera ralentizarse debido a la gravedad, para terminar cayendo al suelo tras describir un clsico arco parablico (considerando que no hay resistencia del aire).

Figura 6: A partir de una condicin determinada y conociendo las fuerzas que actan, podemos estimar el nuevo estado de un cuerpo en movimiento

86

Apndice

En un punto determinado del tiempo podemos examinar el estado de la bala (su velocidad v y su aceleracin a) y, conociendo las fuerzas externas que actan sobre ella, podemos conjeturar sobre su cambio de posicin transcurrido un periodo de tiempo (h segundos), como ilustra la figura 6. Esta conjetura es una combinacin de diversos factores:
1. Suponemos que las leyes de movimiento de

Pasos de tiempo En general, las fuerzas que actan sobre un objeto no suelen ser verdaderamente constantes (la gravedad es casi constante siempre, pero no la mayora de las dems fuerzas, como el viento, la resistencia del aire, etc). En el ejemplo de la bala de can, imaginemos que en la atmsfera hay una capa de viento por la que pasa la bala, como ilustra la figura 7. En la simulacin siguiente suponemos que los pasos son de 1 segundo (en realidad un valor excesivo para una simulacin fsica, pero adecuado para ilustrar este ejemplo). Sabemos todas las fuerzas que actan sobre la bala en el tiempo t1, as que realizamos algunas operaciones para predecir la nueva posicin y velocidad en el tiempo t2 al cabo de 1 segundo. Consideraremos que durante este periodo la fuerza del viento que acta sobre la bala es constante. En este ejemplo calcularemos la nueva posicin, que estar a cierta altura sobre la regin de viento fuerte, por lo que habremos eludido la zona de viento mediante un salto demasiado grande. En el segundo ejemplo de la derecha, utilizaremos pasos de tiempo de segundo. En este caso, tras averiguar la nueva posicin en el tiempo t2 la bala se encuentra en medio de la zona de viento. En esta zona, sobre la bala acta un viento con mucha fuerza que se tendr en cuenta durante el paso de tiempo siguiente, momento en que reevaluamos la operacin y establecemos en el tiempo t3 una nueva posicin para la bala que es distinta a la posicin establecida en la simulacin izquierda (es decir, el viento ha empujado un poco la bala hacia la izquierda, reduciendo su velocidad), a pesar de haber simulado la misma cantidad de tiempo en ambos casos.

Newton rigen el movimiento de la bala.


2. Suponemos que en el periodo de tiempo h

todas las fuerzas externas que actan sobre la bala son constantes (por lo que la resistencia del aire, el viento y la gravedad no cambian durante ese periodo.)
3. Suponemos que la operacin con que

calculamos la nueva posicin es exacta. En general, el primer supuesto suele ser correcto (salvo con escalas relativistas o cunticas, que deben manipularse en otros sistemas). No obstante, el segundo y tercer supuesto causan problemas y estn estrechamente relacionados con el periodo de tiempo h durante el que se efectan los clculos. A continuacin estudiaremos cmo repercute el tamao de este periodo de tiempo en la precisin de la simulacin.

Apndice

87

Esto tambin es aplicable a la operacin. A medida que la simulacin se vuelve ms compleja, tambin es ms compleja la operacin necesaria para calcular las nuevas posiciones y velocidades de los objetos en una simulacin y, en consecuencia, las resultados que se conjeturan con dicha operacin son cada vez ms inexactos.

Figura 8: Evolucin de un sistema fsico capturado en una serie de "instantneas"

La conclusin es que deben realizarse pasos de tiempo pequeos, evaluar todas las fuerzas que actan sobre los objetos, determinar las nuevas posiciones y velocidades (y otros parmetros) de los objetos al final de los pasos de tiempo y despus volver a empezar. El resultado final es una serie de instantneas del estado del sistema conforme evoluciona, como ilustra la figura 8. Integradores
Figura 7: Efectos de pasos de tiempo distintos en el resultado de la simulacin, donde el problema principal es suponer que una fuerza constante acta sobre el objeto durante el periodo de tiempo

En general, cuanto menor es el paso de tiempo, ms preciso es el resultado al final del mismo. Por tanto, para avanzar un paso grande t en el tiempo, es mejor dividirlo en pasos n de un intervalo de tiempo ms pequeo t/n.

Como mencionamos antes, la operacin se vuelve cada vez ms inexacta conforme mayores son los pasos de tiempo utilizados. El motor de fsica implementa una rpida integracin numrica de una serie de ecuaciones diferenciales que describen el movimiento de los objetos. Un integrador es un algoritmo que intenta estimar el nuevo estado de una variable o parmetro (por ejemplo, la posicin) a partir de informacin como el ritmo de cambio del parmetro (por ejemplo, la velocidad). Hay diversos integradores

88

Apndice

disponibles. Se diferencian en la carga de la CPU y la precisin del resultado. En la tabla siguiente se resumen los integradores incluidos con el motor Havok:
Tabla 2: Integradores y sus propiedades Integrador Euler Punto medio Runga Kutta (RK45) Back Euler Carga de UCP baja media alta media Precisin baja media alta media-alta

2. Tras ello hemos de actualizar todas las fuerzas

que actan sobre los objetos, ya sea como resultado de la deteccin de colisiones o a la introduccin de datos desde fuera de la simulacin (aqu se aadiran las entradas de un usuario en un juego en tiempo real: cuando el usuario presiona la tecla de aceleracin, el vehculo conducido debe acelerar).

Como podemos observar, cuanto mayor es la precisin necesaria, ms potencia de UCP hace falta. Hemos constatado que en la produccin de pelculas conviene ms un integrador preciso (como RK45) y pasos de tiempo pequeos; mientras que para producir en tiempo real interesa empezar normalmente con Euler, el ms rpido y menos preciso, y cambiar a un integrador ms preciso slo si la precisin no es satisfactoria. Ms adelante volveremos a hablar sobre los integradores y, en concreto, acerca de sus repercusiones en la estabilidad en sistemas restringidos.

Figura 9: Estructura de un sistema de simulacin fsica

3. Tras acumular todas las fuerzas, utilizamos el

El bucle de simulacin
A continuacin examinaremos la estructura de la simulacin fsica (ilustrada en la figura 9) y cmo se integra con una presentacin 3D. Una vez establecidas las condiciones iniciales de una determinada escena, iniciamos el bucle de simulacin principal, que se produce en 3 fases bsicas:
1. Deteccin de colisiones: hay que averiguar

integrador seleccionado para determinar el nuevo estado de los objetos (posicin, orientacin, velocidad, aceleracin etc.). Esta informacin se emplea para actualizar la presentacin 3D.
4. Avanzamos en el tiempo segn el tamao de

paso h y averiguamos si estas nuevas posiciones ocasionan colisiones entre los objetos. Ello supone que queremos actualizar la presentacin con cada paso del tiempo en la simulacin. En la seccin siguiente nos ocuparemos de lo que sucede en caso contrario.

qu objetos chocan en cada paso. Ello permitir introducir en el sistema nuevas fuerzas de colisin y de friccin.

Apndice

89

Subpasos Supongamos que es indispensable actualizar la presentacin una vez cada 1/60 de segundo (por ejemplo, porque ejecutamos un juego en tiempo real que actualiza la pantalla a 60 Hz o creamos una pelcula que debe reproducirse a 60 fotogramas por segundo.) Olvidando la carga de la UCP, esto significa que queremos asignar pasos a intervalos de 1/60 de segundo en el motor de fsica. Esto no suele ser problemtico, pero en el caso hipottico de que la precisin de la simulacin fuera insuficiente (recuerde: pasos de tiempo pequeos equivalen a mayor precisin), habra que reducir an ms los pasos de tiempo, por ejemplo a 1/120 de segundo. Como contrapartida se generaran el doble de imgenes de las que nos interesan, con el consiguiente despilfarro. Para evitarlo, el motor Havok permite especificar el nmero de subpasos que se dan. El parmetro de subpasos indica el nmero de pasos que da el motor de fsica antes de actualizar la presentacin 3D. Ello proporciona control sobre la granularidad de la simulacin fsica con independencia de la frecuencia de actualizacin de la presentacin. Por tanto, si subpasos = 0, no se realiza ningn paso fsico. Con subpasos = 1, se emplea un solo paso de la simulacin para cada actualizacin de la presentacin 3D. Con subpasos = 2, se dan 2 pasos fsicos y despus se actualiza la presentacin. En la figura 10 hemos especificado que los pasos de la simulacin fsica deben producirse a intervalos de 1/240 de segundo, pero que la presentacin slo se actualiza una vez cada 1/60 de segundo. Para conseguirlo hemos indicado al motor de fsica que utilice 4 subpasos. En consecuencia, la presentacin se actualiza una vez cada 4 pasos. Mediante la definicin del nmero de subpasos podemos controlar la precisin de la simulacin fsica con independencia de la presentacin.

Lmite inferior de la UCP Un efecto adverso e inevitable de usar una simulacin fsica es que existe un lmite inferior definido para el tiempo de UCP que puede dedicarse a la fsica. En cambio, no existe ningn lmite inferior real para el tiempo de UCP dedicado a la presentacin grfica (suponiendo que no hay aceleracin por hardware). Conforme disminuye la asignacin de UCP a la presentacin, basta con trazar menos polgonos, suprimir niebla o desactivar la iluminacin, pero la presentacin no fallar en ningn momento.

Figura 10: Los subpasos permiten disociar la frecuencia de la simulacin y la frecuencia de la presentacin

La fsica no es as. Una simulacin fsica debe mantenerse en estado estable (asumiendo que cada resultado de la simulacin depende por completo del paso de simulacin anterior). Si se produce un resultado muy impreciso en un paso, probablemente el siguiente ser an ms impreciso, con lo que se origina una espiral de precisin decreciente que termina con un resultado desastroso (como si la simulacin hubiera explotado). Por tanto, no basta con reducir el nmero de objetos o desactivar la friccin para

90

Apndice

compensar una reduccin de los recursos de UCP disponibles: simplemente hay que asegurarse de que la escena puede simularse establemente con el menor ancho de banda de UCP previsto. Gestin de energa Uno de los principales factores determinantes de la carga de la UCP en una simulacin fsica es el nmero de objetos que estn activos o en movimiento, es decir, simulndose fsicamente. Una escena tpica contiene muchos objetos que no se mueven en absoluto y que tericamente podran ignorarse hasta que se interactuara con ellos. La gestin de energa tiene como finalidad determinar qu objetos de una escena tienen poca relevancia y suprimirlos de la simulacin fsica (lo que se denomina desactivar o inhabilitar el objeto) hasta que empiecen a moverse de nuevo. Las cuestiones esenciales de la gestin de energa son: Cundo debe desactivarse un objeto? Cundo debe volver a activarse un objeto? No es fcil obtener una respuesta general para ambas cuestiones, ya que la solucin correcta depende en gran medida del contexto. Los objetos suelen desactivarse cuando no se han movido mucho recientemente y se vuelven a activar cuando los golpean otros objetos en movimiento. No obstante, la supresin temporal de objetos en la simulacin constituye el medio ms sencillo y eficaz para reducir la carga de la UCP; vale la pena experimentar con los parmetros de desactivacin automtica de objetos del motor Havok.

Deteccin de colisiones
sta es posiblemente el rea ms decisiva de todo motor de fsica. La deteccin de colisiones suele acaparar ms del 90% del tiempo de UCP necesario para una simulacin fsica. Dado que nos interesan cifras elevadas de objetos que interactan, existe el riesgo de que se dispare el nmero de pruebas de colisin necesarias. En el peor de los casos, con n objetos en una escena hemos de garantizar que se verifica cada par posible (a veces denominado par de colisin). Ello requiere n(n - 1)/2 pruebas: cada objeto n se prueba con todos los dems objetos salvo l mismo (n - 1), lo que significa n(n - 1) pruebas; pero dividimos por 2 porque es igual probar si existe colisin entre A y B que entre B y A). Por tanto, para 4 objetos hay que realizar 6 pruebas, y para 100 objetos son 4.950 pruebas. El nmero de pruebas necesarias aumenta rpidamente. Como el motor de fsica necesita informacin detallada sobre cada colisin para poder resolverla correctamente, las pruebas de colisin en s ya son bastante costosas. Existen diversas maneras de acelerar este proceso:
1. Reducir el nmero de colisiones que requieren

la generacin de resultados detallados (es decir, realizar primero una prueba de colisin ms simple).
2. Reducir la complejidad de los objetos que se

prueban para colisin.


3. Reducir el nmero de objetos.

Evidentemente siempre interesa intentar la tercera opcin en primer lugar. El nmero de objetos activos en una escena es la causa principal de la carga de la UCP. Si es posible suprimir objetos,

Apndice

91

la simulacin es ms rpida. En el caso de reducir la complejidad, la dificultad para proporcionar resultados de colisin detallados est directamente relacionada con la complejidad de los objetos en s. Nos ocuparemos de ello en la siguiente seccin. De entrada veremos cmo el sistema Havok intenta reducir el nmero de colisiones complejas.

que efectuar pruebas de colisin completas con formas arbitrarias) y, en caso afirmativo, dichos pares de colisin se someten a la siguiente prueba, ms compleja. De los 6 pares de colisin posibles = { AB, AC, AD, BC, BD, CD }, detectamos que slo 2 tienen cajas superpuestas = { AB, CD } y, por tanto, slo hace falta someter esos dos a la siguiente prueba. Esto se denomina a veces rechazo trivial. Por ejemplo, observe que aunque el par AB no se ha rechazado trivialmente, ello no significa que A y B choquen, sino que podran chocar. En cambio, sabemos que A y C no chocan en absoluto porque sus cajas delimitadoras no se superponen.

Pruebas de colisin multifase


El sistema Havok realiza una serie de pruebas de colisin, cada una de las cuales es progresivamente ms compleja y permite eliminar numerosos objetos del proceso de prueba antes de pasar a la siguiente. Supongamos que tenemos una prueba sencilla A y una prueba compleja B. La prueba A es muy rpida, pero poco precisa; aunque esto no representa ningn problema mientras sea conservadora; una prueba conservadora puede indicar TRUE (verdadero), es decir, existe colisin, cuando en realidad no la hay, pero nunca indicar FALSE (falso), es decir, no existe colisin si de hecho la hay. La prueba B es lenta pero muy precisa. El proceso implica: Someter primero todos los objetos a la prueba A para eliminar los que claramente no chocan, pero sin eliminar necesariamente todos los pares que no colisionan. Realizar a continuacin la prueba B, con lo que la prueba de colisin compleja se aplicar al nmero de pares de colisin ya reducido. Tomemos como ejemplo las pruebas de la figura 11, que ilustran el primer pase de un sistema de colisin. En este caso empleamos cajas delimitadoras que rodean por completo los objetos que contienen. Primero comprobamos si hay cajas superpuestas (esto es mucho ms rpido

Figura 11: Primer pase en un sistema de deteccin de colisiones, con el que se intenta eliminar el mayor nmero posible de pares de colisin

92

Apndice

En la siguiente fase suele realizarse una prueba de rechazo ms precisa o la prueba de colisin final (como ilustra la figura 12) para averiguar informacin como el punto de colisin, la normal a los objetos en dicho punto, etc., lo que requiere bastante ms trabajo que limitarse a detectar la superposicin de cajas. Le alegrar saber que no tiene que preocuparse de todo esto. El sistema Havok implementa automticamente este planteamiento de deteccin de colisiones multifase y crea cajas delimitadoras para todos los objetos de la simulacin. El nico control del usuario sobre la complejidad de las deteccin de colisiones est en las formas de los propios objetos. La seccin siguiente versa sobre los distintos tipos de formas de objeto que se pueden utilizar para deteccin de colisiones y su complejidad.

Cuerpos rgidos y geometras de colisin


La forma de los objetos que se someten a pruebas de colisin determina en gran medida la velocidad de dichas pruebas. Si se establecen supuestos sobre la forma o incluso se simplifica la geometra para las pruebas de colisin, se puede lograr un considerable ahorro de tiempo de UCP. Uno de los primeros supuestos que asumen los motores de fsica es que todos los objetos de la escena son perfectamente rgidos, es decir, su forma no puede cambiar nunca. El resultado es la simulacin de cuerpos rgidos. Si todos los cuerpos son rgidos, se puede aprovechar el hecho de que la geometra de los objetos no vara de un paso a otro y es posible memorizar esas formas y los resultados de colisin anteriores para acelerar la siguiente prueba que se efecte con esos objetos. Naturalmente, esto significa que no pueden simularse los objetos hechos de tela, lquidos o cualquier material deformable. Nos ocuparemos de este tipo de objetos ms adelante.

Figura 13: Algunos de los formatos geomtricos que admite Havok.

Figura 12: Pruebas de colisin multifase

Apndice

93

Insistir en que todos los objetos son perfectamente rgidos en una simulacin fsica es muy negativo para el sistema (excepto en deteccin de colisiones). Por muy duros que sean, todos los objetos que chocan se deforman aunque sea infinitesimalmente en el punto de contacto, y recuperan su forma original cuando salen despedidos tras la colisin. En una colisin entre objetos totalmente rgidos se generan fuerzas muy grandes para mantenerlos separados. Este perjudicial efecto secundario debe solucionarse para lograr colisiones realistas. En el motor fsico Havok los objetos se clasifican segn su forma; cada forma especfica tiene propiedades especficas que facilitan su uso durante la deteccin de colisiones. En la lista siguiente las formas de los objetos se clasifican por orden creciente de complejidad (en la figura 13 se ilustran algunas): Implcito: hay una representacin matemtica del objeto y en ella se basa la prueba de colisin. Havok admite los siguientes objetos implcitos:

Cncavo: objeto descrito por una superficie


cerrada (sin huecos ni autointersecciones extraas como las botellas Klein). Siempre se asume que los objetos cncavos representan volmenes, es decir, la malla poligonal que representa la superficie no contiene huecos ni resquicios).

Sopa de polgonos: conjunto de polgonos, no


necesariamente conectados, pero todos agrupados y clasificados como un nico objeto. Es el formato con el que ms cuesta detectar las colisiones, pero tambin el ms general.

esferas planos polgonos


Poligonal: existe una descripcin del objeto basada en los polgonos que lo forman (normalmente tringulos). A su vez, estos objetos se clasifican como sigue por orden creciente de complejidad:

Convexo: suponga que envuelve el objeto con


una hoja de celofn; si el celofn toca toda su superficie sin dejar ningn hueco, el objeto es convexo. Otra manera de saberlo es tomar un punto dentro del objeto y seguir un rayo imaginario hacia fuera del objeto. Si slo atraviesa una vez la superficie del objeto, ste es convexo. En la figura 14 se ilustran simulaciones de cuerpos rgidos donde se usan slo objetos convexos.

Figura 14: Simulaciones de cuerpos rgidos donde se usan slo formas convexas

94

Apndice

En la figura 15 el pato est representado como un objeto convexo (la piel definida en la imagen inferior) y con la geometra cncava verdadera (imagen superior). Objetos proxy Le alegrar saber que aunque un objeto de una simulacin pueda parecer complejo, no hace falta simularlo con dicha complejidad. Por ejemplo, un chasis de automvil presentado con paneles NURB detallados e incluyendo simetras de retrovisores exteriores, parachoques, etc., puede simularse con una caja. ste es uno de los principales medios para reducir el uso de la UCP en una simulacin. Estos objetos simplificados que representan geometra de presentacin ms compleja se denominan objetos proxy o geometras proxy. Su uso puede ocasionar la aparicin de artificios; en general debe intentar que el objeto proxy se cia todo lo posible a la geometra de presentacin real.
Figura 16: Objetos proxy de colisin para una forma compleja

En la figura 16 se ilustran diversos objetos proxy para una geometra compleja (el rea gris irregular que consideraremos representada como una sopa de polgonos). Puede elegir la geometra proxy que prefiera para cualquier forma de objeto, pero conviene usar una geometra proxy ms simple que el objeto en s. En muchos interesa crear una geometra especfica, como la de la figura 16, que es una combinacin de una esfera y una caja. El proxy finalmente elegido debe representar un equilibrio entre velocidad de colisin y precisin necesaria, y suele ser muy especfico del contexto. La figura 17 refleja claramente las consecuencias de la eleccin; una geometra de sof (con un nmero de polgonos bastante elevado) se representa con dos geometras proxy distintas: una esfera y un conjunto de cajas. El conjunto de cajas resulta ms costoso para calcular colisiones, pero la esfera tiende a rodar y seguramente no es adecuada en este caso.

Figura 15: Representaciones cncava y convexa de un pato de goma

Apndice

95

Cuando Havok encuentra un par de objetos que se interpenetran, simplemente omite ese par de colisin y no busca ninguna solucin inteligente: lo primero que intenta siempre es evitar que suceda. Las interpenetraciones son ms frecuentes en estos casos:
Figura 17

La figura 17 ilustra un objeto sof complejo y dos posibles proxy a la izquierda, mientras que a la derecha aparece la simulacin en curso (con los objetos proxy visibles, aunque no suele ser lo habitual). La esfera es menos adecuada que el conjunto de cajas.

Cuando actan fuerzas grandes sobre los objetos obligndolos a penetrar en los objetos cercanos (con frecuencia en apilamientos grandes). Si el paso de tiempo es demasiado grande, unos objetos pueden quedar incrustados en otros antes de que el motor de fsica tenga la oportunidad de evitarlo. Cuando el usuario define la posicin de un objeto fsico de manera que se produzca interpenetracin (ms detalles en las secciones siguientes). Cuando la tolerancia de colisin es muy pequea. Encontrar ms informacin al respecto en las secciones siguientes. El paso de tiempo empleado en una simulacin ejerce una enorme influencia en la capacidad del motor de deteccin de colisiones para detectar realmente las colisiones. Si los pasos de tiempo son grandes, pueden fallar dos factores: La figura 18 ilustra cmo afectan los pasos de tiempo grandes a la deteccin de colisiones: a la izquierda se pierde por completo la colisin y a la derecha se produce una interpenetracin.

Interpenetracin
Los objetos de una simulacin fsica se suponen macizos y (salvo en las sopas de polgonos) con un volumen definido. En el mundo real no tiene sentido suponer que un objeto macizo est dentro de otro objeto macizo o penetra en l (no es posible incrustar una taza en una mesa). Anlogamente, al simular el mundo real un motor de fsica no tolera los objetos que interpenetran. Adems, ello resultara inverosmil para quien contempla la simulacin, porque no espera que los objetos macizos se atraviesen entre s. Por tanto, gran parte del trabajo del motor de fsica consiste en intentar evitar las interpenetraciones. Ello puede ser especialmente difcil, sobre todo cuando numerosos objetos apilados empujan hacia abajo por la fuerza de la gravedad (es casi como si intentaran interpenetrar continuamente).

Figura 18

96

Apndice

Se pierden colisiones debido al efecto de la "bala a travs del papel" (observe la figura 18.) Los objetos que se mueven con rapidez atraviesan directamente los objetos delgados, sobre todo si el paso de tiempo es muy grande. En el tiempo t1 la bala est delante del papel, pero en el tiempo siguiente, t2, ya se halla al otro lado de l. Interpenetracin: la escala de tiempo es tan grande que de un paso de tiempo al siguiente los objetos quedan incrustados entre s, tanto que el motor de fsica no puede solucionarlo airosamente. En general, poco puede hacerse salvo reducir el paso de tiempo. Esto suele servir de ayuda con las interpenetraciones, pero raramente soluciona el problema del efecto de la "bala a travs del papel". Procure evitar los objetos muy finos y los que se mueven con extremada rapidez. Dentro y fuera Una de las principales consecuencias de asumir la solidez y de los problemas de interpenetracin es que la mayora de los objetos no pueden considerarse huecos. Un error habitual es crear una caja para una habitacin y empezar a colocar objetos dentro de ella pensando que se ubican dentro de la habitacin. De forma predeterminada, una caja es una geometra maciza, por lo que cualquier objeto que se site en su interior se interpenetrar y en caso de simulacin se limitar a caer a travs de la base de la caja porque el motor de fsica habr desactivado las colisiones entre sta y los objetos.

Una solucin es representar la caja mediante geometra de sopa de polgonos (tringulos no conectados). As se lograr el efecto pretendido.

Posicin definida y geometra deformante


Los motores de fsica quieren controlar la escena por completo. Ello significa que almacenan minuciosamente el estado de todos los objetos en la escena y lo actualizan de un fotograma a otro. Si despus un sistema externo modifica la escena, el motor de fsica ha de actualizar su estado en consonancia. Esto no suele ser ningn inconveniente, salvo cuando los cambios de la escena alteran la estabilidad de la simulacin que el motor de fsica intentaba mantener. Tenemos dos buenos ejemplos en las definicin de las posiciones u orientaciones de los objetos por parte de los usuarios (lo que a veces se denomina warping de objetos) y las mallas deformantes. En el primer ejemplo es fcil comprobar que la definicin arbitraria de la posicin de un objeto en la escena de fsica puede ocasionar problemas: Si el objeto se traslada a una posicin que produce interpenetracin; sin ms informacin el motor de fsica tendr que desactivar las colisiones entre el objeto desplazado y el objeto al que se ha trasladado. Si otros objetos reposan o estn apilados sobre el objeto que se mueve; cabe esperar que sencillamente se reestructure el apilamiento para rellenar el hueco dejado por el objeto trasladado. Si el objeto desplazado est asociado a otros objetos mediante muelles o restricciones: es el caso ms grave. Al mover el objeto bruscamente, las conexiones con los otros objetos se estiran instantneamente y el sistema puede explotar.

Apndice

97

Los objetos pueden quedar fuera del control del sistema de fsica si para ellos se generan keyframes. En tal caso, debe informarse al sistema Havok de que estos objetos pueden moverse inesperadamente. Havok realizar un seguimiento especfico de estos objetos e intentar resolver la situacin, aunque no siempre con xito. En general, procure no manipular directamente los objetos. Siempre es mejor aplicar fuerzas e impulsos (ya sea lineales o angulares) a los objetos para empujarlos hacia el objetivo que interesa. El caso de las mallas deformantes es ms sutil, pero est relacionado con la dificultad de manipular objetos warp. La figura 19 ilustra un ejemplo. La figura 19 demuestra que los objetos deformantes como la esfera aplastada deben tratarse con cuidado en un motor de fsica. En la parte inferior aparece el resultado pretendido: apartar los bloques cuando la esfera se ensancha. En este ejemplo se han generado keyframes en una esfera para aplastarla, quiz a fin de simular el efecto de aplastamiento vertical; tenga en cuenta que estamos hablando de generacin de keyframes, no de un objeto blando bajo control fsico. En circunstancias normales el resultado es una interpenetracin. Los lados de la esfera sobresalen a medida que se deforma convirtindose en una elipsoide, pero ello escapa al control del motor de fsica, por lo que da la sensacin de ocurrir instantneamente. Situaciones como sta pueden producirse con frecuencia, especialmente cuando las mallas se

generan automticamente (por ejemplo, en la animacin de personajes, una malla de piel que rodea un conjunto de huesos se deforma con arreglo a la posicin de los huesos).

Figura 19

98

Apndice

Para obtener un resultado correcto, el motor de fsica debe realizar un seguimiento de la forma de la malla deformante y, cuando detecte un cambio de sta en un paso de tiempo determinado, combinarlo con la forma que tena en el paso anterior para intentar averiguar cmo deben moverse los objetos afectados circundantes. En este caso, la malla deformante hace que los dos bloques laterales se separen de la esfera. Para conseguir este resultado es preciso indicar al sistema Havok que la geometra de un objeto puede deformarse sin su control.

Tolerancia de colisin
Una ltima aunque crucial caracterstica del sistema Havok es su implementacin de tolerancias de colisin. En las secciones anteriores sobre colisiones e interpenetracin quiz haya vislumbrado que para el motor de fsica es bastante difcil detectar una colisin sin que se haya producido interpenetracin. Como el sistema fsico se basa en pasos de tiempo discretos (digamos de 1/60 de segundo), es raro que se produzca una colisin en un paso de tiempo determinado cuando 2 objetos slo se tocan (tienen un nico punto de contacto). En la figura 20 se ilustra esta situacin. 2 esferas se desplazan aproximndose entre s. En los pasos de tiempo t1 y t2 an estn separadas, pero en el tiempo t3 se han interpenetrado. Para evitarlo, el motor Havok utiliza un sistema de tolerancias de colisin. Se trata de valores de distancia mnimos que especifican cunto pueden acercarse los objetos antes de que se considere que han chocado. La tolerancia de colisin puede interpretarse como una piel de cierto grosor que rodea los objetos. Si las pieles se superponen (o interpenetran), se dice que los objetos han colisionado y los puntos ms cercanos de ambos se utilizan como puntos de colisin.

Figura 20: Las colisiones de objetos slo suelen ser detectables una vez producidas

Apndice

99

La figura 21 ilustra lo que sucede cuando se emplean tolerancias de colisin. En este caso las esferas tienen una tolerancia de colisin pequea, lo cual significa que tienen un proxy de colisin, que es otra esfera un poco ms grande. En el tiempo t2 cada esfera ha chocado con la tolerancia de colisin de la otra esfera (tenga en cuenta que no basta con que slo se hayan interpenetrado las tolerancias, sino que una de las esferas debe estar dentro de la tolerancia de colisin de la otra). El sistema calcula la informacin de colisin, asumiendo que los objetos han chocado, y emprende la accin adecuada. Como caba esperar, con valores de tolerancia de colisin altos se empieza a notar que los objetos en realidad no se tocan. Esto se aprecia especialmente en los objetos apilados (se ven huecos entre ellos). En general la tolerancia debera estar en torno al 2% - 10% del tamao del objeto en s. Para suprimir la mayora de estos artificios visuales habra que incrementar el tamao de la geometra visual aproximadamente la mitad de la tolerancia o bien crear un proxy de colisin cuyo tamao se haya reducido la mitad del valor de tolerancia.

Figura 21: Las tolerancias de colisin permiten comprobar si las tolerancias se superponen y, en tal caso, considerar que los objetos han chocado y emprender la accin adecuada.

100

Apndice

Configuracin de la escena La primera etapa de cualquier simulacin fsica es la creacin de la escena. Es un poco distinta de la construccin de una escena 3D sin fsica y est restringida por tolerancias de colisin y requisitos de no interpenetracin. Si crea una escena del modo habitual, le resultar difcil colocar los objetos de manera que reposen establemente sobre otros objetos sin problemas de colisin. Tomemos como ejemplo la creacin de un apilamiento de cajas con altura h encima del suelo. Normalmente se coloca la base de la primera caja a la altura 0, la segunda a la altura h, la tercera a la altura 2h, etc., como ilustra la figura 22A. Sin embargo, este planteamiento causara problemas debido a la tolerancia de colisin mencionada en la seccin anterior.

Figura 22: Creacin de un apilamiento estable

Segn la precisin numrica de la simulacin, las caras de las cajas vecinas se clasificaran como interpenetrantes o colisionantes. De ser interpenetrantes, las cajas caeran unas dentro de otras; mientras que si fueran colisionantes rebotaran unas en otras (aunque con muy poca energa, afortunadamente). Otro planteamiento podra ser colocar las cajas de forma que las tolerancias de colisin se superpusieran pero las cajas no se tocaran, como en la figura 22 B. Esto tambin podra causar problemas, ya que las cajas seran propensas a mantenerse estables de momento (dependiendo de fuerzas externas como la gravedad, etc.)

Apndice

101

La mejor forma de solucionarlo es usar el propio motor de fsica. Como ilustra la figura 22 C, habra que crear las cajas separadas inicialmente una distancia superior a la tolerancia de colisin. Ahora basta con simular la escena durante un periodo de tiempo: las cajas caern esa pequea distancia y se asentarn en un apilamiento estable. Al final se desactivarn cuando el sistema de gestin de energa entre en accin. Tendremos un apilamiento estable desactivado y listo para guardarse. Almacene las posiciones de las cajas, podr utilizarlas para crear el apilamiento ms adelante (sin olvidar desactivar las cajas manualmente para recrear en su totalidad el estado del apilamiento.) Tendr la certeza de que cuando comience la nueva simulacin el apilamiento estar estable e inmvil.

Para simplificar nos ceiremos al sistema mtrico en las secciones siguientes: m = metros kg = kilogramos s = segundos N = Newtons (unidad de fuerza: 1 N = la fuerza necesaria para cambiar la velocidad de un objeto de 1 kg a razn de 1 m/s en 1 s). rad = radianes (1 rad = 180/pi grados, donde pi = 3,14159 ).
Nota: Algunas implementaciones de la tecnologa

fsica Havok utilizan grados como unidades de medida de ngulos. Ello se especifica claramente en la documentacin adjunta. Para interpretar las unidades descritas a continuacin, aplique las convenciones siguientes: nx/y = x por y; por ejemplo: m/s = metros por segundo (es decir, velocidad o rapidez). Tenga en cuenta que a veces x/y se escribe x y-1. nx/y2 = x por y al cuadrado o x por y por y; por ejemplo: m/s2 = metros por segundo al cuadrado o metros por segundo por segundo (es decir, aceleracin)

Unidades fsicas y valores


Ya hemos hablado de la escala y el cambio de unidades de medida. Sin embargo, los motores de fsica no se ocupan nicamente de longitudes y pesos, sino que utilizan muchas medidas distintas en un momento dado. En esta seccin recopilaremos algunas de ellas y las unidades con que se cuantifican. Aunque manejar tantas unidades puede parecer complicado, pocas veces habr que preocuparse: al final, la experimentacin con valores es la mejor forma de proceder al disear una escena. No obstante, suele ser til recurrir a un anlisis de la escena y las unidades para determinar al menos los valores esenciales necesarios para conseguir el objetivo pretendido.

Basadas en la posicin
Posicin (m) Este trmino se define mejor como desplazamiento o distancia. Velocidad (m/s) La rapidez con que se desplaza un objeto respecto a algn sistema de referencia.

102

Apndice

Momento (kg m/s) Masa por velocidad: es la propiedad de un objeto que determina la cantidad de fuerza necesaria para cambiar la velocidad de algo. Por ejemplo, es ms difcil parar un camin que una moto aunque ambos se desplacen a la misma velocidad. Aceleracin (m/s2) El ritmo a que cambia la velocidad en el tiempo, es decir, si un objeto acelera o ralentiza. Impulso (kg m/s o Ns) Medida de cambio del momento (expresada normalmente en Newtons segundos). Para cambiar instantneamente la velocidad de un objeto es preciso aplicar un impulso a dicho objeto. Fuerza (N o kg m/s2) La unidad bsica de un motor de fsica. Es la magnitud que mide el esfuerzo necesario para cambiar la velocidad de un objeto (es decir, aplicar aceleracin a un objeto, ya sea positiva o negativa).
Nota: A veces, para distinguirlos de sus

equivalentes angulares (descritos en las secciones siguientes), la velocidad, el momento y la aceleracin se denominan velocidad lineal, momento lineal y aceleracin lineal.

Figura 23: Distintas formas de especificar la orientacin de un objeto en el espacio

Sistemas de coordenadas y sistemas de referencia


Para poder hablar sobre las orientaciones hemos de abordar antes los sistemas de coordenadas y los sistemas de referencia. La orientacin de cualquier objeto en una escena se especifica respecto a un sistema de coordenadas, normalmente el sistema de coordenadas universal o el sistema de referencia universal. Un sistema de coordenadas 3D tiene 3 direcciones independientes o vectores que suelen denominarse x, y, z y un origen (posicin). Todas las posiciones y direcciones se especifican respecto a estas direcciones y el origen. Al crear un objeto hay que situarlo en el universo, para lo cual indicamos su posicin y orientacin, que constituyen lo que se denomina su sistema de coordenadas local o sistema de referencia local (es

Basadas en la orientacin
Las orientaciones estn entre las magnitudes a las que ms cuesta habituarse. Pueden especificarse de muy diversas formas, de las cuales son bastante conocidas las matrices de transformacin o ejes y ngulos, o con algunos de los numerosos estndar, como declive-oscilacin-balanceo o acimutelevacin-inclinacin (ilustrados en la figura 23). Lo ms importante es comprender que las orientaciones requieren un sistema de referencia, del mismo modo que la distancia requiere un punto de referencia (decir que un lugar est a 10 metros no tiene sentido si no es especifica respecto a qu o dnde son esos 10 metros).

Apndice

103

decir, local respecto a ese objeto). La figura 24 ilustra una escena con un sistema de coordenadas global y 2 objetos, cada uno con su propio sistema de coordenadas local y posicin.

El motor de fsica siempre utiliza el CM para especificar las rotaciones y orientaciones, mientras que el motor 3D suele usar el centro geomtrico o pivote del objeto definido por el modelador. En la figura 24 el centro geomtrico de cada caja tambin se halla en el CM (justo en el centro de la caja). La posicin de la caja se toma como posicin de ese centro. Se muestra el sistema de coordenadas local de cada caja y stas se definen respecto al sistema de coordenadas global. Especificacin de orientaciones

Figura 24: Sistemas de coordenadas local y global

Queda una ltima ambigedad por resolver, que adems da bastantes quebraderos de cabeza al conectar motores 3D y sistemas fsicos: qu es el centro de un objeto. Si decimos "site el objeto en el origen" (o sea, en la posicin [0, 0, 0]), dnde se sita exactamente? Ello depende de la parte del objeto que se alinee con el origen, lo que ofrece dos posibilidades: El origen o pivote especificado por la geometra o el modelador El centro de masa (CM), que depende de las propiedades fsicas del objeto (como la distribucin de la masa en el objeto: en un martillo un extremo es ms pesado que el otro). El CM es el punto sobre el que gira naturalmente el objeto.

En Havok podemos especificar la orientacin de un objeto mediante una rotacin. Esta rotacin se define con un eje o lnea alrededor del cual interesa rotar y un ngulo de rotacin sobre ese eje. Se emplea la rotacin que llevara el objeto desde su orientacin inicial (normalmente alineada con el sistema de referencia universal) hasta su orientacin actual. Tenga en cuenta que los ngulos de rotacin se indican en sentido contrario a las agujas del reloj. Se trata de una norma estndar en los grficos de ordenador, derivada del uso de la regla de la mano derecha para indicar la orientacin. La regla de la mano derecha es fcil de recordar y se ilustra en la figura 25.

Figura 25: Regla de la mano derecha

104

Apndice

La figura 25 ilustra la regla de la mano derecha para la rotacin: el pulgar se alinea con el eje sobre el que se va a rotar y la direccin en que se curvan los dedos indica la direccin en que rotar un ngulo de rotacin positivo. Con esta informacin podemos describir genricamente el mtodo de especificacin de orientaciones. La figura 26 ilustra cmo se produce una rotacin dados un eje y un ngulo. La imagen superior derecha corresponde al objeto en el momento de su creacin (su sistema de coordenadas local est alineado con el universal). En la imagen inferior el objeto est alineado con la orientacin requerida

Velocidad angular (Eje+rad/s) La velocidad a la que rota el objeto, o sea, el nmero de radianes por segundo que rota el objeto, especificado normalmente con el eje sobre el que rota. Momento angular (kg rad/s) Equivalente angular del momento. Mide cunto cuesta incrementar o reducir la velocidad de rotacin de un objeto. Aceleracin angular (rad/s) Equivalente angular de la aceleracin. Es el ritmo a que cambia la velocidad angular en el tiempo. Impulso angular (kg rad/s o N rad) Equivalente angular del impulso. Mide cmo cambia el momento angular. Aplique un impulso angular a un objeto si quiere afectar a la vez a su velocidad angular. Par (kg m2/s2 Nm) Es el equivalente angular de la fuerza, pero requiere una explicacin aparte. Se expresa en Newtons metros. Havok permite cambiar pasivamente el comportamiento de un cuerpo mediante la aplicacin de fuerzas, pares, impulsos e impulsos angulares (o activamente definiendo propiedades como la velocidad lineal o angular). Al aplicar impulso y fuerzas es importante especificar el punto respecto al objeto al que se aplica el impulso o la fuerza.

Figura 26: Especificacin de la orientacin mediante un eje y un ngulo

Orientacin (Eje+ngulo) Orientacin de un objeto respecto al sistema de coordenadas universal.

Apndice

105

Restitucin (adimensional) El coeficiente de restitucin (normalmente un valor de 0 a 1) especifica el porcentaje de energa cintica que se pierde durante una colisin entre dos objetos. Con un valor 0 se pierde toda la energa y los objetos parecen detenerse por completo cuando chocan. Con 1 no se pierde ninguna energa y los objetos rebotan entre s con velocidad idntica pero opuesta. En algn punto intermedio los objetos pierden energa con cada colisin. Masa (kg) Mide la resistencia de un objeto a cambiar su movimiento o la cantidad de materia de un objeto. No debe confundirse con el peso, que es la atraccin que ejerce la gravedad de la Tierra sobre una masa determinada. Sin embargo, se suelen confundir porque la masa se define oficialmente con el peso de una masa de platino-iridio en Francia. Friccin dinmica y esttica La friccin es la magnitud que intenta impedir la separacin de superficies por deslizamiento y es el factor clave para el apilamiento estable (apilamientos o montones de objetos que reposan inmviles por la accin de la friccin en los puntos de contacto). En todas las colisiones se pierde cierta cantidad de energa debido a la friccin (y se convierte principalmente en calor). La friccin se manifiesta en 2 formas: esttica y dinmica.

Figura 27: Aplicacin de fuerzas en el CM y en un punto arbitrario respecto al sistema de coordenadas de un objeto

Si se aplica una fuerza o impulso en el CM de un objeto, cambiar la aceleracin o la velocidad de dicho objeto, pero no se introducir ms velocidad o aceleracin de rotacin. Por otro lado, cuando se aplica una fuerza o un impulso en un punto distinto del CM, se introduce un par que es proporcional a dicha fuerza o impulso y a la distancia al centro de masa y que altera la velocidad o la aceleracin angular del objeto. Imagnelo como si una palanca uniera el CM y el punto donde se aplica la fuerza o el impulso: es ms fcil mover un objeto (o alterar su velocidad o aceleracin angular) con una palanca larga que con una corta.

Propiedades fsicas
Estas propiedades dependen de los materiales que forman el objeto y condicionan su comportamiento en una simulacin fsica. Friccin (adimensional) El coeficiente de friccin (normalmente un valor de 0 a 1) que especifica el grado de adherencia o aspereza de un objeto. A continuacin se encontrar una explicacin ms detallada.

106

Apndice

Figura 28: Friccin esttica y dinmica en accin.

La piedra se mantiene fija debido a la friccin esttica hasta que se le aplica una fuerza suficiente que elimina el contacto (en este caso elevando el tabln); tras ello la piedra empieza a deslizarse y entra en accin la friccin dinmica, que acta contra el deslizamiento generando calor. En la figura 28 se ilustra un ejemplo de friccin esttica y dinmica. En Havok no tiene ms que definir un nico coeficiente de friccin y el motor gestiona automticamente la transicin entre los modos de friccin.

Figura 29: Sistemas restringidos en accin

Dinmica restringida
Muchas veces interesa construir sistemas fsicos con restricciones o asociaciones entre subpartes de un ensamblaje mayor. Existen numerosos tipos de restricciones; stas son algunas de las que proporciona Havok: Muelles: Se aplican fuerzas a objetos conectados mediante muelles para intentar mantener un objeto de otro a una distancia especfica (la longitud de reposo). Dashpots: Muelles rgidos. Sistemas de coordenadas reducidos: Los sistemas de cuerpos rgidos no se simulan por separado, sino como un gran sistema simultneo. Algunas restricciones de coordenadas reducidas son bisagras, juntas de rtula, articulaciones prismticas y juntas universales.

Pasos siguientes
Hemos abordado sucintamente los conceptos principales de la simulacin fsica. Evidentemente se trata de un tema muy amplio sobre el que hay mucho que aprender, pero esto debera bastar para ayudarle a comprender la documentacin de Havok, tanto sobre reactor como sobre otros productos Havok. Conscientemente hemos procurado no abarcar todas las reas de la tecnologa fsica de Havok para centrarnos en los principios generales que sustentan toda simulacin. Ahora describiremos someramente algunas de las otras tecnologas fsicas disponibles con el motor Havok.

Apndice

107

Las restricciones son necesarias para crear cualquier sistema dinmico, como un chasis de automvil o una locomotora. Las fuerzas aplicadas a un objeto se aplican instantneamente a todos los objetos conectados a l, de manera que cuando el pistn de una locomotora empuja hacia delante, las ruedas empiezan a girar. La figura 29 contiene ejemplos de sistemas restringidos. La pala del ventilador est conectado a la base mediante una junta angular y la mquina de agua de la derecha utiliza diversas restricciones para crear el mecanismo de empuje hidrulico.

Dinmica de cuerpos no rgidos


Hasta ahora hemos supuesto que todos los objetos son rgidos (su geometra o su forma no cambian durante la simulacin). Para poder simular objetos flexibles, tela, cuerdas o lquidos hay que prescindir de esta limitacin. Casi todo lo que hemos explicado antes sigue siendo aplicable, salvo los detalles de la deteccin de colisiones. En el caso de los objetos deformables, la deteccin de colisiones es mucho ms difcil, ya que un objeto puede cambiar de forma radicalmente entre pasos de tiempo y adems intentar chocar consigo mismo (el coste de prevencin de la interpenetracin es especialmente alto en la tela). La figura 30 contiene ejemplos de superficies deformables.

Figura 30: Ejemplos de objetos deformables

La figura 30 muestra: (a) uso de abundantes elementos de tela y cuerda en una escena (cortesa de Blizzard Entertainment); (b) un trozo de tela se desliza por la cabeza de un maniqu; (c) burbujas sobre una superficie dura; (d) simulacin de una piscina donde flotan una balsa y un pato de goma.

108

Apndice

Amortiguacin
Amortiguar significa reducir la energa de un muelle o un cuerpo flexible de manera que las fluctuaciones de su forma disminuyan con cada oscilacin.

Cmara
El botn Camera de la persiana Display sirve para seleccionar una cmara de presentacin. La escena de la ventana de presentacin de reactor se ve desde la cmara seleccionada. Si no se define ninguna cmara, reactor utiliza la cmara inicial predeterminada.

Analizar universo
La funcin Analyze World avisa al usuario cuando utiliza valores poco habituales en la escena. Por ejemplo, si la escena tiene una gravedad muy elevada u objetos grandes con muy poca masa, la funcin Analyze World detecta esos valores y le avisa. El botn Analyze World se halla en la persiana Advanced.

Casco convexo mallado


La opcin Casco convexo mallado se halla en la persiana Properties. Utilcela para rodear un objeto cncavo con una envoltura invisible (casco convexo mallado). Con ello reactor tratar el objeto como si fuera convexo durante la simulacin.

Caja delimitadora
Una caja delimitadora es una caja que rodea un objeto para dotarlo de una geometra convexa. Con una caja delimitadora puede asignar geometra convexa a un objeto que se ve cncavo. La opcin Use Bounding Box se encuentra en la persiana Properties.

Casco convexo optimizado


El casco convexo optimizado (optimized convex hull) suele aplicarse a objetos cncavos. El casco convexo de un objeto se optimiza para la simulacin reduciendo la triangulacin. La opcin Optimized Convex Hull se halla en la persiana Properties.

Calidad de textura
La calidad de textura indica el grado de detalle de las texturas que se emplean en la presentacin. Puede ser 256x256, 128x128 o 64x64. Cuanto ms detalladas sean las texturas, ms lenta puede ser la presentacin.

110

Glosario

Casco convexo Proxyl


Un casco convexo proxy (proxy convex hull) es el casco convexo de un objeto de simulacin proxy. Es posible simular un cuerpo mediante el casco convexo de otro objeto. Este otro objeto se denomina proxy. Para usar un casco convexo proxy, use la seccin Simulation Geometry de la persiana Properties.

Coleccin de telas
Trmino con el que se designa un conjunto de objetos de tela. Las telas deben incluirse en una coleccin con el fin de que puedan calcularse para las simulaciones.

Collision Tolerance
La tolerancia de colisin es el valor por debajo del cual chocan los objetos en una simulacin. Los valores altos de tolerancia de colisin suelen favorecer la estabilidad de las simulaciones. Conviene hallar el equilibrio entre estabilidad y efecto visual. La opcin Collision Tolerance (Tolerancia de colisin), que se encuentra en la persiana Advanced (Avanzada).

Coche de juguete
Toy Car es una funcin de reactor que facilita la creacin rpida de coches y otros tipos de vehculos.

Coleccin de cuerpos flexibles


Trmino que describe un conjunto de cuerpos flexibles o blandos. Para que los resolutores se apliquen a un objeto flexible es preciso incluirlo en una coleccin de cuerpos flexibles.

Cncavo
Un objeto cncavo es aqul que no supera una prueba de convexidad. La mayora de los objetos del mundo real son cncavos. Los objetos cncavos pueden tener agujeros, cavidades y geometras no cerradas. Espirales, teteras y lavabos son objetos cncavos.

Coleccin de cuerpos rgidos


Coleccin de cuerpos rgidos es un trmino especial que describe un conjunto de objetos rgidos o duros. Los cuerpos rgidos deben incluirse en una coleccin para que reactor les aplique resolutores.

Convexo
Un objeto es convexo si es posible trazar una lnea recta entre cualquier par de puntos interiores sin salirse del cuerpo. Cilindros, esferas y cajas son cuerpos convexos.

Coleccin de entidades
Las entidades son los componentes principales de una simulacin y se agrupan en colecciones de entidades. Una coleccin de cuerpos rgidos es un ejemplo de coleccin de entidades.

Cuerpo flexible
Un cuerpo flexible es un objeto cuya forma es deformable como reaccin al impacto de fuerzas y otros objetos en una simulacin.

Coleccin de mallas deformables


Una coleccin de mallas deformables (creada con la opcin DMCollection) es un conjunto de objetos deformables que permite asignar distintos resolutores para determinar su movimiento en una simulacin.

Cuerpos inflexibles
Los cuerpos inflexibles son objetos cuyas animaciones de keyframes se respetan estrictamente dentro de las simulaciones de reactor.

Glosario

111

Cuerpo rgido
Un cuerpo rgido es uno de los tipos de objeto ms bsicos. Los cuerpos rgidos son literalmente objetos cuya forma no cambia en una escena. Suelen emplearse para representar objetos de muchas clases, desde mesas y sillas hasta teteras y rocas.

Deformacin de forma libre


Deformacin de forma libre (FFD) es una herramienta que permite encerrar un objeto flexible en una malla sencilla. Esta malla rige el movimiento y las reacciones del objeto flexible, lo que proporciona ms velocidad para resolver sus reacciones.

Cuerpos rgidos compuestos


Los cuerpos rgidos compuestos son cuerpos rgidos formados por ms de una primitiva. Para construir un cuerpo rgido compuesto, use la funcin de 3ds max que agrupa varias primitivas. Los cuerpos rgidos compuestos resultan tiles cuando la densidad del objeto que se quiere modelar no es uniforme o si el objeto es cncavo pero puede descomponerse fcilmente en varias primitivas convexas.

Densidad
En el caso de los fluidos, se trata de la densidad del fluido respecto al agua (densidad relativa). Por ejemplo, la densidad aproximada del aceite es 0,7. La densidad determina si un objeto flota o se hunde en un lquido. La densidad de un objeto se calcula automticamente a partir de su volumen y su masa. Para determinar la densidad de la tela se emplea una propiedad denominada Buoyancy (Empuje), porque carece de volumen.

Dashpot
Un dashpot es un tipo especial de muelle muy amortiguado. Los dashpots sirven para restringir el movimiento de los objetos.

Desactivador
Un desactivador sirve para indicar al motor que suprima un objeto de una simulacin cuando su nivel de energa haya descendido hasta un nivel determinado.

Dashpot angular
Un dashpot angular es un tipo de amortiguador que intenta obligar a los objetos a mantener sus orientaciones iniciales relativas. Si rota uno, se aplica a ambos una fuerza de giro para tratar de igualar sus orientaciones. Los dashpots son muelles muy amortiguados. Sirven para restringir el movimiento de los objetos con referencia a un punto o a otro objeto.

Display
La persiana Display contiene los parmetros bsicos que controlan la simulacin de la presentacin preliminar de reactor. En la persiana Display se seleccionan las cmaras y luces adecuadas, as como la calidad de la textura de la presentacin preliminar.

Elasticidad Dashpot lineal


Los dashpots lineales son muelles muy amortiguados. Sirven para restringir el movimiento de los objetos con referencia a un punto o a otro objeto. El coeficiente de elasticidad de un cuerpo rgido es el factor que determina la relacin de la velocidad del cuerpo antes y despus de una colisin.

112

Glosario

Esfera delimitadora
Una esfera delimitadora es una esfera que rodea un objeto para dotarlo de una geometra esfrica. Tras ello el objeto se trata como una esfera perfecta que contiene su geometra original. La opcin Use Bounding Sphere se encuentra en la persiana Properties.

Luces
Las luces se seleccionan en la seccin Lights (Luces) de la persiana Display. Si no se selecciona ninguna luz, se utiliza una luz predeterminada desde la misma posicin que la cmara. En una simulacin pueden emplearse hasta seis luces.

Malla Friccin
La friccin es la resistencia que una superficie opone a otra que se mueve sobre ella. Es la fuerza que dificulta a un objeto su deslizamiento por la superficie de otro. reactor permite especificar la friccin asociada a un objeto. La funcin Use Mesh (Usar malla) establece el uso de la malla propia de un objeto para la simulacin.

Malla deformable
Una malla deformable es un tipo especial de objeto que puede utilizarse como una piel. Por ejemplo, se puede usar como piel de un personaje. El funcionamiento de las mallas deformables se basa en piel y huesos, de manera que la malla constituye la piel y varios cuerpos rgidos forman los huesos.

Friccin dinmica
La friccin dinmica es la friccin asociada a un objeto en movimiento. Mide la resistencia entre dos objetos que se rozan.

Friccin esttica
La friccin esttica es la friccin asociada a un objeto mientras est en reposo. Mide la resistencia ante una fuerza externa que tiende a deslizar un objeto sobre otro.

Malla proxy
Una malla proxy es una malla o geometra que puede sustituirse por la geometra real durante la simulacin de un objeto. Este objeto proxy puede ser cncavo o convexo, sea como sea el cuerpo original.

Geometra/malla optimizada
Las geometras optimizadas son aquellas que se han triangulado menos con el fin de acelerar la simulacin o la presentacin. Las opciones de optimizacin se hallan en la persiana Properties. La opcin Optimized Mesh sirve para sustituir la geometra de un objeto convexo por una versin optimizada de dicha geometra.

Masa
La masa (Mass) es una propiedad de todos los cuerpos de reactor. Las primitivas sencillas pueden tener masa, al igual que los cuerpos compuestos. Los cuerpos compuestos son los nicos que pueden tener masa distribuida irregularmente.

Longitud en reposo
La longitud de reposo es la longitud que tiene un muelle cuando no est sometido a ninguna fuerza. Un muelle siempre tiende a su longitud de reposo.

Glosario

113

Mouse Spring
En la ventana de presentacin de reactor puede usarse el ratn para interactuar con la simulacin. Es posible hacer clic con el botn derecho en un objeto y trasladarlo a otra posicin. El muelle de ratn (mouse spring) es un muelle virtual entre el puntero del ratn y el objeto en la escena. Cuanto mayor es la fuerza del muelle, ms fcil resulta mover los objetos. Los parmetros de muelle de ratn se hallan dentro del grupo Mouse Spring en la persiana Display.

Pasos
Un paso es un solo paso de simulacin de reactor, que puede contener a su vez varios subpasos para incrementar la precisin de la simulacin. Existe una correspondencia uno-a-uno entre los pasos y los keyframes de 3ds max.

Persiana Animation
La persiana Animation contiene los parmetros de animacin bsicos. Use la persiana Animation para especificar los fotogramas inicial y final al crear keyframes de 3ds max , adems del nmero de fotogramas por segundo.

Muelle
Un muelle es una conexin elstica entre dos objetos. El sistema de muelle se usa en reactor para restringir los movimientos de los objetos.

Plano
Un plano es una superficie plana. El sistema Plano del panel de comandos Crear inserta un plano. En reactor hay otro plano dentro de Helpers (Ayudantes). Este plano representa un semiespacio y es infinito. A diferencia de un plano estndar, el de reactor no requiere especificar una malla cncava.

Panel de comandos
Un panel de comandos presenta un conjunto de botones y campos relacionados. Lleva una pestaa identificadora en la parte superior para facilitar la seleccin. Los paneles de comandos contienen persianas, que a su vez constan de subgrupos de botones y campos relacionados. 3ds max posee seis paneles de comandos: Crear, Modificar, Jerarqua, Movimiento, Presentacin y Utilidades.

Presentacin preliminar en ventana


El botn Preview In Window le permite ver la escena e interactuar con ella en tiempo real dentro de la ventana de presentacin de reactor. El botn Preview In Window se halla en la persiana Display.

Parmetro World Scale


El parmetro World Scale almacena la correspondencia entre las unidades utilizadas en la escena y las que se van a utilizar en la simulacin de reactor. 3ds max le permite usar las unidades que prefiera. Al simular, reactor debe conocer la relacin entre 1 unidad en 3ds max y 1 metro en la simulacin. El parmetro World Scale (Escala universal) se halla en la persiana Advanced (Avanzada).

Proxies
Los proxies son objetos cuya geometra se usa para sustituir la de otro objeto. Un sustituto puede utilizarse al presentar o simular un cuerpo. Para simular un cuerpo tambin puede emplearse el casco convexo de un objeto proxy. Las opciones de proxy se hallan en la persiana Properties.

114

Glosario

Proxy de presentacin
En la persiana Properties se puede asociar un objeto a otro. En una simulacin se presenta el objeto asociado en lugar del original. Proxy de presentacin es el trmino con el que se representa el objeto asociado.

Simulacin
Una simulacin es una presentacin preliminar de la escena o la animacin. Para realizar una presentacin preliminar de la escena, presione el botn Preview In Window de la persiana Display. Si modifica las propiedades asociadas a la animacin en la persiana Animation, deber presionar el botn Perform Simulation para volver a compilar la animacin.

Prueba de convexidad
El botn Test Convexity de la persiana Properties realiza una prueba para comprobar si un objeto es convexo.

Sistema
Los sistemas son restricciones que actan sobre los objetos en una simulacin. Los sistemas pueden cambiar las propiedades de los objetos y controlan las relaciones entre ellos.

Resolutor
Un resolutor es una funcin que calcula las reacciones de un cuerpo cuando se incluye en una simulacin. Los resolutores actan sobre colecciones de objetos; existen distintos tipos de resolutores para los distintos tipos de objetos.

Subpasos
Los subpasos son pasos dentro de otros pasos. El incremento del nmero de subpasos de un paso aumenta la precisin de la animacin.

Rigidez
La rigidez es la propiedad de un muelle que determina la rapidez con que recupera su longitud de reposo. En un muelle los valores de rigidez muy altos pueden producir inestabilidad.

Tela
Malla bidimensional de tringulos que se aplica a objetos como tejidos, capas, lminas de metal y otros cuerpos planos o plegables.

Sombras
Las sombras pueden verse en la ventana de presentacin de reactor. Slo las luces que inciden en un plano pueden proyectar sombras.

Viscosidad
En el caso de los fluidos, indica la resistencia que encuentra un objeto cuando intenta moverse por el fluido. Se considera que la viscosidad del agua es 1,0.

Nmeros
3ds max 1, 3, 5, 9, 10, 11, 16, 17, 19, 20, 21, 22, 24, 26, 28, 32, 39, 42, 50, 57, 59, 60, 61, 62, 64, 69, 71, 73, 75, 78, 84, 113 jerarqua 73 jerarqua interna 11

A
Accin fractura 56, 57 viento 54 Acciones 53 aadir 54 fractura 54, 56 motor 54, 56 viento 53, 54 Aceleracin 88, 101, 105 angular 104 por hardware 89 Aceleracin lineal 102 Acimut-elevacin-inclinacin 102 Add (Aadir), botn 8, 23, 29, 46, 50, 57, 68 Add (Aadir),botn 35 Add Drag Action (Aadir accin de arrastre) 77 Adimensional 105 Advanced (Avanzadas), persiana 11, 23, 24, 62, 63, 75, 77, 109, 110, 113 Agrupar funcin 17 Agua 37, 39 aadir 37, 38 animacin 39 definir propiedades 37 deformacin 39 densidad 37, 38

enlazar 37 horizontal 38 movimiento 39 parmetros 38 resistencia 39 rizo 38 subdivisiones 38 velocidad de onda 38 viscosidad 39 Aleta 80 Algoritmo 87 Allow Wheel Penetration (Permitir penetracin de las ruedas) 50 Amortiguacin 21, 42, 109 Aadir, desactivador 12 Analyze before simulation (Analizar antes de simulacin) casilla de verificacin 78 Analyze World (Analizar universo) 50, 75 botn 78, 109 funcin 109 prueba 78 utilidad 46 Ancho de banda de UCP 90 Ang parmetro 77 Speed 56 Angular Strength (Fuerza angular) 51 Angular, amortiguacin 77 ngulo 102, 103 Animar, botn 61 Animation (Animacin) 11, 20, 24, 32, 39, 57, 59, 60, 61, 62, 63, 78, 81, 82, 85 barra 60, 61 fsica, creacin 59

116

ndice

keyframes 59 persiana 60, 61, 64, 113, 114 personajes 62, 97 renderizada 11 seccin 61 sencilla, creacin 59 Apilamiento 96 estable 101 Aplicacin de texturas 10 Aplicacin de un proxy a un grupo 18 Aproximacin superficie, persiana 32 rbol de restricciones de Reactor 71 Arco parablico 85 Argumento de juego 82 Arrastre, accin 77 Articulacin prismtica 106 Artificio 94, 99 Asignacin de UCP 89 Asignacin de un material 10 Atmsfera 86 Atraccin gravitatoria 84, 105 Attach to Rigid Body (Asociar a cuerpo rgido) modificador 45, 49 restriccin 48 Autointerseccin 93 Avoid Self-Intersections, opcin 29, 30 Ayuda, men 65 Ayudantes, icono 8, 42, 43 Ayudantes, men desplegable 8, 42, 43 Ayudantes, opcin 25, 35

C
Cadena de CI 71 Caja delimitadora 16, 91, 92, 109 Clculo 79, 86 Calidad de textura 109 Calor 105 Cmara con objetivo, icono 9 Cambio de la escala 83 Camera (Cmara) 5, 28, 35, 38, 48, 114 aadir 3, 9 botn 109 Camera Setting (Configuracin de cmara), opcin de men 4 Caos 81, 82 Carga de UCP 88, 90 Cargar IU personalizada, opcin 3 Casco convexo 16, 19 Cast Shadows (Proyectar sombras), casilla de verificacin 5 Cast Shadows on Plane (Proyectar sombras en plano), opcin 6 Centmetro 84 Centro de masa 103 Centro geomtrico 103 Chasis 50 automvil 94, 107 botn 50 Cheap (Barato), resolutor 46 CLCollection (ColeccinRopa), botn 29 CM 103, 105 Coche 49, 50, 80 Coeficiente de amortiguacin 23, 28, 35 Coeficiente de friccin 10, 23, 28, 35, 105, 106 Coeficiente de restitucin 77, 105 Coleccin 12, 39, 46, 62, 81 smbolo 23 Coleccin de cuerdas 33 aadir cuerdas 35 creacin 35 Coleccin de cuerpos flexibles 21, 22, 23, 24, 25, 111 aadir objetos 21 creacin 21 opciones avanzadas 24 Coleccin de cuerpos rgidos 7, 8, 9, 15, 16, 18, 21, 22, 25, 28, 33, 34, 38, 45, 46, 48, 49, 54, 56, 60, 61, 62, 68, 73, 111 adicin de cuerpos 8 creacin 7 propiedades 11 smbolo 8 Coleccin de entidades 7, 27, 29, 110

B
Back-Euler 12, 88 Background Color (Color de fondo), opcin de men 4 Bala de can 85, 86 Barra de herramientas flotantes 69 Barra espaciadora 61 Bend 30 Bisagra 106 Blizzard Entertainment 107 Botn derecho del ratn 44 Ms 2 Bounding Sphere (Esfera delimitadora) 60 Box Faces (Caras de caja), botn circular 25 Break after collision (Romper tras colisin) 57 Break during collision (Romper durante colisin) 57 Bucle de simulacin 88 Buoyancy (Empuje) 27, 29 propiedad 37, 111

ndice

117

Coleccin de mallas deformables 110 Coleccin de mallas deformantes 62 Coleccin de telas 27, 29, 31, 48, 54, 110 adicin de cuerpos 29 aadir objetos 27 creacin 27 Colecciones, creacin 3 Colisin 57, 62, 68, 84, 88, 90, 93, 94, 95, 96, 98, 99, 100, 105 compleja 91 deteccin 93 realista 93 Colisiones 24, 49 Collision resolution (Resolucin de colisin) 76, 77 Collision Tolerance (Tolerancia de colisin) 77, 110 Collision Tolerance (Tolerancia de colisin), opcin 110 Comando 68 MAXScript 65, 68, 69 setUserProp 69 showProperties 68 showProperties rbc 68 Common Local Orientation (Orientacin local comn) 50 Complejidad de los objetos 90 Complejidad de malla 61 Complex force (Fuerza compleja) 30 model 30 Complex Friction (Friccin compleja), resolutor 77 Comportamiento 81 catico 82 estadstico 80 individual 80 Compresin y expansin 23 Compuesto booleano 60 Cncava, malla 22 Concave (Cncavo) 11 persiana de propiedades 17 Cncavo 15, 22, 60, 93, 110 objeto 17, 19 Condicin inicial 81 lmite 80 Condicin inicial 88 Conexin elstica 41 Conform to Shape (Adaptar a forma), botn 26 Conjunto de fractura 54 Constrain Deformation (Restringir deformacin) 29, 32 Constrain IK Chain with Points (Restringir cadena de CI con puntos), utilidad 73 Constraint (Restriccin) 34 Construccin de cuerpos rgidos compuestos 17

Convex (Convexo) 11 Convexo 15, 60, 93, 110 objeto 13 segmento 17 Coordenadas 3D 102 Corriente de aire 79 Creacin de telas sencillas 28 de una escena 3, 8 de una tela 27 Crear, men 35 Crear, panel 38, 47 Crear, panel de comandos 42, 43, 113 Create (Crear), panel 23 Credibilidad 81 CSolver 46 CSolver, sistema 56 Cuadrcula 79 Cuadro de dilogo 72, 84 Cuerda 33, 34, 45, 107 compresin 35 creacin 33 estirar 34 expansin 35 friccin 35 fuerza 34 grosor 34 masa 34 modelo basado en muelles 33 modelo basado en restricciones 33 resistencia al aire 35 rigidez 34 superficie 35 tipo 35 Cuerpo compuesto 54 con keyframes 59, 77 fsico 62 que se fractura 57 Cuerpo flexible 21, 23, 24, 25, 27, 45, 48, 49, 53, 61, 107, 110 asignar propiedades 21 creacin 22 FFD 24 fijacin 24 masa 22 propiedades 21, 22, 61 rigidez 23 Cuerpo inflexible 59, 62, 77, 110 Cuerpo rgido 7, 8, 9, 17, 20, 21, 24, 28, 31, 35, 38, 42, 45, 48, 53, 54, 63, 77, 92, 93, 106, 111

118

ndice

aadir un punto 42 compuesto 14, 17, 19, 28, 56, 111 fijo 63 lista 68 propiedades 10

D
Damping (Amortiguacin) 6, 45 Damping (Amortiguacin), parmetro 30 Dashpot 41, 42, 44, 45, 106, 111 aadir 41, 44 angular 42, 44, 111 coherencia 44 fuerza 45 fuerzas 44 lineal 42, 44, 112 longitud de reposo cero 42 propiedades 41 puntos establecidos 44 Datos fsicos 59 Deactivator (Desactivador) Samples (Muestras), opcin 12 Time (Tiempo), opcin 12 Declive-oscilacin-balanceo 102 Dedo 104 Define Collision Pairs (Definir pares de colisin) 12 Define Collision Pairs (Definir pares de colisin), opcin 12 Deformacin 29, 62 de forma libre 24, 111 fuerza de escala 39 Delaunay, casilla 32 Delete (Eliminar), botn 68 Delete Keyframes (Eliminar keyframes), botn 63 Delete Now (Eliminar ahora), botn 63 Densidad 17, 39, 50, 112 Desactivacin 90 Desactivacin de colecciones 11, 24 Desactivador 12, 39, 111 Desactivar 39 Designar, botn 35 Deteccin de colisiones 26, 50, 76, 84, 88, 90, 92, 93, 95, 107 multifase 92 Dinmica de cuerpos rgidos 107 Dinmica de fluidos computacional 79 Dinmica de reactor 2, 8, 29, 35, 38, 42, 46, 47, 50, 54, 56, 62, 113 Dinmica de telas 30 Dinmica restringida 106 Disable All Collisions 62

Disabled (Desactivado) 51 casilla 11 lista 12 Diseo industrial 79 Display 6, 11, 111 men 4 persiana 5, 6, 9, 44, 60, 109, 111, 112, 113, 114 Display Children (Mostrar descendientes), opcin 11 Distance (Distancia) 31 mnima 76, 98 Distribucin del calor 81 DMCollection (ColeccinMD), botn 62 DMCollection (ColeccinMD), opcin 110 Do not affect rigid body (No afectar a cuerpo rgido), opcin 49 Documentacin 106

E
Ecuacin diferencial 87 ordinaria 11 Edges, opcin de men 4 Editor de materiales 10 Efecto bala a travs del papel 96 especial 37 especiale, men 38 mariposa 81 visual 76 Eje 102, 103 giro 50 rotacin 47, 54, 56 Ejecucin de una simulacin 10 Ejecutar, botn 72 Ejes de ruedas 50 Elasticity (Elasticidad) 7, 9, 10, 69, 111 Elemento 54, 68, 79 finito 79 Elipsoide 97 Enabled (Activada), lista 12 End 63 End Frame (Fotograma final) 60, 61, 63 nea He (Activar refugio), opcin 55 Energa 12, 30, 42, 57, 100, 105 cintica 105 Energy Loss 57 Enlazar a efecto especial, icono 39 Ensamblaje 81 Entidad 12, 77, 80, 81, 110 Entorno 85

ndice

119

Entorno real 82 Entrada 88 Escala 75, 82, 83, 84, 86 metros 84 mundo real 82 tiempo 60 Escenas 27, 35, 42, 49, 81, 100 3D 100 fsica 96 mundo real 84 Esfera 93 delimitadora 16, 112 Espacio 41, 102 cuerpo 44, 56 disco 63 universal 24, 29, 45, 47, 50 Especificacin de la orientacin 104 Estabilidad 50, 76, 88 simulacin 96 Estado 85, 87, 88, 96, 100 estable 89 Estructura de la simulacin 88 Euler 12, 88 Evolucin 87 Expensive (Caro), resolutor 46 Exploracin de una simulacin 10 Extremo fijo 33 libre 33

original 93 Formas 47 ficha 33 Fotograma 26, 60, 61, 89, 96 Fractura simple 54 Fracture (Fractura) 53 Fracture Properties (Propiedad de fractura) 57 Frame (Fotograma), cuadro 26 Frames/Key (Fotogramas/Key), valor 60 Frecuencia de actualizacin de la presentacin 89 Frecuencia de la simulacin 89 Freeze (Congelar), casilla de verificacin 63 Frequency (Frecuencia) 55 Friction (Friccin) 7, 9, 10, 17, 21, 69, 89, 105, 112 dinmica 105, 112 esttica 10, 105, 112 por deslizamiento 10 Fuerza 45, 49, 51, 56, 76, 81, 84, 86, 88, 95, 97, 101, 104, 105, 106 colisin 88 correctoras 51 externa 82, 85, 86, 100 friccin 88 giro 44 grande 93, 95 viento 53, 85, 86 Funcin 69 Fundamentos fsicos de Havok 79

G F
Faces (Caras), opcin de men 4 Factores 86 FFD 24, 25, 61, 111 animacin 61 Caja, lados 25 cambio de la configuracin 26 malla 26, 61 modificador 21 panel de seleccin 25 seleccin de malla 25 FFD Soft Bodies Only (Slo cuerpos flexibles FFD), restricciones 49 FFD-Based (Basado en FFD), botn 25 Fijacin 24 Fsica 11, 24, 59, 62, 82, 89, 97 Havok 101, 106 Fixed Step (Paso fijo), opcin de men 4 Fluidos 37 Fold Stiffness (Rigidez de plegado) 30, 31 Forma 92, 94, 98, 107 Gain (Ganancia) 56 General (General), resolutor 46 Geometry (Geometra) 26, 84, 92, 94, 96, 98, 103, 107 colisin 92 cncava 94 deformante 96 maciza 96 men 4, 15, 16 optimizadas 19 presentacin 14, 16, 94 presentacin compleja 94 proxy 94 Sim Edges (Aristas sim), opcin 20 simulacin 14, 15, 22, 60 visual 99 Gestin de energa 90 Get from / Set to Material (Obtener de / Definir en material) 10 Get From Material (Obtener de material) 10 getUserProp, comando 69 Glosario 109

120

ndice

Grado 101 Grficos de ordenador 103 gran 106 Granularidad 89 Gravity (Gravedad) 75, 76, 83, 84, 85, 86, 95, 100 opcin de men 4 Grupo, men 18 Grupos 17 Guin 65 ejemplo 69 macro 69 Guionado, movimiento 62

Internal Substeps (Subpasos internos) 50 Interpenetracin 12, 13, 95, 96, 98, 99, 100 Interpolation (Interpolacin) 62 propiedad 77 Intervalo de tiempo 85, 87 Iteraciones de subdivisin 24

J
Jerarqua de vnculos 73 Juego 81, 82, 85 tiempo real 88, 89 Junta angular 107 rtula 47, 106 universal 106

H
Hangar aeronutico 83 Havok 81, 83, 85, 95, 97, 103, 104, 106 productos 79 Havok*, lista 68 HavokPerformSimulation 69 Hlice, forma 34 Helpers (Ayudantes) 113 opcin 23 HK*, lista 68 HKRBCollection 68 Hoja celofn 93 ventilador 107 Hueco 93, 96 Huesos 62, 97

K
Keyframe 1, 24, 50, 59, 60, 61, 63, 78, 97, 113 borrar 61 redundante 63 Keystone (Clave), piezas 57 Kilogramo 83, 101 Kilmetro 84

L
Lenguaje de generacin de guiones 65 Leyes de movimiento 82 Leyes de movimiento de Newton 86 Lighting, Shadows (Iluminacin, sombras), opcin de men 4 Lights (Luces) 5 Lmite inferior 89 Lin, parmetro 77 Lnea 103 Lineal amortiguacin 77 valor 76 Linear Strength (Fuerza lineal) 51 Lneas de cuadrcula 31 Lquido 92, 107 Local 56 Locomotora 107 Longitud 101 Longitud de reposo 76, 111 Luces aadir 3 Luces y cmaras, ficha 9 Luz 28, 35, 38, 48, 112

I
Icon Orientation (Orientacin del icono) 50 Ignore Collisions (Omitir colisiones), opcin 49 Iluminacin 89 Imgenes 89 Implcito 93 Impulso 54, 57, 97, 102, 104 angular 104 Incorporacin de luces 9 Informacin exportada 19 textura 57 Instantnea 85, 87 Integracin numrica 87 Integrador 45, 87, 88 preciso 88 Interaccin 84 interaccin 84 Interfaz con el sistema de presentacin 84 usuario 68

M
Macizo 95 Magnitude (Magnitud) 55

ndice

121

Malla 17, 19, 24, 25, 27, 30, 31, 32, 38, 48, 60, 61, 62, 97, 109 deformable 112 deformante 62, 96, 97, 98 deformante, congelar 63 deformante, Updates/Frame 63 grande 31 poligonal 93 proxy 112 sencilla 24 Mquina de agua 107 Margen de error 80 Mass (Masa) 7, 9, 10, 17, 21, 28, 34, 39, 49, 56, 61, 69, 73, 75, 105, 112 cero 10 distinta de cero 61 Materia 105 Material 39, 105 deformable 92 Matriz de transformacin 102 Max Mouse Mode (Modo de ratn de Max) 4 Max, men 5, 32, 64 MAXScript 65, 69, 72 botn 72 definicin de propiedades fsicas 69 ejecucin de guiones 72 ejecucin de la simulacin 69 funcin 69 matriz de 68 men 65 persiana utilidades 72 Mayor precisin 88 Mecnica de Newton 82 Memoria 63 Men cuad 2 Mesh Convex Hull (Casco convexo mallado) 109 opcin 109 Mesh Select (Seleccionar malla), modificador 54 Metodologa 79 Metro 75, 83, 101 Midpoint 12 Milla 84 Min. Energy (Energa mn), campo 12 Min/Max, barra 16, 17 Modelador 84, 103 3D 84 Modelo 80 automvil 41, 49 fuerza 30 restriccin 35 Modificadores, persiana 68 Modify (Modificar) 48

ficha 8, 23, 35, 38, 43, 46 panel 11, 24, 25, 28, 50, 61 persiana 34 seccin 22, 45, 48, 56 Modify Branch (Rama de modificadores), opcin 5 Modify Properties (Modificar propiedades), persiana 45 Modo de presentacin preliminar 37 Molino de viento 56 Momento 57, 102, 104 angular 104 lineal 102 More... (Ms...) 48 Mostrar Descendientes, opcin 73 Motor 53, 56 3D 103 accin 54, 56 Havok 83, 84, 88, 89, 90, 98, 106 smbolo 56 Motor de fsica 69, 82, 83, 84, 85, 89, 90, 92, 95, 96, 97, 101, 102 Havok 79, 83, 93 Mouse spring (Muelle de ratn) 6, 23, 113 parmetros 113 Movimiento 62, 84, 86, 87, 105 balstico 79 keyframes 62 Muelle 35, 41, 42, 43, 44, 45, 76, 96, 106, 111, 113 accin de contraccin 42 accin de extensin 42 actuar en compresin 44 actuar en extensin 44 amortiguacin 42, 44 aadir 41, 42 compresin 44 extensin 44 fuerza 43 hookeano 42 longitud de reposo 42, 44 presentacin preliminar 44 propiedades 41, 42, 43 rigidez 42, 44, 45 Mundo fsico 75 real 95

N
Nave (Naif), resolutor 77 Newton 101 Newtons metros 104 segundos 102

122

ndice

Niebla 89 No Friction (Sin friccin), resolutor 77 Nodo 20 descendiente 20 Non 24 None (Ninguno), botn 9, 11, 26, 43 Non-Selected Are Fixed (No seleccionados=fijos), opcin 24, 29, 49, 54 Normal 92 pieza 57 Normalizar spline 34 NURB 94 Nurbs, panel de modificador 32

O
Object Type (Tipo de objeto), persiana 8 Objeto 11, 14, 33, 37, 39, 41, 43, 44, 49, 53, 62, 64, 65, 68, 75, 76, 77, 79, 80, 81, 82, 84, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 98, 99, 102, 104, 107 activo 90 animacin 59 apilado 99 ascendiente 73 blando 97 centro 103 complejo 20 comportamiento 41 cncavo 93 convexo 93 deformable 107 desactivacin 90 forma 92 implcito 93 interpenetracin 95 malla 16 poligonal 93 propiedades fsicas 1 proxy 11, 16, 84, 94 que se rompe 81 reactivacin 90 sencillo 20 sof 95 sopa de polgonos 93 superficie 93 toy car (coche de juguete) 49 tratar como cncavo 16 tratar como convexo 14 warp 97 Objetos aplicacin de propiedades fsicas 3 colisin 93

de composicin 17 desactivar 12 no fijos 10 proxy 94 que contienen otros objetos 16 simplificados 94 Omitir colisiones 48 Ondas 37, 38 Opciones de simulacin avanzadas 77 Operacin 86 Optimizacin 15 Optimizar, modificador 19 Optimized Convex Hull (Casco convexo optimizado) 109 opcin 109 Optimized Geometry (Geometra optimizada) 113 Optimized Mesh (Malla optimizada), opcin 112 Orientacin 41, 42, 44, 50, 62, 81, 85, 88, 96, 102, 103 actual 44 inicial 103 Origen 102 Origen de escena 68 Oscilacin 35 Oyente de MAXScript 65

P
Palanca 105 Panel de comando 113 Crear 73 Panel de reactor 2 Panel de vista 35, 43 Panel, Crear 8 Paneles de vista 10, 14, 16, 43, 46, 54, 64 Par 104 Par de colisin 90, 91, 95 Parmetro 87 subpasos 89 Parmetros 81, 87, 90 avanzados 32 errneos 78 Pasar por alto colisiones 62 Paso 88, 92, 98, 113 fsico 89 integracin 24 integracin interno 31 simulacin 60, 76, 89 tiempo 45, 64, 86, 87, 88, 95, 98, 107 Pelcula 85, 89 Perform Simulation (Realizar simulacin) 60, 61 botn 114 Periodo de tiempo 86

ndice

123

Personaje 82 Personalizar, men 3 Perturb Speed (Perturbar velocidad) 55 casilla de verificacin 55 Perturb Time (Perturbar tiempo), casilla 55 Peso 101, 105 Physics (Fsica), men 4 Pick (Designar), botn 6, 9, 23, 29, 46, 68 Piedra 106 Piel 97 huesos 62 malla 62 modificador 62 Pistn 107 Pivote 47, 103 Planetaria 82 Plano 93, 113 Plano de reactor 113 Platino-iridio 105 Play/Pause (Reproducir/Pausa), opcin de men 4 Pliegue colineal 32 Plug-in 3, 6, 7, 53, 75 Point-Path (Punto a recorrido) 47 Point-Point (Punto a punto), opcin 46 Poligonal 93 Polgono 31, 89, 93, 94 Posicin 35, 41, 62, 81, 84, 86, 88, 95, 96, 97, 101, 102 definida 96 impacto 81 inicial 61 reposo 64 Potencia de UCP 88 Preclculo 61 Precisin 60, 78, 79, 80, 81, 86, 88, 89, 94 decreciente 89 numrica 100 resultado 88 Presentacin 89 3D 88, 89 grfica 89 preliminar 50, 56, 57 preliminar de la simulacin 3 preliminar de una escena 3 Prevencin de la interpenetracin 107 Preview (Presentacin preliminar), ventana 11 Preview In Window (Presentacin preliminar en ventana) 5, 19, 113 botn 10, 23, 30, 35, 39, 44, 60, 113, 114 Preview-In (Presentacin preliminar), ventana 1 Primitiva 17, 19, 20 Principal, barra de herramientas 39

Principio general 106 Proceso 76 Produccin de pelculas 88 Produccin en tiempo real 88 Properties (Propiedades) cuerda 34 cuerpo rgido 72 definidas por el usuario 69 fsicas 7 fsicas iniciales 69 malla deformante 63 men 3, 63 objeto 84 panel 73 persiana 9, 10, 11, 14, 15, 16, 22, 25, 28, 34, 45, 46, 48, 56, 62, 63, 109, 114 seccin 6, 30, 46, 48 Propiedad fsica 69, 103, 105 Proxy 94, 110 colisin 99 convex hull 110 geometra 19, 20 opcin 11 presentacin 11, 18, 20, 114 Prueba colisin 92, 93 colisin compleja 91 colisin final 92 compleja 91 convexidad 14, 110, 114 rechazo precisa 92 sencilla 91 Pruebas choque de vehculos 79 colisin 90 colisin multifase 91 Pulgada 75, 76, 84 Pulgar 104 Punto 43, 44, 47, 81, 93 botn 43 colisin 92, 98 contacto 105 medio 88 pivote del objeto 43 referencia 102

R
Radin 101, 104 Rapidez 101 Ratn, puntero 35 RBCollection (ColeccinCR) 46

124

ndice

botn 8 RBCollection Properties (Propiedades de ColeccinCR), persiana 8, 11 Reactor barra de herramientas 2, 69 directorio 72 introduccin 1 men cuad 2 plug-in 2 utilidad 9, 15, 22, 28, 34, 44, 60, 61, 62, 68, 69, 72 Reactor AttachToRB (Reactor asociar a cuerpo rgido) 48 Reactor Cloth (Tela), modificador 27, 28, 54 Reactor Dynamics men desplegable 23 opcin 23, 25 persiana 3 Reactor Rope (Reactor cuerda), modificador 34 Reactor SoftBody (Reactor CuerpoFlexible), modificador 25 Reactor SoftBody (Reactor CuerpoFlexible), opcin 22, 25 Reactor Water (Reactor Agua) 37 Reactor.mcr 69 Real Time (Tiempo real), opcin 4 Realismo 81 Realizar una prueba de convexidad 14 Rechazo trivial 91 Recorrido confinado 47 Recursos de UCP 79, 90 Recursos del sistema 24 Reduccin de keyframes 1, 63 Reduce After Simulation (Reducir tras simulacin), opcin 63 Reduce Keyframes (Reducir Keyframes), botn 63 Reduce Now (Reducir ahora), botn 63 Referencia de MAXScript, opcin 65 Regla de la mano derecha 103 Relative density (Densidad relativa) 29 Renderizar animacin 39 Representacin fsica 75 grfica 37 matemtica 93 Reproduccin de animacin 82 Reset (Restablecer), opcin de men 4 Resistencia del aire 85, 86 Resolucin newtoniana 77 Resolutor 45, 114 Complex Friction (Friccin compleja) 77 Nave 77 No Friction (Sin friccin) 77

Restricciones 45, 47, 73 Simple Friction (Friccin simple) 77 Resolutore ODE 11 Resolver 7, 77 Resquicio 93 Rest length (Longitud de reposo) 6 Restitucin 105 Restriccin 35, 41, 44, 45, 46, 49, 53, 56, 77, 96, 106, 107 AttachToRB 48 botn 73 fuerza 56, 73 movimiento 41 punto a clavo 41, 45, 47, 56 punto a punto 41, 45, 46, 47, 73 punto a recorrido 41, 45, 47 resolutor 45 Resultado de colisin 92 Rigid body (Cuerpo rgido), botn 56 Rigid Body Collection (Coleccin de cuerpos rgidos), botn 57 RigidBodiesTab 68 Rigidez 21, 51, 114 compleja 30, 31 simple 30 Ripple (Rizo) 37, 53, 55 casilla de verificacin 55 Ritmo de ascenso 85 RK45 88 Ropa 81 Rope (Cuerda), modificador 33, 34 Rope Type (Tipo de cuerda), opcin 34 Rotacin 42, 54, 103 positiva 104 RPCollection (ColeccinCuerda), botn 35 Runge-Kutta 12, 88

S
Save Before Simulation (Guardar antes de simulacin), opcin 78 SBCollection (Coleccin CF) botn 23 opcin 25 Scale Timestep (Escalar paso de tiempo), parmetro 23, 24, 31 Scenes (Escenas), carpeta 8, 22, 25, 33, 37, 53, 72 Scripts, subdirectorio 72 Seccin, podo To... (Se aplica a) 55 Segundo 101 Seleccionar malla 48 modificador 24

ndice

125

opcin 48 Seleccionar por nombre, lista 18, 43 Seleccionar spline 34 Select Rigid Bodies (Seleccionar cuerpos rgidos), cuadro de dilogo 8 Semiconductores 79 Serie continua de simulacin 80 Set to Material (Definir en material) 10 Set Volume SubObject (Definir subobjeto volumen), botn 26 Shear (Desviacin) 30 showProperties 68 Sim Edges (Aristas sim) 16 opcin de men 4 opcin de presentacin 15 Smbolos de la barra de herramientas 2 Simple force model (Modelo de fuerza simple) 30 Simple Friction (Friccin simple), resolutor 77 Simulacin 7, 16, 19, 20, 22, 24, 26, 28, 29, 33, 34, 38, 39, 42, 46, 47, 48, 49, 50, 56, 57, 60, 61, 62, 63, 69, 73, 75, 76, 78, 79, 81, 84, 86, 87, 88, 91, 92, 94, 95, 101, 107, 114 alto nivel 80 basada en elementos 81 cuerpo flexible 33 cuerpos rgidos 92 dinmica 76 escena 10 imprecisa 63 mecnica 82 men 4 persiana 63 precisa 62 precisin 11 presentacin 24, 37 sucesos discretos 80 telas 32 tiempo real 24 ventana 64 simulacin 14 Simulacin fsica 59, 75, 79, 81, 86, 88, 89, 90, 93, 95, 100, 105, 106 Simulation Geometry (Simulacin de geometra), seccin 110 Sistema 12, 33, 42, 76, 77, 80, 86, 87, 88, 93, 96, 99, 106, 114 3D, presentacin 84 actualizacin 84 colisin 91 dinmico 107 fsico 53, 81 gestin de energa 101

grficos 85 grande 106 Havok 91, 92, 97, 98 mtrico 101 plano 113 restringido 77, 88, 107 tiempo real 82 Sistema de coordenadas 102, 105 global 103 local 102, 104 reducido 106 restringido 106 universal 102 Sistema de fsica 87, 97, 98, 103, 106 Sistema de referencia 102 local 102 universal 102, 103 Sistema de restriccin 45 Sistemas Creacin 3 fsica 83 restriccin 41 Skin-and-bone (Piel y huesos) 112 Smooth Level (Nivel de suavizado), opcin 24 Soft (Flexible), modificador 22 Soft Body (Cuerpo Flexible), modificador 22, 24 Solidez 96 Sombra 5, 114 Sopa de polgonos 93, 95, 96 Spin Wheels (Girar ruedas) 50 Spline 33, 34 Split Angle (ngulo de divisin) 31 Spread Angle (ngulo de difusin) 31 Spring (Muelle), botn 43 Spring Properties (Propiedades de muelle), persiana 43 Stable Configuration (Configuracin estable) 26 Start Frame (Fotograma inicial) 60, 61, 63 posicin 61 Stiffness (Rigidez) 23, 28, 30, 61 Strength (Fuerza) 6, 45, 47 Stretch (Estiramiento) 30 Suavizado 21 SuavizaMalla, modificador 24 Subrbol, opcin 18 Subatmica 82 Subdivisin iterativa 29 Subparte 81 Substep (Subpaso) 45, 64, 76, 89, 114 Substeps (Subpasos) 24, 50, 60, 89 opcin de men 4 Substeps/Key (Subpasos/Key), valor 60, 61

126

ndice

Suceso discreto 80 Sucesos 80, 81 Superficie 105 cerrada 93 deformable 107 Superposicin de cajas 92 Suspensin 50, 51 Sustitucin geometra 15, 16 geometra de un objeto con una malla optimizada 17 geometra de un objeto con una malla proxy 17 para optimizacin 16

Toy Car (Coche de juguete) 41, 49, 110 masa 50 opcin 50 parmetros 50 Toy Car Orientation (Orientacin de coche de juguete) 50 Toy Car Properties (Propiedades de coche de juguete) 50 Tratamiento de un objeto como cncavo 16 Triangulacin 38, 48 Delaunay 32 Tringulos 93, 96

T
Tecla de aceleracin 88 Tecnologa Havok 79, 106 Tela 27, 28, 30, 31, 32, 45, 48, 49, 53, 54, 92, 107, 114 amortiguacin 28 asignar propiedades 27 deformacin 29 densidad relativa 29 friccin 28 interseccin 29 masa 28 modificador 48 nivel de suavizado 29 propiedades fsicas 27 resistencia del aire 29 rigidez 28 seleccin de vrtices 29 Terminologa 79 Test Convexity (Probar convexidad), botn 14, 114 Texture Quality (Calidad de textura) 6 Textures (Texturas), opcin de men 4 Thickness (Grosor) 34 Tiempo 80, 81, 86, 88, 99 animacin 64 ejecucin 20 espera 80 real 20, 31 UCP 89, 90 Tifn 81 Time Scale (Escala de tiempo), valor 55 Timestep 23 Timestep (Paso de tiempo) 24, 31 Tipo de objeto, persiana 43 Toggle Display On/Off (Conmutar presentacin Act/ Des), opcin de men 4 Tolerancia colisin 95, 98, 99, 100 colisiones 76

U
Ubicacin 44 UCP 89 Ui/macroscripts, subcarpeta 69 Umbral de energa 24 Unbreakable (Irrompible) 57 Unidad 75, 76, 78, 83, 101, 104 adimensional 84 genrica 75 universal 24 Universo 81, 85, 102, 104 Unyielding (Inflexible) objeto 62 propiedad 62 Updates/Frame (Actualizaciones/Fotograma), opcin 62 Update Max (Actualizar Max) 32, 64 funcin 32, 64 opcin de men 5 Update Viewports (Actualizar visores) 61 Updates/Frame (Actualizaciones/Fotograma), parmetro 62 Use Bounding Box(Usar caja delimitadora), opcin 16, 19, 109 Use Bounding Sphere (Usar esfera delimitadora) 34 Use Bounding Sphere (Usar esfera delimitadora), opcin 16, 19, 112 Use Max Parameters (Usar parmetros de Max) 64 Use Max Parameters (Usar parmetros de Max), opcin de men 5 Use Mesh (Usar malla), opcin 17 Use Mesh Convex Hull (Usar malla Convex Hull), opcin 16 Use Optimized Convex Hull (Usar casco convexo optimizado), opcin 16, 19 Use Optimized Mesh (Usar malla optimizada), opcin 17, 19 Use Proxy Convex Hull (Usa casco convexo Proxy), op-

ndice

127

cin 16, 19 Use Proxy Mesh (Usa malla Proxy), opcin 17, 19 Uso malla del objeto original 16 memoria 19 UCP 94 Usuario 92, 95, 96 Utilities (Utilidades) cuadro de dilogo 2 panel 2, 72 panel de comandos 9, 14, 16, 17

V
Valor global 76 Valores de friccin 77 Variable 76, 87 Variance (Varianza) 53 rizo 53 valor 55 Vector 102 Vehculo 88 Veleta 53 Velocidad 77, 81, 86, 88, 101, 105 angular 50, 77, 104 inicial 61 lineal 77, 102 presentacin de imagen 11 rotacin 104 viento 53 Ventana de presentacin 3, 9 Ventana de presentacin preliminar 6, 20, 24, 32, 44, 57, 64 Ventilador 54 Vrtices 24, 25 opcin 48 Viento 81, 86 smbolo 55 Viscosidad 114 Visor 50 Volume (Volumen) 93, 95 botn 26

W
Warping de objetos 96 Water (Agua) 53 botn 38 efecto especial 37 Wind (Viento) 53 World Scale (Escala universal) 75, 76, 78 opcin 75 parmetro 113

128

ndice

Você também pode gostar