6722526 i083 manual y tutorial de reactor 132 paginas en espanol

132
www.discreet.com REFERENCIA DEL USUARIO Y TUTORIALES 21100-210000-5020A Julio de 2002

Upload: erik-ruiz

Post on 01-Dec-2015

58 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

www.discreet.com

REFERENCIA DEL USUARIO Y TUTORIALES

21100-210000-5020AJulio de 2002

Page 2: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Copyright © 2002 Autodesk, Inc.Todos los derechos reservados

Esta publicación no puede ser reproducida, ni en todo ni en parte, en ninguna forma ni por ningún medio para otros fines.

AUTODESK, INC. SUMINISTRA ESTOS MATERIALES “TAL CUAL” Y SU SUMINISTRO NO IMPLICA NINGÚN TIPO DE GARANTÍA, NI EXPRESA NI IMPLÍCITA, INCLUYENDO PERO SIN LIMITARSE A ELLAS, LAS RELATIVAS AL CUMPLIMIENTO DE CRITERIOS COMERCIALES Y A LA ADECUACIÓN A FINES PARTICULARES. AUTODESK, INC. NO ACEPTA EN NINGÚN CASO RESPONSABILIDADES POR LOS DAÑOS PARTICULARES, INDIRECTOS, DERIVADOS O FORTUITOS, QUE SE PUEDAN ORIGINAR EN RELACIÓN CON, O COMO RESULTADO DE LA COMPRA O USO DE ESTOS MATERIALES. INDEPENDIENTEMENTE DE LA FORMA DE ACCIÓN, 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 publicación describe el estado del producto en el momento de su publicación y puede no reflejar estados posteriores del producto.

Marcas registradas de AutodeskLas siguientes son marcas comerciales registradas de Autodesk, Inc. en EE.UU. o/y otros países: 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 países: 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 Developer’s 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, Designer’s Toolkit, DesignProf, DesignServer, DWG Linking, DXF, Extending the Design Team,FLI,FLIC,GDX Driver,gmax,gmax(logotipo),gmax ready (logotipo),Heads-up 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 países: 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 países: backburner, backdraft, heatwave, Multi-Master Editing.

Marcas registradas de tercerosLos demás nombres de marcas, productos y marcas comerciales pertenecen a sus respectivos propietarios.

Créditos 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.Tecnología de licencias con Copyright © Macrovision Corp. 1996–2002.Porciones con Copyright © 1989-2002 mental images GmbH & Co. KG Berlín, AlemaniaPorciones 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 división de Autodesk, Inc., por Havok.com, Inc. Copyright © 1999-2002 Havok.com, Inc. Todos los derechos reservados. Consulte www.havok.com para más detalles. Wise Installation System for Windows Installer © 2002, Wise Solutions, Inc. Todos los derechos reservados.

USO GUBERNAMENTALEl uso, duplicación o revelación 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.

Page 3: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

1 Bienvenido . . . . . . . . . . . . . . . . . . . . . . . 1Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Características avanzadas de presentación . . . 5

2 Cuerpos rígidos . . . . . . . . . . . . . . . . . . . 7Contenido del tutorial . . . . . . . . . . . . . . . . . . . . . 7Creación de una simulación de cuerpos rígidos . 8Propiedades de cuerpo rígido . . . . . . . . . . . . . 10Propiedades de colección de cuerpo rígido . . 11

3 Objetos convexos y cóncavos . . . . . 13Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 14Realizar una prueba de convexidad . . . . . . . . 14Tratamiento de un objeto como convexo . . . . 14Tratamiento de un objeto como cóncavo . . . . 16Construcción de un cuerpo rígido compuesto17Más información sobre los proxies . . . . . . . . . 18

4 Cuerpos flexibles. . . . . . . . . . . . . . . . . 21Acerca de estos tutoriales . . . . . . . . . . . . . . . . . 21Creación de una simulación de cuerpos flexibles .22Cuerpos flexibles más avanzados . . . . . . . . . . 23Deformación de forma libre . . . . . . . . . . . . . . . 24

5 Tela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 27Creación de una simulación de tela . . . . . . . . 28Propiedades avanzadas de ropa . . . . . . . . . . . 30Limitaciones del modelo de tela . . . . . . . . . . . 31

6 Cuerdas . . . . . . . . . . . . . . . . . . . . . . . . 33Acerca de estos tutoriales . . . . . . . . . . . . . . . . . 33Creación de una simulación de cuerda. . . . . . 33

7 Agua. . . . . . . . . . . . . . . . . . . . . . . . . . . 37Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 37Adición de agua a una escena . . . . . . . . . . . . . 38

8 Restricciones . . . . . . . . . . . . . . . . . . . . 41Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 41Muelles y dashpots . . . . . . . . . . . . . . . . . . . . . . 42Adición de un muelle a una simulación. . . . . 42Adición de un dashpot . . . . . . . . . . . . . . . . . . . 44Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Coche de juguete . . . . . . . . . . . . . . . . . . . . . . . . 49

9 Acciones . . . . . . . . . . . . . . . . . . . . . . . 53Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 53Las acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Adición de acciones a escenas . . . . . . . . . . . . . 54

10 Animación . . . . . . . . . . . . . . . . . . . . . . 59Contenido del tutorial . . . . . . . . . . . . . . . . . . . . 59Creación de una animación sencilla . . . . . . . . 59Mezcla de keyframes y animación física I . . . 61Mezcla de keyframes y animación física II . . 62Mallas deformantes . . . . . . . . . . . . . . . . . . . . . . 62Reducción de keyframes. . . . . . . . . . . . . . . . . . 63Modificación interactiva . . . . . . . . . . . . . . . . . . 64

Page 4: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Contenidoiv

11 MAXScript y reactor . . . . . . . . . . . . . . 65Objetos de reactor . . . . . . . . . . . . . . . . . . . . . . . 65Definición de propiedades físicas . . . . . . . . . . 69Ejecución de guiones . . . . . . . . . . . . . . . . . . . . . 72

12 Escala universal. . . . . . . . . . . . . . . . . . 75World Scale (Escala universal) . . . . . . . . . . . . . 75Tolerancia a colisiones. . . . . . . . . . . . . . . . . . . . 76

13 Propiedades de simulación avanzadas . 77

Appendix: Fundamentos físicos. . . . . 79Simulación física. . . . . . . . . . . . . . . . . . . . . . . . . 79Detección de colisiones . . . . . . . . . . . . . . . . . . . 90Unidades físicas y valores. . . . . . . . . . . . . . . . 101Pasos siguientes . . . . . . . . . . . . . . . . . . . . . . . . 106

Glosario . . . . . . . . . . . . . . . . . . . . . . . 109

Índice . . . . . . . . . . . . . . . . . . . . . . . . . 115

Page 5: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Bienvenidoreactor™ es un plug-in para 3ds max™ diseñado para que artistas y animadores controlen y simulen escenas físicas complejas con facilidad. reactor admite dinámica de cuerpos rígidos y flexibles, simulación de ropa y de fluidos. Puede simular restricciones y articulaciones de cuerpos articulados. También puede simular comportamientos físicos como viento o motores. Puede aprovechar todas estas características para crear entornos dinámicos muy ricos.

Una vez que un diseñador crea un objeto en 3ds max, puede asignarle propiedades físicas. Entre estas propiedades puede haber características como la masa, fricción y elasticidad. Los objetos pueden ser fijos, libres, unidos a muelles o unidos entre sí mediante restricciones varias. Al asignar características físicas a objetos, es posible modelar ambientes reales de forma rápida y simple, y después simularlos para crear animaciones de keyframes con precisión física.

Con reactor, puede ver rápidamente la presentación preliminar de escenas con la ventana de simulación en tiempo real. Esta ventana permite probar y manipular escenas interactivamente. Puede alterar posiciones de todos los objetos físicos de la escena, reduciendo drásticamente el tiempo de diseño. Después puede transferir la escena a 3ds max con sólo una pulsación, conservando todas las propiedades necesarias para la animación.

El plug-in reactor devuelve a los diseñadores y animadores el tiempo dedicado a la animación manual de efectos secundarios, como la explosión de edificios o el ondear de cortinas. El plug-in también admite todas las características estándar de 3ds max, como keyframes y piel, así que puede usar animación convencional y física en la misma escena. Unas utilidades muy cómodas, como la reducción automática de keyframes, permiten manipular y alterar partes de una animación generadas físicamente después de haberla creado.

En el resto de este documento se describen detalladamente todas las características del plug in. También contiene tutoriales detallados donde se explica cómo sacar el máximo partido de reactor.

Encontrará más archivos y tutoriales en www.discreet.com

Page 6: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 1: Bienvenido2

Primeros pasosLo primero que se necesita hacer para usar el plug-in es mostrar el panel de reactor. Este panel contiene las opciones para la simulación y, usándolo, puede aplicar propiedades físicas a los objetos de la escena.

Figura 1.1.1.

Para mostrar el panel de reactor:

1. Seleccione el panel de comandos Utilities (Utilidades).

2. Presione el botón More (Más).

3. Seleccione reactor en la lista del cuadro de diálogo Utilities (Utilidades) (Figura 1.1.1).

4. Presione el botón 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 Mayús+Alt y el botón derecho del ratón. Los menús cuad y la barra de herramientas ofrecen métodos 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.

No obstante, casi todas las tareas realizadas en los tutoriales tienen un equivalente en barra de herramientas y en menú. A continuación se ofrece una explicación de los símbolos de la barra de herramientas. En este manual se tratan todas estas funciones.

Add a Rigid Body Collection (Añadir

colección de cuerpos rígidos)

Add a Soft Body Collection (Añadir

colección de cuerpos flexibles)

Apply the Soft Body modifier (Aplicar el

modificador de cuerpos flexibles)

Add a Constraint Solver (Añadir resolutor

de restricción)

Add a Point-to-Nail Constraint (Añadir

restricción punto a clavo)

Add a Spring (Añadir muelle)

Add a Wind Action (Añadir acción viento)

Add a Motor Action (Añadir acción motor)

Open the Preview window (Abrir ventana

de presentación preliminar)

Analyze World (Analizar universo)

Deforming Mesh (Malla deformante).

Add a Rope Collection (Añadir colección de

cuerda)

Add a Cloth Collection (Añadir colección

de ropa)

Page 7: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Primeros pasos 3

Apply the Cloth modifier (Aplicar el

modificador ropa)

Apply the Attach-to-Rigid Body modifier

(Aplicar el modificador asociar a cuerpo rígido)

Add a Point-to-Point constraint (Añadir

restricción punto a punto)

Add a Point-to-Path constraint (Añadir

restricción punto a recorrido)

Add a Dashpot (Añadir dashpot)

Add Water (Añadir agua)

Add a reactor Plane (Añadir plano de

reactor)

Perform Simulation (Ejecutar simulación)

Toy Car (Coche de juguete)

Fracture Action (Acción fractura)

Apply a Rope modifier (Aplicar

modificador cuerda)

Instalación de la barra de herramientasPara instalar la barra de herramientas de reactor:

1. Elija Cargar IU personalizada en el menú Personalizar.

2. Seleccione uno de los archivos .cui cuyo nombre contiene la palabra reactor. En ellos se ofrecen versiones de reactor personalizadas de

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

Tareas básicasNormalmente se requieren seis pasos para crear y realizar la presentación preliminar de una escena con el plug-in:

1. Creación de la escena en 3ds max.

2. Aplicación de propiedades físicas a los objetos de la escena con la sección Properties (Propiedades) de la persiana de reactor.

3. Creación de colecciones a las que se añaden objetos.

4. Creación de los sistemas que desee en la escena.

5. Adición de cámaras y luces.

6. Presentación preliminar de la simulación.

No es necesario realizar estos pasos en un orden específico. Con frecuencia resulta práctico crear una colección antes de añadir objetos a la escena, por ejemplo.

Las opciones de menú de la ventana de presentación son las siguientes:

Tecla Función

P Reproduce o pausa la escena.

R Restaura la escena a su posición original.

BIR (Botón Izquierdo del Ratón) Rota la escena en torno al origen

BCR Presione el botón central para encuadrar la cámara

BDR (Botón Derecho del Ratón) Designa objetos. Puede designar objetos haciendo clic derecho en ellos. Tras ello, arrastre el objeto usando un muelle conectado al puntero del ratón y al objeto seleccionado.

Flechas Permiten moverse hacia dentro, fuera, izquierda y derecha.

F Muestra la velocidad de imagen

Page 8: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 1: Bienvenido4

Simulation (Simulación)Play/Pause (Reproducir/Pausa)—Permite reproducir o detener la simulación en cualquier momento. Cuando se pausa, cesa toda la simulación (los objetos se congelan en espacio y tiempo) pero todavía puede cambiar la posición de cámara para ver los objetos de la escena. También es posible avanzar una escena pausada en incrementos sencillos de tiempo para ver con más precisión el progreso de la simulación. Después puede realizar el formato de los objetos en 3ds max para ajustarse al universo de simulación actual al usarlo junto con la función Update Max (Actualizar Max). Esto resulta especialmente útil si utiliza la ventana de presentación preliminar para ayudar en la colocación del objeto en 3ds max.

Reset (Restablecer)—Restablece la simulación a posiciones de inicio o actualizadas en 3ds max.

Display (Presentación)Max Mouse Mode (Modo de ratón de Max)—Conmuta entre los dos modos de ratón. El modo de ratón de max está activado de forma predeterminada.

Background Color (Color de fondo)—Define el color de fondo de la ventana de presentación.

Camera Setting (Configuración de cámara)—Permite definir la distancia entre ambos planos de recorte y el campo visual para la cámara.

Flashlight (Linterna)—Activa y desactiva la luz predeterminada. Esta luz se activa de forma predeterminada en escenas sin luces.

Fog (Niebla)—Activa y desactiva la niebla.

Anti-Aliasing (Alisación)—Activa y desactiva la alisación, pero sólo si lo admite la tarjeta de gráficos.

Textures (Texturas)—Conmuta entre los colores predeterminados y texturas de 3ds max.

Culling (Extracción)—Indica si desactivar o no las caras ocultas.

Lighting, Shadows (Iluminación, sombras)—Activa y desactiva los efectos/sombras.

Toggle Display On/Off (Conmutar presentación Act/Des)—Permite ver el efecto de la presentación en la velocidad de imagen.

Physics (Física)Real Time (Tiempo real)—Ejecuta una simulación en tiempo real, usando el tiempo de reloj transcurrido.

Fixed Step (Paso fijo)—Permite especificar el tamaño de paso de tiempo entre cada evaluación física. La simulación actualizada sólo está disponible para la presentación 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 parámetros de animación de 3ds max. Unos pasos de tiempo menores implican una física más precisa.

Substeps (Subpasos)—Permite especificar el número de subpasos físicos realizados internamente durante cada evaluación. De este modo se controla la precisión de cada evaluación tiempo-paso. Un número mayor de subpasos implica pasos de tiempo más precisos y una física más precisa.

Gravity (Gravedad)—Activa y desactiva la gravedad.

Geometry (Geometría)Faces (Caras)—Activa y desactiva la presentación de caras de los objetos de la escena.

Edges (Aristas)—Muestra las aristas de los objetos de la escena.

Sim Edges (Aristas sim)—Muestra las geometrías que están siendo simuladas. En reactor, pueden presentarse las geometrías complejas mientras la física simula una geometría más simple.

Page 9: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Advanced Display Features (Características avanzadas de presentación) 5

Menú MaxUpdate Max (Actualizar Max)—Traduce las posiciones y estados internos de los objetos de la ventana de simulación de vuelta a 3ds max.

Use Max Parameters (Usar parámetros de Max)—Restablece el paso de tiempo y los subpasos en los valores determinados por los parámetros de la persiana animación (usada al crear la ventana de presentación preliminar).

Advanced Display Features (Características avanzadas de presentación)Toda la información contenida en este mensaje sirve sólo para la característica Preview In Window (Presentación preliminar en ventana). No afecta a las animaciones de 3ds max, porque 3ds max ya tiene toda la información y naturalmente la utiliza. En la figura 1.4.1 se muestran las características avanzadas de la persiana Display.

Camera (Cámara)

El plug-in permite elegir una cámara en la escena como cámara de presentación, que reactor utiliza cuando empieza la presentación preliminar.

Lights (Luces)

Puede seleccionar hasta 6 luces para añadirlas a la simulación. Si no selecciona ninguna, se utiliza una linterna predeterminada.

Las propiedades de luz necesarias para la simulación en tiempo real se utilizan y exportan. Esto incluye propiedades como posición, orientación, color, atenuación, etc. Si una luz de

3ds max se vincula a un cuerpo rígido en la simulación, entonces la luz sigue vinculada durante la simulación. Se mueve y rota con el cuerpo rígido.

Figura 1.4.1

Sombras

La ventana de presentación preliminar muestra sombras en tiempo real. También se exporta la asociación con estas sombras. Aunque las sombras aportan mucho realismo a las escenas, resultan caras y tienen algunas limitaciones. En reactor, sólo pueden proyectarse sombras en un plano, y esto sólo pueden hacerlo las luces de la simulación. La iluminación 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).

Page 10: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 1: Bienvenido6

2. Designe Cast Shadows on Plane (Proyectar sombras en plano) en la persiana Display.

3. Presione el botón 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 dirección a Z). Si proyecta sombras en otro objeto de la simulación, asegúrese 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 proyección de sombras de los objetos que no proyectan sombras deseleccionando sus casillas Casts shadows. Esta casilla se encuentra en la sección Propiedades de todos los objetos de 3ds max.

Texture Quality (Calidad de textura)

Puede elegir la calidad de los mapas de textura. Un número mayor de píxeles puede mejorar el aspecto de la escena, a costa de la velocidad de renderización y del tamaño de los archivos exportados. Normalmente un valor de 128 o 256 es suficiente.

Mouse spring (Muelle de ratón)

Puede usar el ratón en la ventana de presentación preliminar para interactuar con la escena. Presione el botón derecho sobre un cuerpo rígido par aplicar un muelle entre el puntero del ratón y el cuerpo seleccionado. Puede interactuar con los objetos moviéndolos, tirándolos, etc.

Puede establecer la fuerza, longitud de reposo y amortiguación del muelle en la persiana Display del plug-in. Puede aumentar su fuerza si le resulta difícil mover los objetos, o reducirla si los objetos se mueven demasiado rápido. Para una explicación de los parámetros, consulte la sección sobre muelles y dashpots.

Page 11: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Cuerpos rígidosLos componentes básicos de las escenas suelen ser cuerpos rígidos. Los cuerpos rígidos son literalmente objetos cuya forma no cambia, y se utilizan normalmente para presentar una amplia variedad de componentes de escena. Un cuerpo rígido puede ser cualquier cosa: una taza, una mesa o una peña. Los cuerpos rígidos también 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 rígido.

reactor™ administra los cuerpos utilizando colecciones de entidades. Colección de entidades es un término especial que describe los componentes principales de una simulación. Una colección de cuerpos rígidos es un ejemplo de colección de entidades, y los cuerpos rígidos forman parte de las colecciones de cuerpos rígidos. Las colecciones son necesarias para resolver y simular el movimiento y la interacción con objetos.

También hay muchas propiedades físicas que pueden asignarse a los cuerpos rígidos. Estas propiedades describen el comportamiento del cuerpo en una escena. Ellas determinan la masa, fricción, elasticidad y otras propiedades del cuerpo.

Contenido del tutorialEn este tutorial se presenta el plug-in reactor a usuarios nuevos. Se describe el uso de reactor para asignar propiedades físicas a objetos en una escena sencilla tratándolos como cuerpos rígidos. También se explica cómo ver la escena e interactuar con ella en la ventana de presentación de reactor. Cuando termine este tutorial, sabrá:

• Crear una colección de cuerpos rígidos

• Añadir objetos a una colección de cuerpos rígidos

• Añadir una cámara a una escena:

• Asignar propiedades físicas a objetos de una escena.

• Simular una escena.

Page 12: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 2: Cuerpos rígidos8

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

Creación de una simulación de cuerpos rígidosCuando se crea una escena sencilla, deben añadirse los objetos que se desea modelar en reactor a una colección de cuerpos rígidos. La creación de una colección de cuerpos rígidos suele ser el primer paso al usar reactor.

Una colección de cuerpos rígidos es un objeto usado para mantener un conjunto de cuerpos rígidos. reactor sólo puede simular físicamente cuerpos rígidos si son miembros de una colección de cuerpos rígidos.

Para crear una simulación sencilla de cuerpos rígidos:

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 botón RBCollection (ColecciónCR) en la persiana Object Type (Tipo de objeto).

5. Haga clic en cualquiera de los paneles de vista para colocar en la escena el símbolo de colección de cuerpos rígidos.

Figura 2.2.1

Puede mover el símbolo por la escena, ya que su posición no afecta a reactor. Es mejor mantener el símbolo de colección separado de los objetos para no recargar la escena.

Puede aceptar el nombre predeterminado para la colección de cuerpos rígidos o asignarle un nombre nuevo. Es posible añadir objetos nuevos a una colección de cuerpos rígidos al crearla. También pueden añadirse objetos después de crearla.

Adición de cuerpos a una colección de cuerpos rígidosNecesita añadir sus objetos a una colección de cuerpos rígidos. Puede hacerlo de la forma siguiente:

1. Seleccione la colección.

2. Haga clic en el la pestaña Modificar de 3ds max y amplíe la persiana RBCollection Properties (Propiedades de ColecciónCR), (figura 2.2.2).

3. Presione el botón Add (Añadir).

4. Utilice el cuadro de diálogo Select Rigid Bodies (Seleccionar cuerpos rígidos) que aparece para designar los objetos que desee añadir a la colección de cuerpos rígidos.

Page 13: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Creación de una simulación de cuerpos rígidos 9

También puede hacer clic en el botón Pick y elegir objetos individuales en los paneles de presentación.

Ahora tiene una colección de cuerpos rígidos que puede simular.

Figura 2.2.2

Inclusión de una cámaraEl paso siguiente para la simulación es añadir una cámara a la escena. Esto significa que puede especificar la vista inicial para la presentación, lo que suprime la necesidad de recolocar el punto de vista cada vez que se ejecuta la simulación. En la documentación de 3ds max se describen las cámaras con más detalles.

1. Haga clic en la ficha Luces y cámaras.

2. Presione el icono de Cámara con objetivo.

3. Haga clic en uno de los paneles de vista para situar la cámara en la escena.

Puede ajustar la cámara para que se ubique de forma correcta.

Si ha decidido utilizar una cámara propia para la simulación, debe expandir la persiana Display (Presentación) de reactor y asociar su cámara con la presentación. Haga clic en el botón None (Ninguno) que hay junto a Camera (Cámara) y después seleccione su cámara. De este modo se asocia la cámara con la presentación.

También puede añadir luces a la simulación. En una escena pueden emplearse hasta seis luces. Después puede añadirlas a la simulación con la sección Lights (Luces) de la persiana Display. No es necesario hacerlo ya que reactor añade automáticamente su propia luz en la ventana de presentación preliminar. Esta luz sólo es visible en la ventana de presentación preliminar, y sólo se añade si no se han especificado otras luces de 3ds max para la simulación.

reactor usa una cámara predeterminada para mostrar una escena en la ventana de presentación de reactor, así que esto es innecesario y puede pasar por alto esta sección si quiere usar la cámara predeterminada.

Asignación de propiedades físicasCuando tiene varios cuerpos rígidos en una colección de cuerpos rígidos, puede asignar propiedades físicas a todos los cuerpos. De hecho, puede asignar propiedades en cualquier momento antes de la simulación. Entre estas propiedades físicas hay características como las de masa, elasticidad y fricción. Todas las propiedades tienen un valor predeterminado.

Figura 2.2.3

1. Haga clic en el panel de comandos Utilidades.

2. Amplíe la persiana Properties (Propiedades) de reactor.

Page 14: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 2: Cuerpos rígidos10

3. Seleccione uno de los cuerpos rígidos en cualquiera de los paneles de vista.

4. Asigne propiedades físicas apropiadas al cuerpo rígido introduciendo valores en los campos Mass, Elasticity y Friction (Masa, Elasticidad y Fricción) (Figura 2.2.3).

Para este tutorial, asigne una masa de 5 kg a la caja pequeña y a la esfera, una masa de 0 kg a la caja grande y deje los valores predeterminados de elasticidad y fricción.

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 posición. En este ejemplo, la caja pequeña y la esfera caen sobre la caja grande, pero ésta no se mueve. 0 kg es la masa predeterminada de cuerpos rígidos.

Figura 2.2.4

Simulación de una escenaUna vez creada la escena, puede ver el resultado en tiempo real con la presentación de reactor. Esta presentación permite ver la presentación preliminar de la escena e interactuar con ella.

Para ejecutar la simulación, presione el botón 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 simulación, presione P. Puede moverse por la vista usando el botón izquierdo de ratón e interactuar con objetos con el botón derecho del ratón. Haga clic y arrastre con el botón derecho del ratón para manipular objetos del mundo físico asociando un muelle entre el puntero y el objeto seleccionado.

Propiedades de cuerpo rígidoEsta sección trata con varias propiedades y funciones avanzadas relacionadas con cuerpos rígidos.

Get from / Set to Material (Obtener de / Definir en material)Esta opción está en la persiana Properties del plug-in reactor. 3ds max ofrece propiedades de fricción 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 fricción compartido con 3ds max es el valor de fricción por deslizamiento. reactor pasa por alto el valor de fricción estática, porque sólo precisa el coeficiente de fricción para la simulación.

Page 15: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Propiedades de colección de cuerpo rígido 11

Convex / Concave (Convexo / Cóncavo)Esto afecta al modo en que los cuerpos colisionan con otros cuerpos, y a la precisión de la simulación. Se trata en el capítulo siguiente.

Proxies de presentaciónPuede optimizar la velocidad de presentación de imagen en la ventana de presentación preliminar de reactor mediante proxies de presentación. Un proxy de presentación es un objeto que se utiliza como sustituto para la presentación de otro. Los proxies de presentación son rara vez útiles para la animación, por lo que esta sección sólo afecta al uso en presentación preliminar en tiempo real de escenas grandes.

Con la animación renderizada, puede dedicar a la física y presentación tanto tiempo como precise, pero el tiempo real requiere un enfoque distinto. Puede usar un proxy de presentación detallado con física sencilla para interacciones complicadas o un proxy de presentación para objetos repetidos cuya presentación reduzca la velocidad de simulación.

Figura 2.3.1

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

Para utilizar un proxy de presentación, designe el objeto para el que desea usar el proxy, marque la opción Proxy en la persiana Properties, haga clic en el botón None y seleccione el objeto que desea usar como proxy de presentación.

Si selecciona Display Children (Mostrar descendientes), se muestran todos los descendientes de este objeto, vinculados con la jerarquía interna de 3ds max. Quizá deba desactivar esta casilla si los descendientes se presentan más de una vez.

Propiedades de colección de cuerpo rígidoEn el panel Modificar de una colección de cuerpos rígidos hay dos persianas: RBCollection Properties y Advanced (Avanzadas). En esta sección se explican las características adicionales todavía no mencionadas de estas persianas.

Desactivación de coleccionesBajo la lista de cuerpos que forman parte de la colección hay una casilla llamada Disabled (Desactivada). Si se desactiva una colección, no se incluye en la simulación. Las colecciones creadas se incluyen de forma predeterminada en las simulaciones.

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

ODE Solvers (Resolutores ODE)Puede elegir el resolutor Ecuación diferencial ordinaria (ODE) que desea usar en una colección determinada. Existen cuatro opciones:

Page 16: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 2: Cuerpos rígidos12

Euler

El resolutor ODE más sencillo, muy rápido pero insuficiente para sistemas complicados.

Back-Euler

Algo más preciso que Euler, pero con peor funcionamiento en sistemas de muelle. En las escenas interactivas que precisan un muelle de ratón deben emplearse los resolutores Euler o Runge-Kutta.

Midpoint

Tiene un nivel de precisión similar al de Back-Euler, pero resuelve bien los sistemas de muelles.

Runge-Kutta

Se trata del resolutor más preciso del sistema, usado con sistemas complicados, muelles y restricciones. Debido a su mayor precisión, requiere más tiempo de procesador para el cálculo 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).

Add Deactivator (Añadir desactivador)Un desactivador es un elemento de una colección que desactiva los objetos cuando su energía es inferior a un nivel dado. Los objetos desactivados pierden su estado de elementos totalmente dinámicos del sistema, permitiendo que el sistema se dedique a los objetos más activos. Esta opción está activa de forma predeterminada.

Puede establecer el nivel de energía de desactivación en el campo Min. Energy (Energía mín). Un valor alto de energía hace que los objetos se desactiven antes, mientras que uno pequeño hace que se desactiven sólo si están casi en reposo absoluto.

Las opciones Time (Tiempo) y Samples (Muestras) se relacionan con la medición de energías de cuerpos. El campo Time determina el periodo durante el que se muestrea la energía acumulada, y la frecuencia en la que se considera la desactivación de objetos. Por ejemplo, un tiempo de 10 segundos significa que sólo se considera la desactivación de objetos que han acumulado un valor inferior a Min Energy en un periodo de 10 segundos. El campo Samples determina cuántas muestras se toman en este periodo para aproximar la energía. Más muestras significan una mejor aproximación a la energía del cuerpo.

Define Collision Pairs (Definir pares de colisión)Con esta opción, puede pasar por alto de forma selectiva colisiones entre objetos de la colección. Cuando usa esta función tiene dos ventanas, una para colisiones activadas y otra para las desactivadas. De forma predeterminada, todas las colisiones están activadas.

Se ofrece una lista de entidades de la colección. Si hace clic en los nombres de la lista, se actualiza la lista Enabled (Activada) con líneas para cada objeto emparejado con las otras entidades de la colección. Después puede mover estos pares de colisión a la lista Disabled. Puede usar esta característica para asegurarse de que los objetos enlazados o superpuestos no crean interpenetraciones que ralenticen el sistema.

Page 17: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Objetos convexos y cóncavosreactor™ clasifica los objetos en dos tipos: convexos y cóncavos.

Un objeto se considera convexo si es posible trazar una línea 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 cóncavo. Las teteras y la mayoría de paisajes, terrenos y habitaciones son cóncavos.

Normalmente, los objetos cóncavos se simulan más rápido que los cóncavos. Por eso, le conviene usar objetos convexos siempre que pueda en las simulaciones. reactor permite tratar objetos cóncavos como si fueran convexos para aprovechar su menor tiempo de proceso.

Sin embargo, también hay casos en los que no es adecuado tratar objetos convexos como cóncavos. En reactor, los objetos convexos tienen un "interior" que determina si los objetos están contenidos en otro, pero los objetos cóncavos no lo tienen, por lo que un objeto situado totalmente dentro de un objeto cóncavo no se consideraría 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 cóncavo para situar otros objetos dentro de él. Por ejemplo, si anima una habitación, puede dibujarla como una caja y tratarla como cóncava, para así situar objetos dentro de ella.

Figura 3.1.1.

Page 18: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 3: Objetos convexos y cóncavos14

Contenido del tutorialEn este tutorial se explica la diferencia entre las geometrías de simulación convexas y cóncavas en reactor. Además, se explica cómo agrupar objetos para crear un cuerpo rígido compuesto. Cuando termine este tutorial, sabrá:

• Realizar una prueba de convexidad.

• Tratar un objeto como convexo.

• Tratar un objeto como cóncavo.

• Construir un cuerpo rígido compuesto.

Realizar una prueba de convexidadSi no está claro si un objeto es convexo o cóncavo, puede realizar una prueba de convexidad. reactor permite seleccionar un objeto y comprobar su geometría.

Para realizar una prueba de convexidad.

1. Abra el panel de comandos Utilidades.

2. Amplíe la persiana Properties de la utilidad reactor.

3. Seleccione uno de los cuerpos rígidos en cualquiera de los paneles de vista.

4. Presione el botón Test Convexity (Probar convexidad).

5. Aparece un cuadro de diálogo con el resultado de la prueba.

Tratamiento de un objeto como convexoPara los fines de simulación, reactor ha de definir la geometría de simulación de un cuerpo, que puede ser diferente de su geometría de presentación. El factor más importante que determina esto es si el objeto debe considerarse cóncavo o convexo. Normalmente, los objetos convexos se simulan más rápido que los cóncavos, 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)

Figura 3.4.1

Page 19: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Tratamiento de un objeto como convexo 15

Figura 3.4.2

Figura 3.4.3

Figura 3.4.4

• Sustituya la geometría del objeto con la de un objeto convexo distinto (figura 3.4.4). Es útil reutilizar geometrías mediante la sustitución porque reduce mucho el tamaño de archivo. Esto resulta especialmente útil si repite la misma geometría varias veces en una escena.

• Sustituya la geometría del objeto con una versión optimizada de la geometría del objeto. La optimización es el proceso de reducción de la complejidad (el número de vértices) de una geometría simulada. La presentación no varía.

En las figuras anteriores se muestra en los cuatro casos la geometría de simulación real, usando la opción de presentación Sim Edges (Aristas sim) del menú Geometry (Geometría) de la ventana de presentación preliminar.

En este tutorial va a crear una escena con una colección de cuerpos rígidos con varios objetos sencillos cóncavos y convexos. Siga estos pasos:

1. Amplíe la persiana Properties de la utilidad reactor.

2. Seleccione un objeto en cualquiera de los paneles de vista.

3. En la persiana Properties, seleccione una de las opciones de la sección Convex (figura 3.4.5). A continuación se detallan las cinco posibilidades.

Figura 3.4.5

Page 20: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 3: Objetos convexos y cóncavos16

Caja delimitadoraSeleccione la opción Use Bounding Box (Usa caja delimitadora). Ésta utiliza la caja menor posible alineada el eje universal.

Esfera delimitadora Seleccione la opción Use Bounding Sphere (Usa esfera delimitadora). Ésta utiliza la esfera delimitadora menor posible.

Casco convexoSeleccione la opción Use Bounding Sphere (Usa casco convexo mallado). Esta simulación utiliza el casco convexo de este objeto, que es diferente del original si el objeto es cóncavo.

Sustitución de la geometríaSeleccione la opción 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 geometría y el nombre del objeto proxy aparece en el botón que hay bajo la opción Use Proxy Convex Hull.

Sustitución para optimización Seleccione la opción Use Optimized Convex Hull (Usa casco convexo optimizar) y utilice la barra Min/Max para definir el nivel adecuado de optimización. reactor optimiza entonces el objeto antes de cualquier simulación.

Ejecute la simulación y seleccione Sim Edges en el menú Geometry para ver las geometrías que se simulan físicamente para los objetos. De este modo siempre puede ver con qué precisión se ajusta la geometría de simulación a la geometría de presentación, y por tanto la posibilidad de apreciar disparidades visuales entre simulación y presentación en la ventana de presentación preliminar y al crear una animación de 3ds max. Una geometría de simulación más precisa ofrece una simulación más exacta, pero más lenta.

Tratamiento de un objeto como cóncavoMuchos de los objetos que se crean son cóncavos y no pueden modelarse con precisión durante la simulación sustituyéndose por geometrías de simulación convexa. Además, los objetos cóncavos pueden contener otros objetos, y los convexos no. De este modo, si usa una caja para representar una habitación, debe tratar la caja como cóncava para situar objetos dentro de ella. Además, los planos de 3ds max deben tratarse como cóncavos.

Puede tratar un objeto como cóncavo usando su malla original. Esta malla puede ser cóncava. Además, puede sustituir la geometría de un objeto por la de un objeto cóncavo o convexo cercano, que se considera hueco. Como sucede con los objetos cóncavos, también puede sustituir un objeto con una versión optimizada del objeto generada por el sistema.

Uso de la malla del objeto originalPara crear una caja y varios objetos más pequeños dentro de ella, siga estos pasos:

1. Cree una escena con una colección de cuerpos rígidos que contenga una caja llamada Box01 y varios objetos de menor tamaño 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.

Page 21: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Construcción de un cuerpo rígido compuesto 17

5. Seleccione la opción Use Mesh (Usar malla) en la persiana Concave properties (Propiedades de cóncavo).

Figura 3.5.1

Ahora, reactor trata el objeto como cóncavo.

Sustitución de la geometría de un objeto con una malla proxyCon 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 opción Use Proxy Mesh (Usar malla proxy).

3. Seleccione uno de los objetos cóncavos de la escena.

Se sustituye la geometría y el nombre del objeto cóncavo aparece en el botón que hay bajo la opción Use Proxy Mesh.

Sustitución de la geometría de un objeto con una malla optimizadaPuede usar una malla optimizada para tratar la caja como convexa, del modo siguiente:

1. Abra el panel de comandos Utilidades.

2. Seleccione la opción Use Optimized Mesh (Usar malla optimizada).

3. Utilice la barra Min/Max para definir el nivel adecuado de optimización.

Ahora, reactor optimiza el objeto antes de cada simulación.

Puede tratar cualquier geometría convexa como cóncava. Esto hace que la simulación sea más lenta, pero así los objetos pueden contener otros. Los más propicios al uso de objetos cóncavos son los cuerpos sólidos que precisan una simulación más precisa, o los cuerpos que no tienen volumen, como los planos y las mallas no cerradas.

Construcción de un cuerpo rígido compuestoreactor puede unir varias mallas para crear un cuerpo más complejo. Los cuerpos rígidos de reactor suelen estar formados por una o más primitivas. Las primitivas son los elementos básicos que forman los objetos. Las primitivas pueden ser planas, esféricas o geométricas. Los cuerpos rígidos compuestos son cuerpos rígidos formados por más de una primitiva.

Los cuerpos rígidos están dotados de elasticidad y fricción. Cada primitiva tiene su masa, cuya suma determina la masa del cuerpo compuesto.

Los cuerpos rígidos compuestos resultan útiles cuando la densidad del objeto que se quiere simular no es uniforme o si el objeto es cóncavo pero puede descomponerse fácilmente en varios segmentos convexos. Los objetos compuestos son un punto medio entre cuerpos convexos y cóncavos, ya que se simulan más rápido que los cóncavos y permiten hacer cosas como situar objetos dentro de ellos. Sin embargo, son menos precisos en la simulación que los objetos verdaderamente cóncavos.

Los cuerpos rígidos compuestos se construyen con la función Agrupar de 3ds max. Para más información sobre grupos, consulte la documentación de 3ds max.

Page 22: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 3: Objetos convexos y cóncavos18

Lleve a cabo estos pasos para construir un cuerpo rígido compuesto e incluirlo en la simulación:

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 aplicación principal. Ahora, los objetos se tratan como un cuerpo rígido 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 añadirlo a la colección de cuerpos rígidos. Dicha colección no puede contener las primitivas y su grupo.

Si quiere usar proxies de presentación con grupos, sólo puede aplicar uno a todo el grupo, no a elementos de éste. Para aplicar un proxy de presentación a un grupo es necesario abrir el grupo y seleccionar su nombre en la lista Seleccionar por Nombre.

Para seleccionar sólo el nombre del grupo, elija Subárbol en la ventana de lista de selección y después aplique un proxy de presentación en la forma habitual con reactor. Sólo es posible aplicar un proxy de presentación si el grupo está abierto. No se puede usar un cuerpo compuesto como proxy de geometría de simulación.

Figura 3.6.1

Más información sobre los proxiesCuando se animan objetos complejos, puede decidirse que un objeto tenga el mismo comportamiento que si se simulara con una geometría más sencilla. Por ejemplo, puede tener un anillo mostrado como un toroide muy teselado que mejora su presentación, pero podría simularse con un toroide menos teselado para acelerar la simulación.

Page 23: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Más información sobre los proxies 19

Proxies de geometríaLos proxies de geometría permiten usar para la simulación una geometría diferente de la que se va a animar y presentar en 3ds max. Seleccione la opción 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 cóncavo.

Hay varios casos en los que se desea usar geometrías proxy: Aunque posiblemente desee animar y presentar un toroide muy teselado, quizá desee que la simulación y la presentación preliminar sean rápidas. Si sustituye la geometría de simulación del toroide por una más sencilla, puede hacerlo. (Figura 3.7.1)

Figura 3.7.1

Figura 3.7.2

También podría usar la misma geometría en muchos lugares. El uso de una misma geometría proxy para varios objetos crea sólo un ejemplar de la geometría, que todos los objetos comparten durante su simulación. Esto ayuda a reducir la cantidad de información exportada, la carga y creación de la escena y la cantidad de memoria usada.

Las primitivas usan geometrías de proxy, lo que significa que puede definir geometrías de proxy diferentes para las primitivas situadas dentro de un cuerpo rígido compuesto, pero no para el cuerpo compuesto.

Geometrías optimizadasreactor puede crear automáticamente geometrías proxy. De hecho, si elige Use Bounding Box o Use Bounding Sphere, lo que realmente hace es crear una geometría proxy sencilla. Las opciones Use Optimized Convex Hull y Use Optimized Mesh crean automáticamente una versión optimizada de la geometría y la usan como proxy. Internamente, aplican el modificador Optimizar a la malla. No obstante, recomendamos que cree geometrías optimizadas propias si desea tener control total sobre el resultado.

Page 24: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 3: Objetos convexos y cóncavos20

Proxy de presentaciónLos proxies de presentación sustituyen a los cuerpos rígidos reales cuando se presentan en tiempo de ejecución. Resultan útiles principalmente para desarrolladores de aplicaciones en tiempo real que desean tener una presentación preliminar y exportar información de presentación.

Si selecciona un proxy de presentación para un cuerpo rígido, la presentación del cuerpo rígido se sustituye por la del nodo elegido y sus descendientes durante la simulación 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 geometría, pero hay diferencias importantes:

1. Mientras los proxies de geometría se aplican a las primitivas, los proxies de presentación se aplican a cuerpos rígidos.

2. Cuando se crea una animación en 3ds max, los cuerpos animados son los agregados a la simulación. Los proxies de presentación no tienen ningún papel para crear animaciones de 3ds max porque se usan sólo para presentaciones en tiempo real.

Otra razón importante (para desarrolladores en tiempo real) para usar proxies de presentación es similar a lo explicado en el punto anterior sobre proxies de geometría. Si muestra el mismo objeto en varios lugares, debe usar proxies de presentación que señalan al mismo objeto de modo que el objeto de presentación sólo se crea/exporta una vez con el consiguiente ahorro de tiempo y memoria.

Otras alternativas para animadoresAunque los proxies de geometría y de presentación son muy útiles y potentes, hay otras alternativas para animar un cuerpo dado usando otro en una simulación.

Puede crear el objeto simple y complejo, definir las propiedades del objeto sencillo y añadirlo a la simulación. Realice la simulación y, una vez terminada, puede emparejar las posiciones de los objetos sencillos y complejos, y después vincular el objeto complejo al simple. El objeto complejo sigue la misma animación que el sencillo. En este caso, no debe incluir el objeto sencillo al renderizar.

Consejos útilesSi activa la opción Geometry / Sim Edges de la ventana de presentación preliminar, verá las geometrías que se utilizan en la simulación.

Page 25: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Cuerpos flexiblesUn cuerpo flexible es aquél cuya geometría se deforma debido a interacciones físicas. Puede curvarse, flexionarse, estirarse y realizar otros movimientos similares. Los cuerpos flexibles se utilizan para muchos fines, pero pueden ser más exigentes y ralentizar la simulación en tiempo real.

Como los cuerpos rígidos, 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 rígidos.

Los cuerpos flexibles tienen mayor número de propiedades físicas para describir su movimiento que los cuerpos rígidos. Entre estas propiedades hay características como la amortiguación, suavizado y rigidez. Estas propiedades se aplican a los cuerpos flexibles además de las propiedades rígidas masa y fricción.

La mayoría de los cuerpos flexibles creados con 3ds max™ usan un cuerpo rígido como punto de partida inicial. Normalmente se crea un cuerpo flexible formando primero la forma rígida del cuerpo y convirtiéndola después en cuerpo flexible. Hay dos formas de definir un cuerpo flexible en reactor™ , según se use o no el modificador FFD.

Como los capítulos anteriores, la parte principal de éste son dos tutoriales con los que se guía por los dos procesos posibles de creación de cuerpos flexibles.

Acerca de estos tutorialesEste capítulo contiene dos tutoriales. El primer tutorial presenta los cuerpos flexibles de reactor a usuarios nuevos. Además, se describe cómo usar reactor para crear una escena sencilla con cuerpos flexibles. También se describen los efectos generados al variar los parámetros de cuerpos flexibles. Cuando termine este tutorial, sabrá:

• Crear una colección de cuerpos flexibles

• Añadir objetos a una colección de cuerpos flexibles

• Asignar propiedades físicas a objetos de una escena.

Page 26: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 4: Cuerpos flexibles22

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

Creación de una simulación de cuerpos flexiblesAl crear una simulación con cuerpos flexibles, se usan técnicas simulares a la simulación de cuerpos rígidos. Se crean los objetos en 3ds max. Para objetos flexibles, se aplica el modificador Soft (Flexibles) y se incluyen en una colección de cuerpos flexibles. Esta colección de cuerpos flexibles se añade a la simulación del mismo modo que con colecciones de cuerpos rígidos.

Tenga cuidado de no incluir objetos en colecciones de cuerpos rígidos y flexibles. Cuando se aplica un modificador a un objeto rígido para hacerlo flexible, su equivalente rígido permanece en la escena.

Creación de cuerpos flexibles sencillosPuede seguir estos pasos para crear el cuerpo flexible del tutorial:

1. Cree una escena como se indica en la figura 4.2.1. Para crear la estrella, elija esa forma en el menú de formas y aplique el modificador de extrusión. También debe crear tres planos estándar rotados aproximadamente 30, 0 y -30 grados. Si no quiere crear la escena, puede cargar TutorialTwoStart.max

2. Seleccione una malla cóncava para cada uno de los planos en la persiana Properties de la utilidad reactor. Los planos estándar de 3ds max precisan geometría de simulación cóncava. Cambie su fricción a 0,9 para que la estrella ruede en lugar de deslizarse.

3. Añada una colección de cuerpos rígidos a la escena.

4. Añada los planos a la colección de cuerpos rígidos.

5. Designe la estrella, amplíe la sección Modificar (Modificadores) y seleccione reactor SoftBody (CuerpoFlexible) en la lista desplegable.

Figura 4.2.1

Propiedades de cuerpo flexiblePuede establecer atributos físicos de objetos en la persiana Properties del modificador SoftBody. Hay cuatro opciones principales para las propiedades físicas de un cuerpo flexible.

Mass (Masa)

Esta masa se aplica al cuerpo flexible. Aunque haya aplicado una masa en la sección Properties de la utilidad reactor, el cuerpo flexible no tendrá la masa correcta a no ser que se aplique aquí.

Page 27: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Cuerpos flexibles más 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 (Amortiguación)

Se trata del coeficiente de amortiguación de la oscilación de compresión y expansión del cuerpo, con valores entre 0 y 1, donde 1 proporciona la mayor amortiguación.

Friction (Fricción)

Se trata del coeficiente de fricción de la superficie del cuerpo, similar al coeficiente análogo en cuerpos rígidos.

Creación de colecciones de cuerpos flexibles y adición de cuerposDebe añadir el cuerpo flexible a una colección de cuerpos flexibles. El botón de las colecciones de cuerpos flexibles se encuentra en el panel Crear, dentro de la opción Ayudantes. Se trata de una opción de reactor.

Siga estos pasos para asignar el cuerpo flexible del tutorial a una colección:

1. Elija el menú desplegable reactor y presione el botón SBCollection (Colección CF).

2. Seleccione el símbolo de colección.

3. Abra la ficha Modificar y haga clic en Add (Añadir) o Pick (Designar) para seleccionar los cuerpos flexibles en la lista disponible.

4. Presione el botón Preview In Window (Presentación preliminar en ventana) y reactor muestra la escena.

Cuando se designa un cuerpo flexible con el ratón, se flexiona. Esto se debe a que el ratón conecta un muelle entre el vértice más cercano y el puntero del ratón. La longitud del muelle puede ajustarse.

Figura 4.2.2

Cuerpos flexibles más avanzadosLos cuerpos flexibles requieren una simulación precisa. Como resultado de ello, puede que deba definir un nivel de precisión de la simulación muy superior al necesario para cuerpos rígidos. La mejor forma de personalizarla es con el parámetro Scale Timestep (Escalar paso de tiempo) de la persiana Advanced (Avanzada) de la selección que contiene los cuerpos flexibles. Normalmente, un número inferior de vértices en un cuerpo flexible acelera el cálculo físico.

Page 28: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 4: Cuerpos flexibles24

Es posible tener cuerpos flexibles suavizados. Algunas técnicas, como la aplicación del modificador SuavizaMalla de 3ds max tras el modificador Soft Body son en ocasiones preferibles para aumentar simplemente el número de vértices de un cuerpo. Para la animación, la precisión puede mejorarse aumentando el número de subpasos por keyframe. También puede mejorar las simulaciones de presentación en la ventana de presentación preliminar si reduce el tamaño del paso de tiempo o aumenta el número de subpasos por paso de tiempo.

Fijación de objetos flexiblesPara fijar ciertos puntos de objetos al espacio universal, es preciso aplicar el modificador Soft Body a una parte de los vértices del objeto, en lugar de al cuerpo entero. Puede utilizar el modificador Seleccionar malla de 3ds max para seleccionar vértices antes de aplicar el modifi-cador Soft Body. Seleccione los puntos del objeto que desea fijar, invierta la selección y, al aplicar el modificador de cuerpo flexible, active la opción Non-Selected are Fixed (No seleccionados=fijos).

SuavizadoDentro del modificador Soft Body hay una opción llamada Smooth Level (Nivel de suavizado) que permite aplicar subdivisiones interactivas a la malla, que resultan una herramienta útil para dar un aspecto más suave al cuerpo flexible. Hay tres niveles: de 0 a 2 iteraciones de subdivisión. Esta subdivisión sólo se aplica en simulación en tiempo real. No tiene utilidad en la animación. Conviene aplicar este modificador antes de aplicar el modificador Soft Body de reactor.

Desactivación de coleccionesPuede eliminar temporalmente una colección de cuerpos flexibles completa de una simulación si activa esta casilla.

Opciones avanzadas de colección de objetos flexiblesEl panel Modificar de una colección de cuerpos flexibles contiene una persiana Advanced. A diferencia de los cuerpos rígidos, no es posible cambiar el umbral de energía de cuerpos flexibles, porque éstos no pueden desactivarse. Tampoco es posible pasar por alto las colisiones entre cuerpos flexibles en una colección de cuerpos flexibles.

El parámetro Scale Timestep cambia el paso de integración interno de la colección flexible. Si el cuerpo se comporta de modo inestable o irreal, establezca este valor en menos de 1 para forzar que la colección adopte un paso de tiempo proporcionalmente menor. Puede obtener una simulación más rápida si aumenta este parámetro. Entonces, el integrador actúa a velocidad superior al paso de tiempo predeterminado. No obstante, esto produce un riesgo de inestabilidad.

Deformación de forma libreUna de las mejores herramientas que pueden usarse en reactor con cuerpos flexibles es la herramienta FFD de deformación de forma libre. La herramienta FFD permite encajar un cuerpo flexible en una malla sencilla y usar la malla para calcular la física del cuerpo. Con esta herramienta, la deformación de cuerpos flexibles es más fácil y consume menos recursos del sistema. La concesión que se hace con los cuerpos flexibles FFD es que se modelan con menor precisión que los demás cuerpos flexibles.

Page 29: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Deformación 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 cómo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialThreeStart.max y TutorialThreeEnd.max.

Creación de un cuerpo flexible FFDEste tutorial muestra cómo crear un cuerpo flexible que usa deformación de forma libre.

1. Cree una tetera por encima de una malla de plano. Añada el plano a la colección de cuerpos rígidos. 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 botón FFD-Based (Basado en FFD). (Figura 4.4.1)

5. En la opción Ayudantes del panel de comandos Crear, elija reactor.

6. Seleccione SBCollection y añada una colección de cuerpo flexible a la escena.

Ahora puede agregar la tetera a la colección de cuerpos flexibles y realizar la presentación preliminar de la escena. La caja FFD rodea la tetera. La deformación de esta malla representa la deformación aplicada a la tetera, de modo que sus parámetros pueden presentarse preliminarmente y adaptarse según convenga.

Selección de malla para FFDA diferencia de los cuerpos flexibles estándar, no es posible seleccionar directamente en el FFD los vértices 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)selección de FFD. Si aplica el modificador y activa el botón circular Box Faces (Caras de caja), puede elegir cualquiera de los lados de la caja. Puede decidir si los lados de la caja serán fijos, se pasarán por alto o inflexibles. La orientación de la caja es x derecha, y fondo, z altura.

Figura 4.4.1

Page 30: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 4: Cuerpos flexibles26

Otro método de selección es usar el botón Volume. Puede crearse otro volumen que interseca con el volumen del FFD. Después, se selecciona el botón Volume y se elige el segundo volumen como volumen de deselección. Esto hace que el botón None (Ninguno) adquiera el nombre del nuevo volumen, y todos los puntos de la malla FFD coincidentes con el nuevo volumen se deseleccionan.

También puede cambiar la configuración original de FFD. Quizá desee hacerlo para obtener un mejor ajuste entre el FFD y la geometría subyacente. Esto produce una detección de colisión más precisa con la geometría, y una simulación más precisa.

Figura 4.5.2 - Tetera deformada

Haga clic en el botón 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. Además, puede alterar la malla seleccionando el botón 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 configuración de FFD diferente de la caja original, ha de seleccionar el fotograma en que prevalece la configuración estable. Este número de fotograma se introduce después en el campo Frame (Fotograma) de Stable Configuration (Configuración estable), que aparece en el modificador Properties de cuerpos flexibles.

Page 31: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Telareactor™ puede modelar y simular físicamente 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 triángulos con propiedades físicas. Puede usarla para simular ropa, trampolines, chapas y otros elementos bidimensionales. En teoría, podría usar cuerpos flexibles para algunos de estos objetivos, pero la tela es mucho más práctica porque no es preciso simular un volumen inapreciable.

Como sucede con otros tipos de cuerpos, la tela debe pertenecer a una colección de entidades para funcionar correctamente. La tela usa colecciones de tela.

Las telas tienen propiedades físicas similares a otros cuerpos. También tienen algunos valores específicos, como el empuje, necesarios para compensar su naturaleza bidimensional.

Contenido del tutorialPuede 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 término de este tutorial sabrá:

• Crear una tela y una colección de tela.

• Añadir objetos a una colección de tela.

• Asignar propiedades físicas a telas de una escena.

En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cómo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialFourStart.max y TutorialFourEnd.max.

Page 32: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 5: Tela28

Creación de una simulación de telaPara 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.

Creación de telas sencillasPara empezar con este tutorial, reproduzca la escena de la figura 5.2.1. El suelo es un plano, la mesa es un objeto rígido compuesto y las tazas, platos y cucharas son cuerpos rígidos. Asigne a estos objetos propiedades con la utilidad reactor y añádalos a una colección de cuerpos rígidos. Añada una cámara y dos luces y colóquelas en la simulación. 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 pequeño centrado sobre la mesa a poca distancia de ella. El plano no debe estar demasiado teselado, porque así se ralentiza la simulación. Ha de definir la resolución en 8x8 para una simulación más precisa. Puede crear ropa a partir de cualquier malla de 3ds max.

2. Seleccione el nuevo plano y abra el panel Modificar.

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

4. Puede establecer atributos físicos de objetos en la persiana Properties del modificador Cloth.

Hay varias opciones para las propiedades físicas 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 (Amortiguación)

Se trata del coeficiente de amortiguación para la oscilación de la forma de la tela. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguación.

Friction (Fricción)

El coeficiente de fricción de la superficie de la tela.

Page 33: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Creación de una simulación 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.

Figura 5.2.2

Intersection (Intersección)

Puede hacer que una tela no se interseque a sí misma activando Avoid Self-Intersections (Evitar autointersecciones).

Deformation (Deformación)

Puede aplicar un nivel de restricción de deformación con Constrain Deformation (Restringir deformación). El porcentaje de restricción de deformación indica cuánto puede estirarse la tela. Un valor bajo indica que se estira poco.

Vertex Selection (Selección vértices)

Permite fijar en el espacio universal algunos puntos de la tela. Puede aplicar este modificador a todo el cuerpo o a una selección de los vértices de éste. Según la selección, es posible elegir opciones como Non-selected Are Fixed para fijar la posición de algunos vértices en el espacio universal.

Smooth Level (Nivel de suavizado)

Aplica subdivisión iterativa durante la simulación en tiempo real.

Air Resistance (Resistencia al aire)

Se trata del coeficiente de amortiguación para la oscilación de la compresión y expansión de la tela. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguación.

Adición de cuerpos a una colección de telasPuede crear una colección de telas de forma similar a cualquier otro tipo de colección de entidades. Para añadir una colección de telas, abra reactor. Después, haga clic en el botón CLCollection (ColecciónRopa) y añada una colección a la escena. Para añadir telas a la colección, selecciónela y haga clic en Add o Pick.

Page 34: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 5: Tela30

Presione el botón Preview In Window y reactor muestra la escena. La optimización 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 simulación, donde se simula con precisión la malla subyacente. La opción Avoid Self-Intersections ofrece una simulación más exacta, a cambio de un mayor tiempo de simulación. Para mallas grandes puede resultar muy lenta.

Propiedades avanzadas de ropaEn la sección Properties de ropa hay varias propiedades adicionales que pueden usarse para definir mejor la física de la ropa.

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 más precisa, pero también más 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 mayoría de los casos. Stiffness determina la rigidez de la tela, incorporando propiedades de estiramiento (stretch) y desviación (shear).

Complex Force Model (Modelo de fuerza compleja)

Este modelo de dinámica de tela, es mucho más preciso, e incorpora propiedades de estiramiento y desviación ajustables independientemente, así como una propiedad de curvado fuera de plano con precisión física.

Los parámetros de amortiguación de ambos modelos controlan la rapidez con que la ropa disipa energía al cambiar de forma. No hay correlación 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 términos de comportamiento de tela.

Fold Stiffness (Rigidez de plegado)La rigidez de plegado ofrece un método adicional para añadir rigidez a la tela. Además, controla hasta dónde 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 más rígidos, 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.

Page 35: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

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 topología. Sólo tiene un parámetro: Stiffness, que controla la rigidez.

Figure 5.3.1

Complex Fold Stiffness (Rigidez de plegado compleja)

La rigidez compleja se usa para añadir rigidez adicional a las telas. Este tipo de rigidez ofrece más parámetros, que controlan cómo se da rigidez a la tela y cómo 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 concentración de rigidez de pliegue por unidad de área.

Spread Angle (Ángulo de difusión)

El ángulo de difusión controla el grado en que se añade 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 añade rigidez.

Split Angle (Ángulo de división)

Este parámetro controla el grado hasta el que se añade rigidez, específicamente cómo se concentra la rigidez a lo largo de las líneas de cuadrícula de la malla original de la tela.

La rigidez de pliegue compleja se usa para añadir rigidez adicional a las telas de vestidos, por ejemplo. En este caso puede que sólo desee añadir rigidez a las áreas planas de la tela. Esto puede puede conseguirse definiendo Spread Angle como cero, es decir: no se añade rigidez de pliegue a ninguna parte curvada de la tela.

Limitaciones del modelo de telaPueden producirse problemas durante interacciones complejas entre ropa y cuerpos rígidos. La reducción del paso de tiempo puede solucionar muchos problemas. El parámetro Scale Timestep (Escalar paso de tiempo) de la colección de ropa cambia el paso de integración interno de la colección.

El modelo no funciona bien con mallas muy grandes, porque se ha desarrollado principalmente para usuarios en tiempo real. Si el número de polígonos supera los 3000, puede resultar muy lento. Si no necesita crear telas muy grandes, suele ser preferible utilizar un tamaño de triángulo mayor.

Page 36: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 5: Tela32

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 rígido sean menos eficaces.

Es importante saber que puede crear ropa a partir de cualquier malla de 3ds max. Aunque una triangulación basada en cuadrícula cuadrada puede ser la predeterminada en muchas mallas, esto puede producir artificios visuales durante la simulación de telas, debidos sobre todo a pliegues colineares. Recomendamos que utilice una triangulación más irregular de la malla, como la triangulación Delaunay de una superficie Nurbs de 3ds max. (Para obtener esta triangulación, seleccione la persiana Aproximación superficie en el panel del modificador Nurbs. Elija Parámetros avanzados, y active la casilla Delaunay en el cuadro de diálogo Aproximación de superficie avanzada).

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 configuración original. Por ejemplo, quizá desee que ondee en torno a un cuerpo. Para conseguir esto, puede usar la función Update Max de la ventana Preview.

Cree una escena con tela y realice una presentación preliminar. En la ventana Preview, sitúe la tela como desee que aparezca al inicio de la animación 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 caída natural desde el inicio de la animación.

Page 37: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

CuerdasEs 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 rígidos.

La mayoría de las cuerdas que se crean usan una spline. Normalmente las cuerdas se hacen creando primero una spline y después convirtiéndola en cuerda con un modificador. Hay dos formas de simular cuerdas en reactor™ , según se use un muelle o un modelo basado en restricciones.

Este capítulo está formado por un tutorial que le guía en la creación de una cuerda en una escena.

Acerca de estos tutorialesEste capítulo contiene sólo un tutorial. En él se describe la creación de una cuerda con un extremo fijo y el otro libre. También se describen los efectos que pueden obtenerse al variar los parámetros de la cuerda. Cuando termine este tutorial, sabrá:

• Crear una colección de cuerdas.

• Añadir objetos a una colección de cuerda.

• Asignar propiedades físicas a cuerdas de una escena.

En la carpeta Scenes del directorio de reactor, hay dos archivos asociados con este tutorial. En ellos se muestra cómo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialfouraStart.max y TutorialfourbEnd.max.

Creación de una simulación de cuerdaAl crear una simulación con cuerdas, se usan técnicas simulares a la simulación de cuerpos flexibles. Va a crear las splines en 3ds max y a aplicarles el modificador Rope (Cuerda). También las incluirá en una colección de cuerda.

Tenga cuidado de no incluir objetos en colecciones de cuerpos rígidos y flexibles. Cuando se aplica un modificador cuerda a un objeto, su equivalente rígido permanece en la escena.

Page 38: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 6: Cuerdas34

Creación de cuerdas sencillasSiga estos pasos para crear la escena del tutorial:

1. Cree una escena como se indica en la figura 6.2.1. Para crear la hélice, elija Forma Hélice en la ficha Formas. Añada la esfera un poco por debajo de la hélice 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 sección anterior.

3. Añada una colección de cuerpos rígidos a la escena.

4. Añada el plano a la colección de cuerpos rígidos (pero no añada la hélice).

5. Designe la hélice, abra la persiana Modificar y 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 vértices de forma predeterminada. En este caso es lo que queremos. Seleccione todos los vértices de la hélice excepto el del centro.

7. Aplique el modificador reactor Rope de la lista de modificadores.

8. Seleccione Constraint (Restricción) en la opción Rope Type (Tipo de cuerda) del modificador.

Figura 6.2.1

Propiedades de cuerdaPuede establecer atributos físicos de la cuerda en la persiana Properties del modificador Rope. Hay cinco opciones principales para las propiedades físicas de una cuerda.

Mass (Masa)

Esta masa se aplica a la cuerda. Aunque haya aplicado una masa en la sección 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 también 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 extensión.

Thickness (Grosor)

Al modificar este valor cambia el grosor de la cuerda en la simulación (las splines no tienen grosor intrínseco).

Page 39: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Creación de una simulación de cuerda 35

Air Resistance (Resistencia al aire)

Se trata del coeficiente de amortiguación para la oscilación de la compresión y expansión de la cuerda. Los valores oscilan entre 0 y 1, donde 1 es el de mayor amortiguación.

Friction (Fricción)

Se trata del coeficiente de fricción de la superficie de la cuerda, similar al coeficiente análogo en cuerpos rígidos.

Rope Type (Tipo de cuerda)

Esta opción define el tipo de modelo de cuerda usado para la simulación. Puede usarse un muelle o una restricción. Cuando se minimiza el estiramiento, es aconsejable usar el modelo de restricción.

Figura 6.2.2

Creación de colecciones de cuerdas y adición de cuerdasUna vez creada una cuerda, debe añadirla a una colección de cuerdas. El botón de las colecciones de cuerdas se encuentra en el panel Crear, dentro de la opción Ayudantes. Siga estos pasos para asignar la cuerda del tutorial a una colección.

1. Elija el menú desplegable reactor y presione el botón RPCollection (ColecciónCuerda).

2. Seleccione el símbolo de colección, abra la ficha Modificar, haga clic en Añadir y seleccione las cuerdas en la lista que aparece. También puede hacer clic en el botón Designar y elegir cuerpos manualmente en los paneles de vista.

3. Si ha añadido una cámara, asegúrese de que se ha colocado correctamente y de que también se han añadido las luces necesarias.

4. Presione el botón Preview In Window y reactor muestra la escena.

Las cuerdas se flexionan cuando se las designa con el ratón. Esto se debe a que el ratón conecta un muelle entre el vértice más cercano y el puntero del ratón.

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 más gruesa sea la cuerda, mayor es su superficie. Cuanto mayor sea el efecto del viento, mayores serán los rizos y el empuje de interacción 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 podría 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 representación. El grosor de presentación de la spline de 3ds max no afecta al grosor de la cuerda de reactor, por lo que un simple cambio del grosor de presentación no solucionaría el problema.

Page 40: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 6: Cuerdas36

Page 41: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

AguaEl agua es la representación de reactor de los cuerpos fluidos que puede usarse para mejorar las escenas. Los objetos pueden interactuar con el agua en formas físicamente 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 automáticamente 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 simulación de presentación. Como no es posible renderizar efectos especiales, el usuario debe dar al agua una representación gráfica. En el modo de presentación preliminar puede verse una representación, pero en una verdadera simulación el agua no aparece. Puede dar una representación gráfica al agua enlazando un plano al efecto especial agua. De hecho, puede enlazar el efecto a cualquier tipo de objeto.

Contenido del tutorialEn este tutorial va a aprender a utilizar el agua de reactor. Al término de este tutorial sabrá:

• Añadir agua a una escena.

• Definir propiedades de agua.

• Enlazar el agua a un elemento no simulado físicamente de la escena.

En la carpeta Scenes del directorio de reactor hay dos archivos asociados con este tutorial. En ellos se muestra cómo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialFiveStart.max y TutorialFiveEnd.max.

Page 42: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 7: Agua38

Figura 7.21

Adición de agua a una escena

Uso de agua en una simulación sencillaReproduzca la escena de la figura 7.2.1. Hay cinco cajas con masa cero, que actúan como piscina, cámara y dos luces. Cree la colección de cuerpos rígidos para las cajas.

Figura 7.2.2

Si no quiere crear la escena, puede cargar TutorialScriptStart.max

Para añadir agua a la piscina, siga estas instrucciones.

1. Elija reactor en el menú Efectos especiales del panel Crear. Presione el botón Water (Agua) (figura 7.2.2). Va a añadir agua a la escena de forma similar a un plano haciendo clic y arrastrando en una ventana.

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 parámetros físicos que puede definir para el agua.

Estos son los parámetros de agua que puede definir:

Subdivisions X/Y (Subdivisiones X/Y)—Establece la triangulación de la malla del agua.

Landscape (Horizontal)—Cuando se selecciona y asocia con un cuerpo rígido, las ondas rebotan en los lados del cuerpo rígido elegido y se refractan en las aperturas pequeñas.

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.

Min/Max Ripple (Rizo mín/máx)—Permite establecer límites de tamaño de las ondas generadas en el agua.

Density (Densidad)—La densidad del líquido. Determina los objetos que se hunden y la altura a la que flotan objetos de menor densidad.

Page 43: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Adición de agua a una escena 39

Viscosity (Viscosidad)—Es la medida de resistencia al flujo e indica lo difícil que resulta a los objetos moverse por el líquido. Un valor alto significa que el movimiento de objetos por el agua está muy amortiguado.

Water in Motion (Agua en movimiento)Presione el botón Preview in Window para ver el agua en la piscina. El siguiente paso es añadir algunos objetos que pueden dejarse caer al agua y ver cómo reaccionan ante ella y cómo ella reacciona ante ellos.

Figura 7.2.4

Añada dos cajas sobre el agua y asígneles 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). Añádalos a la colección y vuelva a realizar una presentación preliminar de la simulación. Cuando reproduzca la simulación, las cajas caerán al agua y flotarán en ella. Pruebe a arrastrar las cajas bajo el agua y soltarlas. Puede probar a añadir una forma extraña en el agua. Si la arrastra por el agua, reorienta el recorrido de menor resistencia. Por ejemplo, si intenta arrastrar un palo a través del borde del agua, éste se reorienta de modo que su punta señala en la dirección del movimiento. Tenga en cuenta que los objetos pueden desactivarse durante la simulación si tienen desactivador, aunque sigan en el agua.

Animación de agua en 3ds maxEl siguiente paso es crear una representación para 3ds max de forma que se pueda renderizar la escena para películas y animaciones. Dibuje un plano del mismo tamaño que el agua y en su misma posición y orientación. 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 deformación. Por ejemplo, si establece la fuerza de escala en 2, toda deformación de agua se duplica en el plano.

Si realiza una animación con el agua, el plano imita el comportamiento del agua y así puede renderizar la animación.

Figura 7.2.5

Page 44: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 7: Agua40

Page 45: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

RestriccionesSupongamos que crea una escena en la que desea controlar rígidamente el movimiento de los objetos físicos. Quizá dese que dos objetos actúen 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 fijándolos a puntos en el espacio u objetos. Hay varios sistemas de restricción en reactor™ . Los más sólidos son los de punto a punto, punto a recorrido y punto a clavo. Hay también dos tipos básicos de restricción llamados muelles y dashpots. Los muelles y dashpots tienden a ser más rápidos, pero más elásticos por naturaleza.

Un muelle es una conexión elástica entre dos objetos. Un dashpot es similar, pero más flexible. Permite la conexión elástica de dos objetos con un punto, o de un objeto con un punto en el espacio. Los dashpots también restringen la posición y orientación de objetos.

En la última sección de este capítulo se describe el objeto toy car de reactor, que se crea a partir de varios tipos de restricción. Se ha concebido como un juguete, y resulta demasiado simple para simular un vehículo de verdad, pero puede ser útil para crear un modelo de vehículo rápidamente.

Contenido del tutorialEn la primera parte de este tutorial se explica la implementación completa de un muelle. En la segunda parte se trata la implementación de un dashpot. Las demás restricciones (llamadas "restricciones" a secas) se describen con más detalle en la página 45.

Cuando termine este tutorial, sabrá:

• Distinguir entre muelles y dashpots

• Añadir un muelle

• Cambiar las propiedades de un muelle

• Añadir un dashpot

• Cambiar las propiedades de un dashpot

Page 46: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones42

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

Muelles y dashpotsEl sistema de muelle añade la acción de un muelle hookeano entre dos cuerpos rígidos cualesquiera. Puede controlar y cambiar las propiedades del muelle. Por ejemplo, puede alterar sus valores de rigidez, longitud de reposo y amortiguación.

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 amortiguación es el proceso de reducción gradual de un movimiento vibratorio. Con un valor alto de amortiguación el muelle oscila pocas veces antes de recuperar su longitud de reposo. Un muelle muy amortiguado no parece tener mucha energía. Con un valor de amortiguación bajo el muelle sigue extendiéndose y contrayéndose hacia su longitud de reposo durante mucho tiempo.

También puede suprimir la acción de extensión o contracción del muelle. Por ejemplo, una goma elástica es un ejemplo de muelle con extensión suprimida. Si desactiva ambas, el muelle deja de funcionar.

Los dashpots son como muelles con un valor de amortiguación 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

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

Adición de un muelle a una simulaciónCon el sistema de muelle puede añadir un muelle entre dos cuerpos rígidos. reactor también permite especificar dónde debe enlazarse al muelle a cada cuerpo rígido. Para ello, debe añadir un punto a cada cuerpo rígido.

Cree una escena que contenga una colección de cuerpos rígidos 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.

Page 47: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Adición de un muelle a una simulación 43

3. Presione el botón Spring (Muelle) en la persiana Object Type (Tipo de objeto) (figura 8.3.1).

4. Seleccione un panel de vista para dibujar una línea en cualquier lugar de la escena.

5. Presione el botón None (Ninguno) que hay junto a Object A (Objeto A) en la persiana Spring Properties (Propiedades de muelle).

6. Seleccione una de las esferas en un panel de vista. Ahora la esfera está asociada a un extremo del muelle. El nombre de la esfera aparece en el botón que hay junto a las palabras Object A.

7. Repita estos pasos para asociar la segunda esfera al botón 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 posición 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.

Figura 8.3.2

Para un muelle, el proceso de creación y uso de un punto en reactor es:

1. Seleccione el icono Ayudantes en el panel de comandos Crear de 3ds max.

2. Elija Estándar en el menú desplegable Ayudantes.

3. Presione el botón Punto en la persiana Tipo de objeto (figura 8.3.2).

4. Designe el panel de vista donde desee situar el punto.

5. Presione el botón etiquetado None que hay 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 Object B.

El siguiente paso consiste en definir las propiedades del muelle. Puede modificar estas propiedades durante su creación o después. 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.3

Page 48: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones44

En la persiana Spring Properties puede definir las características 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 (Amortiguación)—Admite valores entre 0 y 1, e indica la velocidad con que el muelle alcanza el reposo.

Act on compression (Actuar en compresión)—Este valor desactiva la compresión del muelle.

Act on extension (Actuar en extensión)—Este valor desactiva la extensión del muelle.

Para realizar una presentación preliminar del muelle, presione el botón Preview In Window en la persiana Display de la utilidad reactor. Si toma una de las esferas con el botón derecho del ratón y la arrastra por el plano, la segunda actúa como si hubiera un muelle entre ella y la primera (figura 8.3.4). El muelle en sí no aparece en la ventana de presentación preliminar.

Figura 8.3.4

Adición de un dashpotEl efecto de los dashpots varía según el tipo de dashpot y si conecta dos objetos o un solo objeto y un punto.

Si añade un dashpot lineal que conecte un cuerpo y un punto, el cuerpo intenta ocupar la posición del punto. El cuerpo puede rotar libremente en torno al punto.

Si añade un dashpot lineal que conecte dos cuerpos con un punto, reactor establece la posición 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 posición relativa original.

Si añade un dashpot angular que conecte un cuerpo y un punto, el cuerpo intenta mantener su orientación inicial. La ubicación y orientación 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 orientación con referencia a un punto, ha de aplicar un dashpot lineal o restricciones para mantener el cuerpo en su posición.

Si crea un dashpot angular entre dos cuerpos, se aplica una fuerza de giro a cada cuerpo que intenta mantener la orientación actual entre los dos cuerpos cuando uno de ellos rota.

Page 49: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Restricciones 45

Puede añadir dashpots del mismo modo que muelles. Puede establecer las propiedades correspondientes en la persiana Modify Properties (Propiedades de modificación) 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 parámetro Strength (Fuerza) de los dashpots equivale al parámetro Stiffness (Rigidez) de los muelles.

La diferencia entre el parámetro de punto de un dashpot monoobjeto y un muelle es que toma la posición 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 posición del espacio universal a la que desea asociar el dashpot y seleccionar este objeto como parámetro de punto del dashpot.

Para crear un dashpot entre dos cuerpos rígidos hay que seleccionar la caja que aparece junto a Body B (Cuerpo B) en la persiana Properties de la sección Modificar del dashpot.

Los parámetros Strength y Damping de los dashpots deben adaptarse a las masas de los cuerpos a los que están asociados. Un cuerpo pesado puede necesitar un dashpot más fuerte para sostenerse.

La inestabilidad de los dashpots puede producir un paso de tiempo alto, un número bajo de subpasos, un mal integrador o una fuerza muy grande.

RestriccionesCon restricciones nos referimos al resto de los sistemas de restricción, aparte de los muelles y dashpots, que pueden usarse para limitar el movimiento de los cuerpos flexibles, cuerpos rígidos o tela. En general, son más robustos que otros tipos de sistemas de restricciones, pero pueden resultar más caros de simular.

Las restricciones de punto a punto, punto a recorrido y punto a clavo utilizan resolutores de restricción. Estos resolutores de restricción efectúan todos los cálculos necesarios para cada restricción. Sólo pueden aplicarse a cuerpos rígidos, y se añaden automáticamente al sistema para una colección de cuerpos rígidos determinada.

Aunque se trata realmente de un sistema, un resolutor de restricciones puede considerarse como una colección de restricciones. Del mismo modo que antes creó una colección con cuerpos rígidos, ahora puede crear un resolutor con restricciones. Este resolutor actúa sobre todas las restricciones que interactúan sobre una colección de cuerpos rígidos dada.

Hay un tipo de restricción llamado Attach to Rigid Body (Asociar a cuerpo rígido) que no usa resolutor, sino que se aplica como modificador. Esta restricción asocia todos los vértices (o sólo los seleccionados) de una tela, un cuerpo flexible o una cuerda a un cuerpo rígido. Un ejemplo de ello sería un mástil al que se hubieran asociado dos puntos de una bandera cuadrada.

Page 50: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones46

Resolutor de restriccionesPara añadir un resolutor de restricciones a un sistema, seleccione CSolver (ResolutorR) en la sección 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 añadirle restricciones al crearlo o después en la ficha Modificar.

Figura 8.5.1

También hace falta asociar una colección de cuerpos rígidos al resolutor. Presione el botón que hay bajo RBCollection (ColecciónCR) dentro de la sección Properties del resolutor y elija la colección sobre la que quiere que actúen las restricciones. Un resolutor sólo puede resolver restricciones actuando sobre cuerpos de una colección. No puede abarcar varias colecciones.

Si añade restricciones que se aplican a objetos de una colección en lugar de asociarlas al resolutor, la utilidad Analyze World (Analizar universo) advierte de ello al ejecutar la simulación.

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 más impreciso y rápido, mientras que Expensive es el más preciso y lento. El valor predeterminado es General, que sirve para la mayoría de los casos.

Figura 8.5.2

Restricción punto a puntoUna restricción punto a punto restringe dos cuerpos a compartir un punto común.

1. Dibuje dos cajas y un punto cerca de ellas.

2. Añádalas a una colección de cuerpos rígidos.

3. En la sección reactor, seleccione Point-Point (Punto a punto).

4. Designe cualquier lugar de la escena para añadir la restricción.

5. Es preciso añadir dos objetos y un punto a la restricción con los botones apropiados de la persiana Properties correspondiente a la restricción.

Page 51: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Restricciones 47

También puede definir la fuerza de la restricción en el campo Strength. Una restricción punto a punto es como una junta de rótula doble infinitamente pequeña 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 rótula doble es la ubicación del punto. El punto siempre está en la misma posición local para cada cuerpo. Al mover un cuerpo se influye en el otro mediante la restricción en este punto.

Figura 8.5.3

Restricción punto a recorridoUna restricción 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 línea o curva.

3. Añada la restricción 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 línea o curva que se usará como recorrido.

La restricción punto a recorrido es una restricción punto a clavo en la que el clavo se desplaza por un recorrido confinado. Si el recorrido es un conjunto de segmentos de línea, la restricción puede atascarse un poco en las uniones del recorrido.

Figura 8.5.4

Restricción punto a clavoUna restricción 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 restricción punto a punto, pero sólo es necesario especificar un cuerpo y un punto. La restricción 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 restricción actúa impidiendo todo movimiento lineal del cuerpo. Para que afecten a la simulación, es preciso añadir las restricciones punto a clavo a un resolutor de restricciones. Pueden usarse dos restricciones punto a clavo para definir un eje de rotación para un objeto situándolas en dos puntos separados a lo largo del eje deseado.

Figura 8.5.5

Page 52: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones48

reactor AttachToRBLa restricción AttachToRB (Asociar a cuerpo rígido) es un modificador de cuerpos flexibles y telas (figura 8.5.5). Puede aplicar la restricción AttachToRB a telas y cuerpos flexibles para lograr efectos como banderas y cortinas colgantes o trampolines.

1. Para aplicar el modificador, utilice Seleccionar malla y seleccione los puntos del cuerpo que desee asociar al cuerpo rígido.

2. Abra la sección Modificar, presione More… (Más...) y seleccione reactor AttachToRB.

3. En la persiana Properties del modificador, seleccione el cuerpo rígido al que desea asociar el cuerpo.

4. Decida si quiere que el cuerpo conectado afecte al cuerpo rígido y si le interesa omitir las colisiones entre el cuerpo rígido y el asociado a él.

El archivo terminado del tutorial siguiente, TutorialSixB.max se encuentra en la carpeta Scenes.

Figura 8.5.6

Ejemplo rápido de reactor AttachToRBCree un cilindro de masa cero como un mástil de bandera. Añada un plano pequeño (u otra malla) en la parte superior del mástil para representar la bandera. Añada el mástil a la colección de cuerpos rígidos (figura 8.5.6). Incorpore un par de luces y una cámara a la simulación. Aumente un poco la triangulación del plano de la bandera. Aplique el modificador de tela a este mismo plano. Cree una colección de tela y añádale la tela.

1. Elija Modificar y abra la lista desplegable de modificadores.

2. En la opción Seleccionar malla elija Vértices.

3. Seleccione las dos esquinas del plano más cercanas al mástil (elija el primer vértice, mantenga presionada Ctrl y seleccione el otro).

4. Seleccione reactor AttachToRB.

5. En la sección Properties del modificador, presione el botón que hay bajo Rigid Body (Cuerpo rígido) y después designe el mástil en el panel de vista (figura 8.5.7).

Page 53: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Coche de juguete 49

6. Ejecute de nuevo la simulación.

Figura 8.5.7

Tenga en cuenta que no tiene sentido usar el modificador AttachToRB porque el mástil está fijo. Esto significa que basta seleccionar todos los puntos que deben ser móviles y activar Non Selected Are Fixed (Los no seleccionados son fijos) al aplicar el modificador de tela. No obstante, si asigna masa al mástil y vuelve a ejecutar la simulación, podrá designarlo con el ratón y ondearlo al aire como una bandera de verdad.

La opción Do not affect rigid body (No afectar a cuerpo rígido) determina si las fuerzas que actúan sobre el cuerpo flexible se transmiten al rígido. Todas las fuerzas recibidas por el cuerpo rígido se aplican automáticamente a la tela.

La opción 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 (Sólo cuerpos flexibles FFD) se aplican como se explica en la página 24.

Coche de jugueteUn 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 diseñadores. El coche de juguete es un modelo de automóvil muy fácil de manipular para crear rápidamente sus vehículos para escenas en mucho menos tiempo que si los creara desde el principio. A continuación 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 cómo 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. Se coloca una caja sobre un plano como chasis y cuatro cilindros idénticos como ruedas. Añada todos los objetos a una colección de cuerpos rígidos. También puede cargar TutorialSixCStart.max.

Page 54: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones50

Figura 8.6.1

2. Los parámetros de masa son muy importantes en este automóvil; 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 vehículo.

3. En reactor, seleccione Toy Car y añada un coche a la escena haciendo clic en uno de los visores.

4. Reoriente el icono del coche para que su orientación sea la misma que la del chasis. Así podrá guiarse por la orientación del icono al trabajar con la suspensión y los ejes de las ruedas.

5. Presione el botón Chassis (Chasis) en Toy Car Properties (Propiedades de Toy Car) y seleccione el chasis en el panel de vista.

6. Presione el botón Add que hay bajo la lista de ruedas y seleccione sus objetos de rueda en la lista de objetos resultante.

7. Asegúrese de que ha seleccionado Icon Orientation (Orientación del icono) en Toy Car Orientation (Orientación de Toy Car) y después realice una presentación preliminar de la simulación.

El coche no se mueve automáticamente. No obstante, si se arrastra el chasis, el coche rueda al soltarlo. Para que las ruedas del coche giren solas dentro de la simulación, seleccione Spin Wheels (Girar ruedas) en Toy Car Properties dentro del panel Modificar. Puede seleccionar entonces una velocidad angular máxima para las ruedas y una ganancia que representa el ritmo con el que las ruedas alcanzan su velocidad angular máxima. La escena final está en TutorialSixCEnd.max.

El usuario debe decidir qué direcciones representan el giro (ejes de las ruedas) y la dirección de suspensión. Si utiliza Icon Orientation, eso es suficiente y no es preciso alinear la orientación local de las ruedas y el chasis (debida a los pivotes de 3ds max) en el espacio universal para que el vehículo funcione. De lo contrario, puede alinear los pivotes de las ruedas y el chasis en el espacio universal y utilizar Common Local Orientation (Orientación local común) para especificar los ejes que representan las direcciones de suspensión y giro.

Parámetros de Coche de juguetePueden manipularse varias propiedades para alterar el comportamiento del vehículo:

Allow Wheel Penetration (Permitir penetración de las ruedas)—Desactiva la detección de colisiones entre el chasis y las ruedas.

Internal Substeps (Subpasos internos)—Permite que el coche tenga más subpasos por keyframe que la simulación circundante. Esto resulta útil porque a veces, si el vehículo tiene parámetros extraños, puede precisar más subpasos para mantenerse estable.

Common Local Orientation (Orientación local común)—Normalmente es más fácil usar Icon Orientation para definir la orientación del coche. No obstante, pueden definirse los ejes de suspensión y giro del chasis y de las ruedas. Si lleva los pivotes de chasis y rueda a una orientación común con respecto a esta, puede definir manualmente los ejes de suspensión y giro con las opciones respectivas.

Page 55: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Coche de juguete 51

Angular Strength (Fuerza angular)—Representa la intensidad de las fuerzas correctoras aplicadas para mantener las ruedas verticales y señalando hacia delante.

Linear Strength (Fuerza lineal)—Representa la intensidad de las fuerzas aplicadas para mantener las ruedas en su posición relativa al chasis.

Suspension (Suspensión)—Controla la rigidez de la suspensión del coche. Cuanto menor sea el valor, más rebotará el coche cuando se le apliquen fuerzas.

Disabled (Desactivado)—Suprime el coche de la simulación.

Page 56: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 8: Restricciones52

Page 57: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

AccionesAcción es un nombre de grupo usado para describir varios sistemas físicos complejos disponibles en reactor™ . Se agrupan bajo este nombre para diferenciarlas de los sistemas de restricciones y agua. Los sistemas de acción permiten simular viento, motores y fracturas en escenas.

En este capítulo se le guía por el proceso de aprendizaje sobre cada uno de los distintos tipos de acción.

Contenido del tutorialEn este tutorial aprenderá las acciones que se han incluido en reactor. Al término de este tutorial:

• Conocerá los distintos tipos de acción disponibles en el plug-in.

• Podrá implementar esas acciones en sus escenas.

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

Las accionesreactor aporta tres acciones, que se detallan a continuación.

Acción Wind (Viento)Añade viento a una escena. El viento se representa con el símbolo de una veleta. El gallo indica la dirección del viento. Puede decidir a qué tipos de objeto afecta el viento, sean telas, flexibles o rígidos. También 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. También puede activar la posibilidad de los objetos a protegerse del viento con otros objetos.

Page 58: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 9: Acciones54

Acción motorEsto permite aplicar una acción de motor a cualquier elemento de la escena. Por ejemplo, si quiere añadir un ventilador en la escena, puede restringirlo al techo dejando un eje de rotación y después aplicar una acción de motor al ventilador en torno a su eje. La acción requiere que suministre un cuerpo rígido y afecta al cuerpo seleccionado. También debe especificar el eje en el que se produce la rotación.

Acción Fracture (Fractura)Las fracturas simples reflejan la posibilidad de los cuerpos rígidos compuestos de partirse tras recibir un impulso dado. Se añade la fractura a la escena y los elementos que se encuentran en el conjunto de fractura se agregan al conjunto de la acción. Debe asociarse una colección de cuerpos rígidos a la acción. Los elementos relacionados con la acción de fractura sólo deben incluirse en la fractura. No es necesario incluirlos en la colección de cuerpos rígidos. Puede decidir si los fragmentos son normales o si tienen propiedades especiales que determinan cuándo pueden o no romperse. Las acciones de fractura no funcionan con cuerpos rígidos no fijos.

Adición de acciones a escenas

Acción Wind (Viento)En este ejemplo se explican los pasos para añadir una acción viento a una escena con una cortina que pende en una ventana. El archivo final es TutorialSevenA.max.

Figura 9.3.1

1. Cree un suelo (plano) y un muro con un agujero donde debe estar la ventana.

2. Añada un plano para cubrir el agujero.

3. Con el modificador Seleccionar malla, designe el plano excluyendo sus puntos en línea con la parte superior de la ventana y aplique el modificador reactor Cloth.

4. Seleccione la opción Non-Selected Are Fixed (No seleccionados=fijos).

5. Añada el suelo y el muro a la colección de cuerpos rígidos y la tela a una colección de tela.

6. Trate el muro como cóncavo.

7. En reactor, seleccione Wind (Viento) y haga clic en uno de los paneles de vista.

Page 59: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Adición de acciones a escenas 55

8. Rote el símbolo del viento para que sople hacia la ventana.

9. Seleccione la opción Enable Sheltering (Activar refugio). (Figura 9.3.2).

Figura 9.3.2

10.Asegúrese de tener seleccionada sólo la ropa en la sección Applies To... (Se aplica a).

Realice la presentación preliminar de la simulación. El viento debe soplar a través 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) varía ligeramente con el tiempo. Time Scale (Escala de tiempo) determina la velocidad con que esto sucede: los valores pequeños producen un cambio lento y los grandes y cambio rápido.

Con la casilla Ripple (Rizo) activada, la dirección se convierte en una función de espacio y tiempo. Este efecto puede producirse en las direcciones Left/Right (Izquierda/Derecha), Up/Down (Arriba/Abajo) o Back/Forward (Adelante/Detrás), donde Forward es la dirección del viento y Up es el eje superior del icono de viento. Por ejemplo, una cortina suspendida puede precisar rizos en dirección Left/Right.

Magnitude (Magnitud) determina la varianza direccional y Frequency (Frecuencia) la regularidad de la formación de rizos. Unos valores bajos provocan rizos distantes, si son altos los rizos son frecuentes.

Si se selecciona Perturb Time (Perturbar tiempo), la propia perturbación 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.

Page 60: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 9: Acciones56

Acción Motor (Motor)En este ejemplo se creará un molino de viento con aspas giratorias. El archivo final es TutorialSevenB.max.

Figura 9.3.3

1. Cree un cono truncado y reduzca el número de segmentos a cuatro para crear un molino de viento.

2. Cree algunas aspas como cuerpos rígidos compuestos.

3. Restrinja las aspas frente al molino de viento y a lo largo del eje de rotación con dos restricciones punto a clavo. Establezca las fuerzas de las restricciones en 50 (figura 9.3.3).

4. Añada un sistema CSolver (ResolutorRestricción) y agréguele las restricciones.

5. Añada una Motor Action a la escena con reactor. Defina Ang Speed (Vel. angular) en 10,0 y Gain (Ganancia) en 3,0.

6. Haga clic en el botón Rigid Body (Cuerpo rígido) en la persiana Properties de la acción motor (Figura 9.3.4) y seleccione las aspas.

7. En el menú desplegable de sistema de referencia de coordenadas, elija Local.

8. Seleccione las aspas y defina en torno a qué eje van a rotar las aspas (en espacio cuerpo).

9. Seleccione el símbolo Motor y, en la sección Modificar del motor, seleccione el eje que definió para las aspas.

Figura 9.3.4

Realice la presentación preliminar de la simulación. 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.

Acción Fracture (Fractura)En este breve tutorial se crea una mesa y se rompe en una simulación mediante la acción fractura. El archivo final es TutorialSevenC.max.

1. Cree una mesa y asigne a cada elemento masa como si fuera a crear un cuerpo rígido compuesto, pero no los agrupe.

2. Cree un plano sobre el que pueda caer la mesa. Cree una colección de cuerpos rígidos y añádale el plano (figura 9.3.5). Añada una Fracture Action (Acción fractura) a la escena con reactor.

Page 61: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Adición de acciones a escenas 57

3. Haga clic en el botón Rigid Body Collection (Colección de cuerpos rígidos) dentro de Fracture (Fractura) y después haga clic en la colección de cuerpos rígidos que contiene el plano.

Figura 9.3.5

4. Seleccione Add (Añadir) 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 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 revés.

6. Coloque la tabla de modo que quede en ángulo y a una buena altura sobre el plano.

Realice la presentación preliminar de la simulación. Cuando la mesa caiga sobre el plano, una o más de sus patas deberían separarse. Si no lo hacen, lo más probable es que el valor de impulso de la acción 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.

Energy Loss (Pérdida de energía) determina cuánta energía se pierde durante la fractura. Un valor de 0 significa que no se absorbe energía, por lo que el cuerpo resulta muy quebradizo; un valor de 1 hace que el cuerpo repose tras fracturarse. Energy Loss sólo tiene efecto si la fractura se define como Break during collision (Romper durante colisión). En el tutorial se usa una pérdida de energía de 0,7.

Figura 9.3.6

Si la fractura se define como Break during collision, el cuerpo se rompe y sigue moviéndose con su propio momento, pero pierde energía. Si se establece como Break after collision (Romper tras colisión), entonces el cuerpo rebota antes de romperse. Los fragmentos de este tipo de colisión conservan el momento original del cuerpo original tras la colisión.

La versión actual de reactor no presenta información de textura de los cuerpos que se fracturan en la ventana de presentación preliminar. Ello no afecta a la animación en 3ds max.

Page 62: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 9: Acciones58

Page 63: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Animaciónreactor™ tiene la capacidad de alimentar con simulaciones físicas la animación con keyframes. Con frecuencia resulta complejo alcanzar la mezcla ideal de animación con keyframes y simulación física, y reactor ofrece un buen número de mecanismos que ayudan a sacar al máximo partido de la física de reactor.

En un nivel básico, la simulación física puede tomar el control de toda la escena y alimentar directamente a la animación de 3ds max™ . En un nivel más complejo, los cuerpos con keyframes pueden interactuar con la simulación física.

Contenido del tutorialEn este tutorial se trata la animación en 3ds max con reactor. Hay varias formas de animar objetos, al tiempo que se capturan los datos de simulación física. Éstas van desde animaciones sencillas totalmente compuestas por datos físicos hasta animaciones más complejas, en las que hay una mezcla de cuerpos físicos y de keyframes.

Al término de este tutorial sabrá:

• Crear una animación física

• Usar keyframes de 3ds max con reactor

• Usar cuerpos inflexibles

• Interactuar con la escena y actualizar 3ds max para reflejar las interacciones

Creación de una animación sencillaPuede crear una animación simple con estos sencillos pasos. En el tutorial se crea un conjunto de bolas que bajan rodando por una rampa hasta un cubo1.

Figura 10.1.1

1. En algunas versiones de demostración de reactor no es posible simular este número de cuerpos en la cantidad de fotogramas especificada.

Page 64: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 10: Animación60

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 cóncava 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 masa. En el ejemplo se usan geoesferas. Cree la primera esfera justo sobre la parte superior de la rampa y, mientras mantiene presionada Mayús, arrastre la esfera en vertical para situar la copia justo sobre la posición de la original sin interprenetarse. Seleccione 9 como la cantidad de copias que desea. Utilice Bounding Sphere (Esfera delimitadora) para la geometría de simulación de la bola para tratar la esfera comoconvexa.

4. Cree un plano de suelo y asegúrese de utilizar una malla cóncava que simule la geometría del plano de suelo.

5. Añada todos los cuerpos a una colección de cuerpos rígidos.

6. Ejecute la simulación para ver el aspecto que tendrá la animación. Utilice Preview in Window en la persiana Display de la utilidad reactor.

7. Abra la persiana Animation (Animación) de la utilidad reactor (figura 10.2.2).

8. Decida qué fotogramas quiere simular con Start Frame (Fotograma inicial) y End Frame (Fotograma final). Para esta animación, seleccione 0 y 600.

9. Todos los fotogramas de esta animación son keyframes, así que deje el valor de Frames/Key (Fotogramas/Key) en 1. Para aumentar la precisión de la animación puede aumentar el

número de subpasos por keyframe con Substeps/Key (Subpasos/Key). En cada keyframe se toma un paso de simulación de reactor, por lo que un porcentaje inferior de fotogramas para keyframes y un número superior de subpasos por keyframe mejora la precisión de la animación.

10.Para ralentizar o acelerar la animación de modo 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 simulación) en la persiana Animation de la utilidad reactor para ejecutar la simulación y crear los keyframes de 3ds max.

Figura 10.2.2

Puede ver los keyframes deslizando la barra Animación de 3ds max y renderizando la animación como otra cualquiera.

Page 65: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Mezcla de keyframes y animación física I 61

Mezcla de keyframes y animación física IPuede usar keyframes definidos antes de la simulación para dar velocidades iniciales a los cuerpos. Usando la escena del ejemplo anterior, puede crear una animación con un cuerpo móvil si sigue estos pasos.

1. Elimine los keyframes de todos los objetos y añada una esfera grande del tamaño del cubo.

2. Asigne una gran masa a la esfera y añádala a la colección de cuerpos rígidos.

3. Asigne al cubo una masa distinta de cero para que pueda volcarse.

4. En el primer fotograma, coloque la esfera de forma que se encuentre a una buena distancia horizontal del cubo. Asegúrese de tener seleccionada la esfera y presione la Barra espaciadora para bloquear el conjunto de selección.

Figura 10.2.3

5. Haga clic en el botón Animar de la sección Animación de 3ds max. Deslice la barra Animación hasta el fotograma 50 y arrastre la esfera en dirección al cubo.

6. Establezca el Start Frame en el fotograma actual en la persiana Animation de reactor.

7. Haga clic en Perform Simulation.

La posición 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 animación, puede eliminar las bolas pequeñas de la colección rígida para así obtener rápido la posición correcta de la esfera grande y asegurarse de que golpea el cubo. Después puede devolverlas para la simulación.

Animación para FFDPuede animar cuerpos flexibles FFD del mismo modo que cualquier otro tipo de cuerpo.

1. Con el ejemplo de tetera del capítulo 4, cambie 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 después 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.

Page 66: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 10: Animación62

Mezcla de keyframes y animación física IIPuede crear keyframes del movimiento de objetos con herramientas estándar de 3ds max, y simular físicamente 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 rebotarán naturalmente ante el objeto inflexible. Este método es preferible para simulaciones precisas en lugar de la alternativa de no incluir los objetos en la colección de cuerpos rígidos y crear keyframes para ellos (porque esto haría que no interactuaran con objetos físicos y parecerían atravesarlos). Los objetos inflexibles son por lo demás normales y es posible asociar muelles y dashpots a ellos.

En la persiana Advanced de reactor hay una opción llamada Unyielding: Updates/Frame (Inflexible: Actualizaciones/Fotograma). Antes de iniciar una simulación, reactor localiza la posición y orientación de los cuerpos inflexibles en momentos distintos. Durante la simulación, el motor interpolará entre estas posiciones y orientaciones. El número de posiciones tomadas de 3ds max se define con el parámetro Updates/Frame. Normalmente no es necesario cambiar este valor. Al reducirlo se acelera la animación, 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 sólo 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 deformantesAl animar personajes, un enfoque frecuente es usar un modificador que aplica piel y huesos al personaje. El modificador Skin (Piel) deforma las mallas según 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 posición, orientación y forma están controladas totalmente por 3ds max. El movimiento y la deformación se definen en 3ds max, pero quizá desee usar ese movimiento totalmente guionado para afectar a otros cuerpos.

Puede añadir mallas deformantes como partes de una colección de malla deformante. Puede crear una colección de malla deformante usando el botón DMCollection del menú reactor, como cualquier otra colección. Se simulan físicamente como parte de sus colecciones, y así pueden afectar a a otros cuerpos físicos, pero mantienen sus cuerpos y posiciones totalmente controlados mediante 3ds max, y no se ven afectados por la física.

Page 67: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Reducción de keyframes 63

Propiedades de malla deformanteA continuación se muestra una lista de las propiedades específicas de mallas deformantes.

Updates/Frame—Este parámetro permite especificar la frecuencia con que reactor pide a 3ds max la posición del objeto. Los valores más altos son más precisos, pero tardan más en simularse. Los valores bajos pueden producir simulaciones imprecisas.

Freeze (Congelar)—La casilla Freeze desactiva las actualizaciones de objetos en la colección. De este modo se hace que los objetos se comporten como cuerpos rígidos fijos. Esto resulta útil para situaciones en las que otros objetos se sitúen sobre la malla deformada antes de empezar la animación.

Reducción de keyframesAl componer animaciones, es común que muchos de los keyframes sean relativamente redundantes. Sin embargo, estos keyframes redundantes siguen usándose en el proceso de creación, lo que provoca un gran consumo de memoria y espacio en disco. Por eso, reactor tiene una función llamada reducción de keyframes.

La reducción de keyframes permite asignar keyframes específicos a objetos. Por ejemplo, puede indicar a un cuerpo rígido sus posiciones en un par de fotogramas, quizá en el 0, el 25 y el 90, y

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 botón Reduce Keyframes (Reducir Keyframes) de la persiana Properties reduce los keyframes de los cuerpos rígidos seleccionados.

• El botón Delete Keyframes (Eliminar keyframes) de la persiana Properties elimina todos los keyframes de los cuerpos rígidos seleccionados.

• Las opciones Start/End Frame de la persiana Simulation aseguran que toda reducción o supresión que se desea realizar sólo se produce entre los intervalos especificados.

• El botón Reduce Now (Reducir ahora) de la persiana Advanced reduce los keyframes de todos los cuerpos rígidos de una simulación.

• La opción Reduce After Simulation (Reducir tras simulación) de la persiana Advanced asegura la reducción automática de keyframes al realizar la simulación.

• El botón Delete Now de la persiana Advanced elimina todos los keyframes de los cuerpos rígidos seleccionados en una simulación.

Page 68: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 10: Animación64

Modificación interactivaCon frecuencia, la escena con la que desearía trabajar no es exactamente la que ha diseñado con 3ds max. Puede haber diseñado una escena con los objetos sobre el suelo, pero quizá los quiera en su posición natural de reposo. También puede querer reflejar otros campos físicos, como los pliegues que se forman al ondear las cortinas.

Puede utilizar la función Update Max (Actualizar Max) para trasladar los cambios físicos de la simulación a 3ds max. Cuando ejecuta una simulación 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 presentación preliminar y hacer clic en los paneles de vista, se actualiza la escena. No puede realizarse la actualización de 3ds max hasta cerrar la ventana de presentación preliminar.

Además, la opción Use Max Parameters (Usar parámetros de Max) restaura la ventana de simulación para que use el paso de tiempo y subpasos indicados en la persiana Animación, y el Tiempo de animación total indicado en 3ds max.

Page 69: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

IntroducciónEn esta sección se trata el uso de MAXScript con el plug-in reactor™ . En él, se espera que el usuario tenga un conocimiento básico de uso del lenguaje de generación de guiones. Puede acceder a información completa sobre MAXScript con la opción Referencia de MAXScript… del menú Ayuda.

Puede introducir secciones de guión en el Oyente integrado de 3ds max™ para pruebas y experimentación. Para iniciar el Oyente de MAXScript, pulse F11. También puede utilizar la opción Oyente de MAXScript… en el menú MAXScript. (Consulte la figura 11.1.)

Figura 11.1

Objetos de reactorPuede crear con MAXScript muchos de los objetos disponibles en el plug-in reactor. También 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_WaterHKRBCollection (const MaxClass): RBCollectionHKConstraintSolver (const MaxClass): CSolver

Page 70: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 11: MAXScript y reactor66

HKPointToNail (const MaxClass): Point_NailHKPointToPath (const MaxClass): Point_PathHKPointToPoint (const MaxClass): Point_PointHKDMCollection (const MaxClass): DMCollectionHKMotor (const MaxClass): MotorhelperHKCLCollection (const MaxClass): CLCollectionHKWind (const MaxClass): WindhelperHKToyCar (const MaxClass): Toy_CarHKSBCollection (const MaxClass): SBCollectionHKRPCollection (const MaxClass): RPCollectionHKPlane (const MaxClass): PlanehelperHKSpring (const MaxClass): SpringhelperHKFracture (const MaxClass): FractureHKDashpot (const MaxClass): DashpotHKClothModifier (const MaxClass): Havok_ClothHKWaterWSMObject (const MaxClass): WaterHKSoftBodyModifier (const MaxClass): Havok_SoftBodyHKRopeModifier (const MaxClass): Havok_RopeHKAttachToRBModifier (const MaxClass): Havok_AttachToRBHKDynamics (const MaxClass): Havok_DynamicsOKHavokReduceSelectedKeys()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()

Page 71: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

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()

Page 72: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 11: MAXScript y reactor68

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

Al escribir cualquier comando de la lista HK* seguido de un conjunto de paréntesis se crea un objeto nuevo. Por ejemplo, para crear una nueva colección de cuerpos rígidos, escriba HKRBCollection() en el Oyente. Este objeto nuevo siempre se sitúa en el origen de escena [0, 0, 0] y puede moverse con los comandos estándar de MAXScript, comorbc = HKRBCollection()rbc.position = [10, 10, 10]Los comandos de la lista Havok* devuelven o requieren parámetros. Están realacionados con los elementos de la utilidad reactor, y permiten definir y comprobar parámetros. Esto es así con todos los comandos anteriores excepto los de colisiones, como HavokEnableRigidRigidCollisions, que precisa el nombre de una colección de cuerpos rígidos y los dos cuerpos rígidos entre los que se desean activar colisiones.

Puede ver propiedades específicas de cualquiera de los objetos de reactor con el comando MAXScript showProperties, seguido de una variable. Con la colección de cuerpos rígidos 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 : integerEstas propiedades suelen relacionarse directamente con elementos en la persiana Modificar de ese objeto. Por ejemplo, en lugar de usar los botones Pick (Designar), Add (Añadir) o Delete (Eliminar) de la lista de cuerpos rígidos de la interfaz de usuario, un guión puede alterar la propiedad de matriz de nodo rigidBodiesTab del mismo modo que cualquier otra matriz de MAXScript. rbca = rbc.rigidBodiesTabrbca[1+rbca.count] = $

Esta breve sección de un guión asigna la variable rbca a las matriz de cuerpos rígidos de la colección y añade el objeto seleccionado al final de ella.

Page 73: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Definición de propiedades físicas 69

Definición de propiedades físicasLos objetos de reactor tienen propiedades físicas que pertenecen específicamente al motor de física de reactor. Estas propiedades se asignan a cualquier objeto de 3ds max como propiedades definidas por el usuario. Puede utilizar la siguiente función de MAXScript para definir las propiedades físicas 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(setUserProp o "Mass" masssetUserProp o "Elasticity" elasticitysetUserProp o "Friction" frictionsetUserProp o "Optimization_Level" optimizationLevelsetUserProp o "Unyielding" unyieldingsetUserProp o "Simulation_Geometry" simulationGeometrysetUserProp o "Proxy_Geometry" proxyGeometrysetUserProp o "Use_Display_Proxy" useDisplayProxysetUserProp o "Disable_Collisions" disableCollisionssetUserProp o "Inactive" inactivesetUserProp o "Display_Proxy" displayProxy)--if)

Ejecución de la simulaciónPuede iniciar la simulación de reactor con MAXScript llamando a la función HavokPerformSimulation(). Consulte el guión de macro relativo a la barra de herramientas de reactor para otras funciones disponibles. Este archivo de guión se llama reactor.mcr y se encuentra en la subcarpeta ui/macroscripts de la carpeta de programa de 3ds max.

Guiones de ejemploLos guiones siguientes se han incluido en este manual como referencia sobre el uso de MAXScript. En el primer guión se muestran las propiedades físicas básicas de masa, elasticidad y fricción en una barra de herramientas flotante. Con ello se muestra cómo 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:75spinner elasticity "Elasticity" range:[0,1,0.3] scale:0.01 fieldwidth:75spinner friction "Friction" range:[0,1,0.3] scale:0.01 fieldwidth:75)

function enableAll = (mass.enabled = trueelasticity.enabled = truefriction.enabled = true)

function disableAll = (mass.enabled = falseelasticity.enabled = falsefriction.enabled = false)

Page 74: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 11: MAXScript y reactor70

function updateProperties =(if bUpdate then (for o in selection do(setUserPropo "Mass" mass.valuesetUserPropo "Elasticity" elasticity.valuesetUserPropo "Friction" friction.value)--for)--if)

function updateRollout = (if 0 == selection.count then (disableAll()return false)--if

mass.value = 0elasticity.value = 0friction.value = 0for o in selection do(if not isKindOf o GeometryClass then(disableAll()return false)--ifif (undefined == (getUserProp o "Mass")) or (undefined == (getUserProp o "Elasticity")) or(undefined == (getUserProp o "Friction")) then(setHKProperties o)--if

bUpdate = falsemass.value += getUserProp o "Mass"elasticity.value += getUserProp o "Elasticity"friction.value += getUserProp o "Friction"bUpdate = true)--formass.value /= selection.count

elasticity.value /= selection.countfriction.value /= selection.countenableAll())

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 HKDynamicsFloaterHKDynamicsFloater = newRolloutFloater "reactor" 190 300addRollout HKProperties HKDynamicsFloater

callbacks.removeScripts #selectionSetChanged id:#Havokcallbacks.addScript #selectionSetChanged "HKProperties.updateRollout()" id:#Havok

Page 75: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Definición de propiedades físicas 71

El guión 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 automáticamente dos vías-- ga - matriz grupo

global tau = 15.0global 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 = ppp.tau = tau

pp.position = (o1.position + o2.position) / 2

return pp)

-- __MaxIK2reactorKConstraint-- parámetros: --rbc- colección de cuerpos rígidos--cs - resolutor de restricciones --o - cabeza de cadena de CI--function __MaxIK2reactorConstraint rbc cs o = (rbca = rbc.rigidBodiesTabrbca[1+rbca.count] = o

if undefined == getUserProp o "Mass" then setHKProperties o

-- fin de cadenaif 0 == o.children.count then return false

csa = cs.constraintsTabfor c in o.children do(

p = Point()p.position = (o.position + c.position) / 2append ga p

pp = createPointPoint o c pcsa[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)) / 3append ga ppp.position -= [1, 1, 1]pp = createPointPoint c o p csa[1+csa.count] = pppp.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 = rbcmove cs (o.position + [5, 5, 5])__MaxIK2HavokConstraint rbc cs o

join ga #( cs, rbc )

Page 76: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 11: MAXScript y reactor72

join ga cs.constraintsTab

g = group gag.name = o.name + "ConstraintGroup"setGroupOpen g true)-- * tras emplear esta utilidad, asegúrese de que todos los cuerpos-- de la colección tienen desactivada la colisión entre sí-- * véase Advanced en RBCollection-- * también añadir RBCollection y CSolver a la simulaciónutility 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.valuetwoway = cbTwoway.checkedundo on (MaxIK2HavokConstraint selection ))))

Ejecución de guiones Una vez que ha escrito MAXScripts, se guardan normalmente en archivos de texto con la extensión .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 botón MAXScript.

Con el botón Ejecutar, seleccione el archivo de guión HKPropertiesFloater.ms. Ahora puede alterar las propiedades de cuerpos rígidos en este cuadro de diálogo en lugar de en la persiana de utilidades de reactor.

Al ejecutar el segundo guión de ejemplo del archivo HKConstrainIKwithPoints.ms se añade 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 cómo debe aparecer la escena al inicio y al final del tutorial. Se llaman TutorialScriptStart.max y TutorialScriptEnd.max.

Page 77: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Ejecución de guiones 73

La primera escena contiene un modelo de cadena de esferas, vinculadas jerárquicamente en el formato estándar de 3ds max.

Figura 11.5.1

Para crear una cadena de esferas restringida a partir de una jerarquía de 3ds max:

1. Cree una escena con seis esferas dispuestas verticalmente una sobre otra. La esfera superior debe ser más pequeña que las otras y debe encontrarse mucho más alta que ellas.

2. Cree una superficie plana en la que caen las esferas durante la simulación.

3. Cree una jerarquía vinculada en la que cada esfera se vincule a la que hay sobre ella. Tenga en cuenta que sólo las esferas grandes han de tener masa y todos los objetos tienen desactivada la opción Mostar Descendientes en el panel Propiedades, por lo que los descendientes sólo se muestran una vez. Si no quiere crear la escena, puede cargar TutorialScriptStart.max.

4. Ejecute la simulación y observe como las esferas se contraen una sobre otra. Consulte la Figura 11.5.2.

5. Designe la esfera pequeña. Se trata del objeto ascendiente general.

Figuras 11.5.2 y 11.5.3

6. En la persiana Constrain IK Chain with Points (Restringir cadena de CI con puntos), establezca la fuerza de restricción en un valor situado entre 50 y 100 y presione el botón Restricciones. De este modo se crea un objeto agrupado que contiene un número determinado de restricciones punto a punto, un resolutor de restricción y una colección de cuerpos rígidos.

7. Designe RBCollection01 y desactívelo. La colección de cuerpos rígidos recién creada contiene las esferas y aparece un error si se han duplicado.

8. Ejecute de nuevo la simulación. Esta vez, las esferas penden en una cadena desde la superior, mediante restricciones punto a punto. Consulte la Figura 11.5.3.

Page 78: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 11: MAXScript y reactor74

Page 79: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Escala universalPuede utilizar 3ds max™ para modelar gran variedad de objetos. También puede usar diferentes unidades, como metros, pulgadas o unidades genéricas de 3ds max. Desde el punto de vista visual, la escala y unidades usadas no tienen importancia. Sin embargo, la representación física de los objetos depende de las unidades usadas. Las unidades determinan el tamaño del objeto en el mundo físico.

La función del plug-in Analyze World (Analizar universo) advierte si detecta el uso de valores muy extraños (gravedad muy alta, objetos muy grandes con masa muy pequeña). Sin embargo, una buena comprensión del uso de las diferentes unidades y escalas en el plug in reduce el esfuerzo necesario, y ayuda a diseñar simulaciones exactas más rápido. Este es el objetivo de esta sección.

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 opción World Scale de la persiana Advanced (figura 12.1.1).

Puede diseñar sus escenas con cualquier escala, empleando las unidades que desee. Si define como proporción que 1 unidad de 3ds max equivale a 1 metro en el mundo físico, puede controlar fácilmente el tamaño de los objetos en la simulación física.

Por ejemplo, si diseña una escena en metros con objetos del doble del tamaño que desea para la simulación, puede establecer World Scale como 1m = 2,0m.

Page 80: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 12: Escala universal76

Figura 12.1.1

Si diseña una escena en pulgadas a tamaño 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 tamaño" debe ser 19,62 m/s2 (es decir, el doble de la normal de 9,81 m/s2).

Tolerancia a colisionesUno de los procesos que se producen durante la simulación dinámica se llama detección de colisiones. Esto significa la detección de cuándo dos objetos colisionan en la escena. Un valor global de tolerancia de colisión especifica la distancia segura mínima entre objetos. Si dos objetos están más cerca de lo que indica esta distancia, se considera que colisionan. Esto hace que otro proceso, llamado resolución de colisión, reaccione aplicando fuerzas a los objetos afectados y haciendo que reboten entre sí.

En general, cuanto mayor es el valor de tolerancia de colisión, más estable será la simulación. Sin embargo, un valor demasiado alto de tolerancia de colisión puede provocar que haya huecos entre los objetos.

Debe encontrar el equilibrio entre estabilidad y efecto visual. Hay otra variable en la ecuación que también afecta a la estabilidad global del sistema. El número de subpasos tomados durante todos los pasos de simulación pueden contrarrestar el efecto de una tolerancia pequeña.

Por eso, se recomienda definir el valor de tolerancia de colisión más elevado que no afecte visualmente a la escena. Si esto parece inaceptable durante la simulación debido a las colisiones de objetos inestables, aumente el número de subpasos de la simulación.

Por ejemplo, si la escena consta de muchos objetos en una habitación, una tolerancia de 0,1m debería 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 vehículos 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.

Page 81: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Opciones de simulación avanzadasEn este capítulo se explican todas las opciones de la persiana Advanced.

Add Drag Action (Añadir acción de arrastre)La adición de una acción de arrastre al sistema asegura que los cuerpos rígidos están 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 rígidos se unan mediante restricciones, porque de otro modo el sistema de restricciones puede no reposar nunca si se perturba. Los parámetros Lin y Ang determinan respectivamente la amortiguación lineal y angular aplicada.

La acción de arrastre sólo se aplica a cuerpos rígidos, no a otras entidades.

Unyielding Bodies (Cuerpos inflexibles)Alteran las propiedades de interpolación de los cuerpos con keyframes. Consulte la página 62.

Collision Tolerance (Tolerancia a colisiones)La opción de tolerancia a colisiones indica cuánto pueden acercarse los objetos hasta que se considera que colisionan. Para más detalles, consulte la página 76.

Resolverreactor™ permite seleccionar un método de resolución de colisión (consulte la página 75) de estos cuatro: Naïve (Naif), No Friction (Sin fricción), Simple Friction (Fricción simple) o Complex Friction (Fricción compleja).

Naïve—Invierte las velocidades de los objetos que se aproximan. Resulta muy rápido, pero muy poco preciso.

No Friction—Realiza una auténtica resolución newtoniana usando los coeficientes de restitución, pero pasa por alto todos los valores de fricción de los objetos de la escena. Los objetos tienen a deslizarse a través de otros.

Simple Friction o Complex Friction—Realiza auténtica resolución newtoniana usando los coeficientes de restitución y modelos simples y complejos de fricción respectivamente. La simple exige menos recursos de procesador, pero es menos precisa.

Page 82: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Capítulo 13: Propiedades de simulación avanzadas78

Probablemente no necesitará alterar el resolutor de fricción compleja a no ser que necesite velocidad a cambio de precisión.

World Scale (Escala universal)Controla el modo en que se interpretan las unidades de 3ds max como mediciones del mundo real durante la simulación. Es decir, define la escala de los objetos físicos.

Save Before Simulation (Guardar antes de simulación)Marque esta casilla si quiere que 3ds max guarde la escena cada vez que se realice una simulación.

Analyse Wordl (Análisis de universo)El botón Analyze World permite comprobar si la escena contiene parámetros o configuraciones raros o erróneos.

Puede marcar la casilla Analyze before simulation (Analizar antes de simulación) si quiere realizar la prueba Analyze World cada vez que efectúe una simulación. Esta prueba está activada de modo predeterminado.

Key Management (Gestión de keys)En esta sección se reducen los keyframes duplicados o similares manteniendo una animación visualmente idéntica.

Page 83: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

IntroducciónLe presentamos los fundamentos físicos de Havok. Este documento pretende ofrecer una amplia descripción general de la simulación física y detalles específicos sobre cómo realiza estas simulaciones la tecnología de Havok. No queremos hablar de productos específicos de Havok, sino más bien proporcionarle conocimientos generales sobre la terminología, la metodología y el comportamiento relacionados con el motor de física Havok.

Simulación físicaLa simulación física no es un fenómeno novedoso. Desde la II Guerra Mundial se han usado ordenadores para simular el movimiento balístico (como trayectorias de proyectiles con fines militares). Colossus, uno de los primeros ordenadores de la historia, se creó principalmente para ello. Los métodos de elementos finitos (EF) y dinámica de fluidos computacional (DFC) se han usado durante décadas en el diseño industrial para simular desde pruebas de choque de vehículos hasta la corriente de aire sobre semiconductores. Estos dos métodos suelen ser muy costosos en cuanto a los recursos de UCP necesarios, ya que buscan la precisión y, por tanto, requieren cálculos altamente pormenorizados.

Ambos métodos utilizan una especie de cuadrícula que descompone el objeto o la escena simulados en porciones o elementos (consulte la figura 1) y efectúa cálculos en el nivel de elemento (de ahí que cuanto más elementos haya, más precisa será la simulación y más cálculos requerirá.)

Figura 1: Simulación de temperatura basada en elementos finitos, con indicación de un elemento.

Page 84: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice80

La mayoría de estas simulaciones de alto nivel utilizan algún tipo de condición límite o información sobre los límites de la simulación 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 sólo la aleta y establecemos unas condiciones límite teniendo en cuenta que la aleta está unida a otras piezas semirrígidas del coche: la aleta se simula aislada, simplemente por el excesivo coste de simular todo el coche con el nivel de precisión deseado. De hecho, no nos interesa toda la escena ni el sistema completo (el coche), sino sólo 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 precisión adecuada.

En otro contexto tal vez queramos observar cómo se comportan entidades que interactúan para lograr un comportamiento sistémico global, es decir, simulación de sucesos discretos cuyo interés reside en el comportamiento combinado de un sistema de sucesos durante un periodo de tiempo. Por ejemplo, puede crear una simulación 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: Simulación de sucesos discretos de empleado de banca y clientes

La serie continua de la simulaciónEn este caso no nos interesa si los distintos clientes se empujan entre sí o tropiezan con las cuerdas guía 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 estadístico 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 estadístico, pero nunca podríamos pronosticar exactamente qué le sucedería al cliente, con quién se encontraría en el banco o si resbalaría con una cáscara de plátano).

Page 85: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 81

Esto nos lleva a una serie continua de simulación física: en un extremo tenemos la simulación basada en elementos finitos, muy exacta pero también muy localizada, y en el otro tenemos la simulación de sucesos discretos, donde no interesa el comportamiento de las entidades individuales, sino el del sistema como un todo.

La simulación física de Havok está a medio camino entre ambos extremos: no nos preocupa realmente el comportamiento específico y exacto de un objeto o una subparte de un ensamblaje, pero sí queremos saber cómo interactúa y se comporta cada uno de los objetos, aunque quizá no nos interese la presión en un punto interno determinado del objeto ni la distribución 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 físicos de diferentes formas y materias con vistas a crear entornos inmersivos e interesantes.

Realismo y credibilidadEl objetivo principal de Havok es proporcionar una simulación que parezca real. En muchos casos hemos debido aceptar supuestos y tomar atajos para simular la escena tan rápido como sea posible, pero con estos atajos siempre hemos cedido en precisión, no en credibilidad. Uno de nuestros aliados es el caos.

El mundo en que vivimos es inherentemente caótico: todos conocemos el efecto mariposa (una mariposa bate sus alas en Canadá y, por una increíble sucesión de acontecimientos, provoca un tifón en la India). En el caso de la simulación física, tratamos con tantos parámetros (posiciones, orientaciones, fuerzas, velocidades, etc.) de tantos objetos que incluso el más leve cambio en la condición inicial puede provocar grandes diferencias en la simulación resultante. Esta es la razón principal de que la animación de sistemas físicos (como ropa, viento, objetos que se rompen) no suela tener un aspecto realista salvo que: a) el animador sea especialmente hábil y tenga mucho tiempo, y b) se utilice una animación diferente cada vez que se requiera el efecto. En la figura 3, un muro es golpeado en tres posiciones diferentes. En un juego se usaría una sola animación cada vez y la posición de impacto no tendría efecto en la secuencia de destrucción, creando un comportamiento irreal y no creíble.

Page 86: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice82

Se dedica una enorme cantidad de tiempo a imitar el caos en la reproducción 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 propensión a creer que jugamos en un entorno real (aunque tan fantástico como dictamine el argumento del juego).

Un motor de física proporciona este comportamiento caótico de forma predeterminada, lo que constituye el motivo principal para utilizar esta tecnología.

EscalaLa física constituye una descomunal fuente de conocimientos. Lo que nos preocupa aquí podría describirse mejor como una simulación mecánica de las interacciones de los objetos con escalas del mundo real. Trabajamos con la mecánica 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 minúsculas (subatómicas) y verdaderamente enormes (planetarias).

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

Page 87: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 83

Figura 4: Havok funciona con una escala del "mundo real" y no es adecuado para escalas subatómicas ni galácticas o planetarias.

Se han concebido nuevos sistemas de física para utilizar estas escalas (relativistas y cuánticas), pero quedan fuera del ámbito del motor de física 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 fútbol). El motor Havok utiliza como unidades predeterminadas metros y kilogramos.

Uno de los errores más 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 tamaño (básicamente un hangar aeronáutico) parecerá caer a la misma velocidad que un hangar aeronáutico que se deje caer y se contemple a 1 kilómetro de distancia: muy despacio.

Planteémoslo 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 progresión de la velocidad es la siguiente:

Tabla 1: Cálculo de la velocidad de un objeto que cae debido a la gravedad

¿Cómo se ha calculado esto? Justo al principio el objeto está inmóvil, por lo que su velocidad es de 0 m/s. Al cabo de 1 segundo, sometido a una aceleración 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 fórmula para calcular la distancia d recorrida con una determinada aceleración 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 aeronáutico) 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 física es esencial mantener permanentemente la sensación de escala.

Cambio de la escala

En la sección anterior decíamos 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 sólo los números. Sólo tenemos que procurar ser coherentes siempre. Por tanto, si trabaja con metros, asegúrese de que la gravedad está definida en metros (en el caso de la gravedad terrestre, utilice 9,8 m/s2).

Tiempo transcurrido

Velocidad Distanciarecorrida

Aceleración

0 segundos 0 m/s 0 metros 10 m/s2

1 segundo 10 m/s 5 metros 10 m/s2

2 segundos 20 m/s 20 metros 10 m/s2

3 segundos 30 m/s 45 metros 10 m/s2

4 segundos 40 m/s 80 metros 10 m/s2

Page 88: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice84

Si prefiere utilizar pulgadas, deberá recordar que TODAS las cantidades deben especificarse en pulgadas. Por ejemplo, si crea un cubo de 100 unidades de tamaño (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 física simulará una atracción 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 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 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 física 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 según convenga. No obstante, el motor Havok está concebido para funcionar con mayor precisión con los números cuya magnitud se aproxime más a 1 (es decir, los valores como 10000000 son igual de malos que los valores como 0,0000001). Por tanto, al crear objetos de tamaño 1x1x1 en escenas del mundo real, es más práctico trabajar con metros que con centímetros o kilómetros (o pulgadas/millas), dado que habitualmente se simulan objetos más grandes que terrones de azúcar y más pequeños que campos de fútbol. Por ello decimos que el motor de física utiliza metros como escalas predeterminadas.

Procure prestar especial atención a la escala, sobre todo cuando use modeladores 3D. Los modeladores suelen tener mecanismos propios para mostrar las unidades en cuadros de diálogo. Por ejemplo, 3ds max permite especificar qué unidades se utilizan y convierte automáticamente a esas unidades todos los valores mostrados, pero internamente siempre utiliza pulgadas, incluso al exportar geometría.

¿Qué hace un motor de física?Un motor de física como Havok se ocupa de tres tareas básicas:

1. Detección de colisiones: Controla continuamente los movimientos de todos los objetos de la escena y detecta cuándo colisiona cualquiera de ellos.

2. Sistema de actualización: Establece la respuesta adecuada para los objetos que han colisionado resolviendo la colisión de acuerdo con las propiedades de objeto y actualiza todos los demás objetos (los que no han chocado) basándose en las fuerzas que actúan sobre ellos.

3. Interfaz con el sistema de presentación: Una vez determinadas las posiciones de todos los objetos, normalmente hay que presentarlos. El de física informa sobre las actualizaciones al sistema de presentación 3D.

Nota: Un motor de física ni sabe ni le importa cómo se presentan los objetos que simula. Se basa en una descripción física (no gráfica) de los objetos para simular su movimiento e interacción; esta información puede usarse para generar una presentación que ejerce un control continuo sobre la simulación. Más adelante ahondaremos un poco más en esta cuestión dentro de la sección sobre objetos proxy.

Page 89: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 85

Dado que estamos tratando de la simulación en un estado de evolución continuo (en general los objetos se mueven, colisionan y reaccionan constantemente), es necesario traducirlo en una serie de instantáneas para poder generar una animación y presentarla. En el caso de los juegos el interés suele centrarse en conocer el estado del mundo 60 veces por segundo (ésta es la frecuencia con que muchos sistemas de gráficos actualizan el contenido de la pantalla). Si se trata de películas quizá prefiramos 25 fotogramas por segundo. En realidad esto significa que el motor de física debe ser capaz de hacer evolucionar el universo a razón de 1/60 de segundo (o 1/25 de segundo en las películas) conociendo el estado de todos los objetos al principio de este intervalo de tiempo y las fuerzas externas que actúan sobre ellos. Un ejemplo sencillo es una bala de cañón que quisiéramos animar a 60 Hz (Hz = ciclos o fotogramas por segundo).

Simulación de una bala de cañón

Por ahora nos olvidaremos de las colisiones y nos centraremos únicamente en la simulación de una bala de cañón inmediatamente después de dispararla. Conocemos la posición de la bala (y su orientación, pero de momento prescindiremos de ella), su velocidad, aceleración 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 balístico esperado de una bala de cañón es un arco parabólico

La figura 5 ilustra lo que queremos conseguir. Durante un periodo de tiempo, el ritmo de ascenso de la bala debería ralentizarse debido a la gravedad, para terminar cayendo al suelo tras describir un clásico arco parabólico (considerando que no hay resistencia del aire).

Figura 6: A partir de una condición determinada y conociendo las fuerzas que actúan, podemos estimar el nuevo estado de un cuerpo en movimiento

Page 90: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice86

En un punto determinado del tiempo podemos examinar el estado de la bala (su velocidad v y su aceleración a) y, conociendo las fuerzas externas que actúan sobre ella, podemos conjeturar sobre su cambio de posición transcurrido un periodo de tiempo (h segundos), como ilustra la figura 6. Esta conjetura es una combinación de diversos factores:

1. Suponemos que las leyes de movimiento de Newton rigen el movimiento de la bala.

2. Suponemos que en el periodo de tiempo h todas las fuerzas externas que actúan 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 operación con que calculamos la nueva posición es exacta.

En general, el primer supuesto suele ser correcto (salvo con escalas relativistas o cuánticas, que deben manipularse en otros sistemas). No obstante, el segundo y tercer supuesto causan problemas y están estrechamente relacionados con el periodo de tiempo h durante el que se efectúan los cálculos. A continuación estudiaremos cómo repercute el tamaño de este periodo de tiempo en la precisión de la simulación.

Pasos de tiempo

En general, las fuerzas que actúan sobre un objeto no suelen ser verdaderamente constantes (la gravedad es casi constante siempre, pero no la mayoría de las demás fuerzas, como el viento, la resistencia del aire, etc). En el ejemplo de la bala de cañón, imaginemos que en la atmósfera hay una capa de viento por la que pasa la bala, como ilustra la figura 7.

En la simulación siguiente suponemos que los pasos son de 1 segundo (en realidad un valor excesivo para una simulación física, pero adecuado para ilustrar este ejemplo). Sabemos todas las fuerzas que actúan sobre la bala en el tiempo t1, así que realizamos algunas operaciones para predecir la nueva posición y velocidad en el tiempo t2 al cabo de 1 segundo. Consideraremos que durante este periodo la fuerza del viento que actúa sobre la bala es constante. En este ejemplo calcularemos la nueva posición, que estará a cierta altura sobre la región 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 posición en el tiempo t2 la bala se encuentra en medio de la zona de viento. En esta zona, sobre la bala actúa un viento con mucha fuerza que se tendrá en cuenta durante el paso de tiempo siguiente, momento en que reevaluamos la operación y establecemos en el tiempo t3 una nueva posición para la bala que es distinta a la posición establecida en la simulación 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.

Page 91: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 87

Figura 7: Efectos de pasos de tiempo distintos en el resultado de la simulación, donde el problema principal es suponer que una fuerza constante actúa sobre el objeto durante el periodo de tiempo

En general, cuanto menor es el paso de tiempo, más 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 más pequeño t/n.

Esto también es aplicable a la operación. A medida que la simulación se vuelve más compleja, también es más compleja la operación necesaria para calcular las nuevas posiciones y velocidades de los objetos en una simulación y, en consecuencia, las resultados que se conjeturan con dicha operación son cada vez más inexactos.

Figura 8: Evolución de un sistema físico capturado en una serie de "instantáneas"

La conclusión es que deben realizarse pasos de tiempo pequeños, evaluar todas las fuerzas que actúan sobre los objetos, determinar las nuevas posiciones y velocidades (y otros parámetros) de los objetos al final de los pasos de tiempo y después volver a empezar. El resultado final es una serie de instantáneas del estado del sistema conforme evoluciona, como ilustra la figura 8.

Integradores

Como mencionamos antes, la operación se vuelve cada vez más inexacta conforme mayores son los pasos de tiempo utilizados. El motor de física implementa una rápida integración numérica 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 parámetro (por ejemplo, la posición) a partir de información como el ritmo de cambio del parámetro (por ejemplo, la velocidad). Hay diversos integradores

Page 92: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice88

disponibles. Se diferencian en la carga de la CPU y la precisión del resultado. En la tabla siguiente se resumen los integradores incluidos con el motor Havok:Tabla 2: Integradores y sus propiedades

Como podemos observar, cuanto mayor es la precisión necesaria, más potencia de UCP hace falta. Hemos constatado que en la producción de películas conviene más un integrador preciso (como RK45) y pasos de tiempo pequeños; mientras que para producir en tiempo real interesa empezar normalmente con Euler, el más rápido y menos preciso, y cambiar a un integrador más preciso sólo si la precisión no es satisfactoria. Más adelante volveremos a hablar sobre los integradores y, en concreto, acerca de sus repercusiones en la estabilidad en sistemas restringidos.

El bucle de simulaciónA continuación examinaremos la estructura de la simulación física (ilustrada en la figura 9) y cómo se integra con una presentación 3D.

Una vez establecidas las condiciones iniciales de una determinada escena, iniciamos el bucle de simulación principal, que se produce en 3 fases básicas:

1. Detección de colisiones: hay que averiguar qué objetos chocan en cada paso. Ello permitirá introducir en el sistema nuevas fuerzas de colisión y de fricción.

2. Tras ello hemos de actualizar todas las fuerzas que actúan sobre los objetos, ya sea como resultado de la detección de colisiones o a la introducción de datos desde fuera de la simulación (aquí se añadirían las entradas de un usuario en un juego en tiempo real: cuando el usuario presiona la tecla de aceleración, el vehículo conducido debe acelerar).

Figura 9: Estructura de un sistema de simulación física

3. Tras acumular todas las fuerzas, utilizamos el integrador seleccionado para determinar el nuevo estado de los objetos (posición, orientación, velocidad, aceleración etc.). Esta información se emplea para actualizar la presentación 3D.

4. Avanzamos en el tiempo según el tamaño de paso h y averiguamos si estas nuevas posiciones ocasionan colisiones entre los objetos.

Ello supone que queremos actualizar la presentación con cada paso del tiempo en la simulación. En la sección siguiente nos ocuparemos de lo que sucede en caso contrario.

Integrador Carga de UCP Precisión

Euler baja baja

Punto medio media media

Runga Kutta (RK45)

alta alta

Back Euler media media-alta

Page 93: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 89

Subpasos

Supongamos que es indispensable actualizar la presentación 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 película 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 física. Esto no suele ser problemático, pero en el caso hipotético de que la precisión de la simulación fuera insuficiente (recuerde: pasos de tiempo pequeños equivalen a mayor precisión), habría que reducir aún más los pasos de tiempo, por ejemplo a 1/120 de segundo. Como contrapartida se generarían el doble de imágenes de las que nos interesan, con el consiguiente despilfarro. Para evitarlo, el motor Havok permite especificar el número de subpasos que se dan.

El parámetro de subpasos indica el número de pasos que da el motor de física antes de actualizar la presentación 3D. Ello proporciona control sobre la granularidad de la simulación física con independencia de la frecuencia de actualización de la presentación. Por tanto, si subpasos = 0, no se realiza ningún paso físico. Con subpasos = 1, se emplea un solo paso de la simulación para cada actualización de la presentación 3D. Con subpasos = 2, se dan 2 pasos físicos y después se actualiza la presentación.

En la figura 10 hemos especificado que los pasos de la simulación física deben producirse a intervalos de 1/240 de segundo, pero que la presentación sólo se actualiza una vez cada 1/60 de segundo. Para conseguirlo hemos indicado al motor de física que utilice 4 subpasos. En consecuencia, la presentación se actualiza una vez cada 4 pasos. Mediante la definición del número de subpasos podemos controlar la precisión de la simulación física con independencia de la presentación.

Límite inferior de la UCP

Un efecto adverso e inevitable de usar una simulación física es que existe un límite inferior definido para el tiempo de UCP que puede dedicarse a la física. En cambio, no existe ningún límite inferior real para el tiempo de UCP dedicado a la presentación gráfica (suponiendo que no hay aceleración por hardware). Conforme disminuye la asignación de UCP a la presentación, basta con trazar menos polígonos, suprimir niebla o desactivar la iluminación, pero la presentación no fallará en ningún momento.

Figura 10: Los subpasos permiten disociar la frecuencia de la simulación y la frecuencia de la presentación

La física no es así. Una simulación física debe mantenerse en estado estable (asumiendo que cada resultado de la simulación depende por completo del paso de simulación anterior). Si se produce un resultado muy impreciso en un paso, probablemente el siguiente será aún más impreciso, con lo que se origina una espiral de precisión decreciente que termina con un resultado desastroso (como si la simulación hubiera explotado). Por tanto, no basta con reducir el número de objetos o desactivar la fricción para

Page 94: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice90

compensar una reducción 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.

Gestión de energía

Uno de los principales factores determinantes de la carga de la UCP en una simulación física es el número de objetos que están activos o en movimiento, es decir, simulándose físicamente. Una escena típica contiene muchos objetos que no se mueven en absoluto y que teóricamente podrían ignorarse hasta que se interactuara con ellos. La gestión de energía tiene como finalidad determinar qué objetos de una escena tienen poca relevancia y suprimirlos de la simulación física (lo que se denomina desactivar o inhabilitar el objeto) hasta que empiecen a moverse de nuevo. Las cuestiones esenciales de la gestión de energía son:

• ¿Cuándo debe desactivarse un objeto?

• ¿Cuándo debe volver a activarse un objeto?

No es fácil obtener una respuesta general para ambas cuestiones, ya que la solución 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 supresión temporal de objetos en la simulación constituye el medio más sencillo y eficaz para reducir la carga de la UCP; vale la pena experimentar con los parámetros de desactivación automática de objetos del motor Havok.

Detección de colisionesÉsta es posiblemente el área más decisiva de todo motor de física. La detección de colisiones suele acaparar más del 90% del tiempo de UCP necesario para una simulación física. Dado que nos interesan cifras elevadas de objetos que interactúan, existe el riesgo de que se dispare el número de pruebas de colisión 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 colisión). Ello requiere n(n - 1)/2 pruebas: cada objeto n se prueba con todos los demás objetos salvo él mismo (n - 1), lo que significa n(n - 1) pruebas; pero dividimos por 2 porque es igual probar si existe colisión 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 número de pruebas necesarias aumenta rápidamente. Como el motor de física necesita información detallada sobre cada colisión para poder resolverla correctamente, las pruebas de colisión en sí ya son bastante costosas.

Existen diversas maneras de acelerar este proceso:

1. Reducir el número de colisiones que requieren la generación de resultados detallados (es decir, realizar primero una prueba de colisión más simple).

2. Reducir la complejidad de los objetos que se prueban para colisión.

3. Reducir el número de objetos.

Evidentemente siempre interesa intentar la tercera opción en primer lugar. El número de objetos activos en una escena es la causa principal de la carga de la UCP. Si es posible suprimir objetos,

Page 95: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 91

la simulación es más rápida. En el caso de reducir la complejidad, la dificultad para proporcionar resultados de colisión detallados está directamente relacionada con la complejidad de los objetos en sí. Nos ocuparemos de ello en la siguiente sección. De entrada veremos cómo el sistema Havok intenta reducir el número de colisiones complejas.

Pruebas de colisión multifaseEl sistema Havok realiza una serie de pruebas de colisión, cada una de las cuales es progresivamente más 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 rápida, pero poco precisa; aunque esto no representa ningún problema mientras sea conservadora; una prueba conservadora puede indicar TRUE (verdadero), es decir, existe colisión, cuando en realidad no la hay, pero nunca indicará FALSE (falso), es decir, no existe colisión 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 continuación la prueba B, con lo que la prueba de colisión compleja se aplicará al número de pares de colisión ya reducido.

Tomemos como ejemplo las pruebas de la figura 11, que ilustran el primer pase de un sistema de colisión. En este caso empleamos cajas delimitadoras que rodean por completo los objetos que contienen. Primero comprobamos si hay cajas superpuestas (esto es mucho más rápido

que efectuar pruebas de colisión completas con formas arbitrarias) y, en caso afirmativo, dichos pares de colisión se someten a la siguiente prueba, más compleja.

De los 6 pares de colisión posibles = { AB, AC, AD, BC, BD, CD }, detectamos que sólo 2 tienen cajas superpuestas = { AB, CD } y, por tanto, sólo 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 podrían chocar. En cambio, sabemos que A y C no chocan en absoluto porque sus cajas delimitadoras no se superponen.

Figura 11: Primer pase en un sistema de detección de colisiones, con el que se intenta eliminar el mayor número posible de pares de colisión

Page 96: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice92

En la siguiente fase suele realizarse una prueba de rechazo más precisa o la prueba de colisión final (como ilustra la figura 12) para averiguar información como el punto de colisión, la normal a los objetos en dicho punto, etc., lo que requiere bastante más trabajo que limitarse a detectar la superposición de cajas.

Le alegrará saber que no tiene que preocuparse de todo esto. El sistema Havok implementa automáticamente este planteamiento de detección de colisiones multifase y crea cajas delimitadoras para todos los objetos de la simulación. El único control del usuario sobre la complejidad de las detección de colisiones está en las formas de los propios objetos. La sección siguiente versa sobre los distintos tipos de formas de objeto que se pueden utilizar para detección de colisiones y su complejidad.

Figura 12: Pruebas de colisión multifase

Cuerpos rígidos y geometrías de colisiónLa forma de los objetos que se someten a pruebas de colisión determina en gran medida la velocidad de dichas pruebas. Si se establecen supuestos sobre la forma o incluso se simplifica la geometría para las pruebas de colisión, se puede lograr un considerable ahorro de tiempo de UCP.

Uno de los primeros supuestos que asumen los motores de física es que todos los objetos de la escena son perfectamente rígidos, es decir, su forma no puede cambiar nunca. El resultado es la simulación de cuerpos rígidos. Si todos los cuerpos son rígidos, se puede aprovechar el hecho de que la geometría de los objetos no varía de un paso a otro y es posible memorizar esas formas y los resultados de colisión anteriores para acelerar la siguiente prueba que se efectúe con esos objetos. Naturalmente, esto significa que no pueden simularse los objetos hechos de tela, líquidos o cualquier material deformable. Nos ocuparemos de este tipo de objetos más adelante.

Figura 13: Algunos de los formatos geométricos que admite Havok.

Page 97: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 93

Insistir en que todos los objetos son perfectamente rígidos en una simulación física es muy negativo para el sistema (excepto en detección 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 colisión. En una colisión entre objetos totalmente rígidos se generan fuerzas muy grandes para mantenerlos separados. Este perjudicial efecto secundario debe solucionarse para lograr colisiones realistas.

En el motor físico Havok los objetos se clasifican según su forma; cada forma específica tiene propiedades específicas que facilitan su uso durante la detección 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):

• Implícito: hay una representación matemática del objeto y en ella se basa la prueba de colisión. Havok admite los siguientes objetos implícitos:

•esferas

•planos

•polígonos

• Poligonal: existe una descripción del objeto basada en los polígonos que lo forman (normalmente triángulos). A su vez, estos objetos se clasifican como sigue por orden creciente de complejidad:

•Convexo: suponga que envuelve el objeto con una hoja de celofán; si el celofán toca toda su superficie sin dejar ningún 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 sólo atraviesa una vez la superficie del objeto, éste es convexo. En la figura 14 se ilustran simulaciones de cuerpos rígidos donde se usan sólo objetos convexos.

•Cóncavo: objeto descrito por una superficie cerrada (sin huecos ni autointersecciones extrañas como las botellas Klein). Siempre se asume que los objetos cóncavos representan volúmenes, es decir, la malla poligonal que representa la superficie no contiene huecos ni resquicios).

•Sopa de polígonos: conjunto de polígonos, no necesariamente conectados, pero todos agrupados y clasificados como un único objeto. Es el formato con el que más cuesta detectar las colisiones, pero también el más general.

Figura 14: Simulaciones de cuerpos rígidos donde se usan sólo formas convexas

Page 98: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice94

En la figura 15 el pato está representado como un objeto convexo (la piel definida en la imagen inferior) y con la geometría cóncava verdadera (imagen superior).

Objetos proxy

Le alegrará saber que aunque un objeto de una simulación pueda parecer complejo, no hace falta simularlo con dicha complejidad. Por ejemplo, un chasis de automóvil presentado con paneles NURB detallados e incluyendo simetrías 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 simulación. Estos objetos simplificados que representan geometría de presentación más compleja se denominan objetos proxy o geometrías proxy. Su uso puede ocasionar la aparición de artificios; en general debe intentar que el objeto proxy se ciña todo lo posible a la geometría de presentación real.

Figura 15: Representaciones cóncava y convexa de un pato de goma

Figura 16: Objetos proxy de colisión para una forma compleja

En la figura 16 se ilustran diversos objetos proxy para una geometría compleja (el área gris irregular que consideraremos representada como una sopa de polígonos). Puede elegir la geometría proxy que prefiera para cualquier forma de objeto, pero conviene usar una geometría proxy más simple que el objeto en sí. En muchos interesa crear una geometría específica, como la de la figura 16, que es una combinación de una esfera y una caja.

El proxy finalmente elegido debe representar un equilibrio entre velocidad de colisión y precisión necesaria, y suele ser muy específico del contexto. La figura 17 refleja claramente las consecuencias de la elección; una geometría de sofá (con un número de polígonos bastante elevado) se representa con dos geometrías proxy distintas: una esfera y un conjunto de cajas. El conjunto de cajas resulta más costoso para calcular colisiones, pero la esfera tiende a rodar y seguramente no es adecuada en este caso.

Page 99: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 95

Figura 17

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

InterpenetraciónLos objetos de una simulación física se suponen macizos y (salvo en las sopas de polígonos) 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). Análogamente, al simular el mundo real un motor de física no tolera los objetos que interpenetran. Además, ello resultaría inverosímil para quien contempla la simulación, porque no espera que los objetos macizos se atraviesen entre sí. Por tanto, gran parte del trabajo del motor de física consiste en intentar evitar las interpenetraciones. Ello puede ser especialmente difícil, sobre todo cuando numerosos objetos apilados empujan hacia abajo por la fuerza de la gravedad (es casi como si intentaran interpenetrar continuamente).

Cuando Havok encuentra un par de objetos que se interpenetran, simplemente omite ese par de colisión y no busca ninguna solución inteligente: lo primero que intenta siempre es evitar que suceda. Las interpenetraciones son más frecuentes en estos casos:

• Cuando actúan fuerzas grandes sobre los objetos obligándolos 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 física tenga la oportunidad de evitarlo.

• Cuando el usuario define la posición de un objeto físico de manera que se produzca interpenetración (más detalles en las secciones siguientes).

• Cuando la tolerancia de colisión es muy pequeña. Encontrará más información al respecto en las secciones siguientes.

El paso de tiempo empleado en una simulación ejerce una enorme influencia en la capacidad del motor de detección de colisiones para detectar realmente las colisiones. Si los pasos de tiempo son grandes, pueden fallar dos factores:

La figura 18 ilustra cómo afectan los pasos de tiempo grandes a la detección de colisiones: a la izquierda se pierde por completo la colisión y a la derecha se produce una interpenetración.

Figura 18

Page 100: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice96

• Se pierden colisiones debido al efecto de la "bala a través 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.

• Interpenetración: 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 física 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 través 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 interpenetración es que la mayoría de los objetos no pueden considerarse huecos. Un error habitual es crear una caja para una habitación y empezar a colocar objetos dentro de ella pensando que se ubican dentro de la habitación. De forma predeterminada, una caja es una geometría maciza, por lo que cualquier objeto que se sitúe en su interior se interpenetrará y en caso de simulación se limitará a caer a través de la base de la caja porque el motor de física habrá desactivado las colisiones entre ésta y los objetos.

Una solución es representar la caja mediante geometría de sopa de polígonos (triángulos no conectados). Así se logrará el efecto pretendido.

Posición definida y geometría deformanteLos motores de física 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 después un sistema externo modifica la escena, el motor de física ha de actualizar su estado en consonancia. Esto no suele ser ningún inconveniente, salvo cuando los cambios de la escena alteran la estabilidad de la simulación que el motor de física intentaba mantener.

Tenemos dos buenos ejemplos en las definición 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 fácil comprobar que la definición arbitraria de la posición de un objeto en la escena de física puede ocasionar problemas:

• Si el objeto se traslada a una posición que produce interpenetración; sin más información el motor de física tendrá que desactivar las colisiones entre el objeto desplazado y el objeto al que se ha trasladado.

• Si otros objetos reposan o están 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 más grave. Al mover el objeto bruscamente, las conexiones con los otros objetos se estiran instantáneamente y el sistema puede explotar.

Page 101: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 97

Los objetos pueden quedar fuera del control del sistema de física 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 específico de estos objetos e intentará resolver la situación, 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 más 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 física. 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 generación de keyframes, no de un objeto blando bajo control físico. En circunstancias normales el resultado es una interpenetración.

Los lados de la esfera sobresalen a medida que se deforma convirtiéndose en una elipsoide, pero ello escapa al control del motor de física, por lo que da la sensación de ocurrir instantáneamente. Situaciones como ésta pueden producirse con frecuencia, especialmente cuando las mallas se

generan automáticamente (por ejemplo, en la animación de personajes, una malla de piel que rodea un conjunto de huesos se deforma con arreglo a la posición de los huesos).

Figura 19

Page 102: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice98

Para obtener un resultado correcto, el motor de física 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 tenía en el paso anterior para intentar averiguar cómo 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 geometría de un objeto puede deformarse sin su control.

Figura 20: Las colisiones de objetos sólo suelen ser detectables una vez producidas

Tolerancia de colisiónUna última aunque crucial característica del sistema Havok es su implementación de tolerancias de colisión. En las secciones anteriores sobre colisiones e interpenetración quizá haya vislumbrado que para el motor de física es bastante difícil detectar una colisión sin que se haya producido interpenetración. Como el sistema físico se basa en pasos de tiempo discretos (digamos de 1/60 de segundo), es raro que se produzca una colisión en un paso de tiempo determinado cuando 2 objetos sólo se tocan (tienen un único punto de contacto).

En la figura 20 se ilustra esta situación. 2 esferas se desplazan aproximándose entre sí. En los pasos de tiempo t1 y t2 aún están separadas, pero en el tiempo t3 se han interpenetrado. Para evitarlo, el motor Havok utiliza un sistema de tolerancias de colisión. Se trata de valores de distancia mínimos que especifican cuánto pueden acercarse los objetos antes de que se considere que han chocado. La tolerancia de colisión 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 más cercanos de ambos se utilizan como puntos de colisión.

Page 103: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 99

La figura 21 ilustra lo que sucede cuando se emplean tolerancias de colisión. En este caso las esferas tienen una tolerancia de colisión pequeña, lo cual significa que tienen un proxy de colisión, que es otra esfera un poco más grande. En el tiempo t2 cada esfera ha chocado con la tolerancia de colisión de la otra esfera (tenga en cuenta que no basta con que sólo se hayan interpenetrado las tolerancias, sino que una de las esferas debe estar dentro de la tolerancia de colisión de la otra). El sistema calcula la información de colisión, asumiendo que los objetos han chocado, y emprende la acción adecuada.

Como cabía esperar, con valores de tolerancia de colisión 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 debería estar en torno al 2% - 10% del tamaño del objeto en sí. Para suprimir la mayoría de estos artificios visuales habría que incrementar el tamaño de la geometría visual aproximadamente la mitad de la tolerancia o bien crear un proxy de colisión cuyo tamaño se haya reducido la mitad del valor de tolerancia.

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

Page 104: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice100

Configuración de la escena

La primera etapa de cualquier simulación física es la creación de la escena. Es un poco distinta de la construcción de una escena 3D sin física y está restringida por tolerancias de colisión y requisitos de no interpenetración. Si crea una escena del modo habitual, le resultará difícil colocar los objetos de manera que reposen establemente sobre otros objetos sin problemas de colisión.

Tomemos como ejemplo la creación 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 causaría problemas debido a la tolerancia de colisión mencionada en la sección anterior.

Figura 22: Creación de un apilamiento estable

Según la precisión numérica de la simulación, las caras de las cajas vecinas se clasificarían como interpenetrantes o colisionantes. De ser interpenetrantes, las cajas caerían unas dentro de otras; mientras que si fueran colisionantes rebotarían unas en otras (aunque con muy poca energía, afortunadamente). Otro planteamiento podría ser colocar las cajas de forma que las tolerancias de colisión se superpusieran pero las cajas no se tocaran, como en la figura 22 B. Esto también podría causar problemas, ya que las cajas serían propensas a mantenerse estables de momento (dependiendo de fuerzas externas como la gravedad, etc.)

Page 105: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 101

La mejor forma de solucionarlo es usar el propio motor de física. Como ilustra la figura 22 C, habría que crear las cajas separadas inicialmente una distancia superior a la tolerancia de colisión. Ahora basta con simular la escena durante un periodo de tiempo: las cajas caerán esa pequeña distancia y se asentarán en un apilamiento estable. Al final se desactivarán cuando el sistema de gestión de energía entre en acción. Tendremos un apilamiento estable desactivado y listo para guardarse. Almacene las posiciones de las cajas, podrá utilizarlas para crear el apilamiento más 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 simulación el apilamiento estará estable e inmóvil.

Unidades físicas y valoresYa hemos hablado de la escala y el cambio de unidades de medida. Sin embargo, los motores de física no se ocupan únicamente de longitudes y pesos, sino que utilizan muchas medidas distintas en un momento dado. En esta sección 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 experimentación con valores es la mejor forma de proceder al diseñar una escena. No obstante, suele ser útil recurrir a un análisis de la escena y las unidades para determinar al menos los valores esenciales necesarios para conseguir el objetivo pretendido.

Para simplificar nos ceñiremos al sistema métrico 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 razón de 1 m/s en 1 s).

• rad = radianes (1 rad = 180/pi grados, donde pi = 3,14159… ).

Nota: Algunas implementaciones de la tecnología física Havok utilizan grados como unidades de medida de ángulos. Ello se especifica claramente en la documentación adjunta.

Para interpretar las unidades descritas a continuación, 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, aceleración)

Basadas en la posición

Posición (m)

Este término se define mejor como desplazamiento o distancia.

Velocidad (m/s)

La rapidez con que se desplaza un objeto respecto a algún sistema de referencia.

Page 106: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice102

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 más difícil parar un camión que una moto aunque ambos se desplacen a la misma velocidad.

Aceleración (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 instantáneamente la velocidad de un objeto es preciso aplicar un impulso a dicho objeto.

Fuerza (N o kg m/s2)

La unidad básica de un motor de física. Es la magnitud que mide el esfuerzo necesario para cambiar la velocidad de un objeto (es decir, aplicar aceleración 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 aceleración se denominan velocidad lineal, momento lineal y aceleración lineal.

Basadas en la orientaciónLas orientaciones están entre las magnitudes a las que más cuesta habituarse. Pueden especificarse de muy diversas formas, de las cuales son bastante conocidas las matrices de transformación o ejes y ángulos, o con algunos de los numerosos estándar, como declive-oscilación-balanceo o acimut-elevación-inclinación (ilustrados en la figura 23). Lo más 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 dónde son esos 10 metros).

Figura 23: Distintas formas de especificar la orientación de un objeto en el espacio

Sistemas de coordenadas y sistemas de referenciaPara poder hablar sobre las orientaciones hemos de abordar antes los sistemas de coordenadas y los sistemas de referencia. La orientación 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 (posición). 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 posición y orientación, que constituyen lo que se denomina su sistema de coordenadas local o sistema de referencia local (es

Page 107: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 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 posición.

Figura 24: Sistemas de coordenadas local y global

Queda una última ambigüedad por resolver, que además da bastantes quebraderos de cabeza al conectar motores 3D y sistemas físicos: qué es el centro de un objeto. Si decimos "sitúe el objeto en el origen" (o sea, en la posición [0, 0, 0]), ¿dónde se sitúa 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 geometría o el modelador

• El centro de masa (CM), que depende de las propiedades físicas del objeto (como la distribución de la masa en el objeto: en un martillo un extremo es más pesado que el otro). El CM es el punto sobre el que gira naturalmente el objeto.

El motor de física siempre utiliza el CM para especificar las rotaciones y orientaciones, mientras que el motor 3D suele usar el centro geométrico o pivote del objeto definido por el modelador. En la figura 24 el centro geométrico de cada caja también se halla en el CM (justo en el centro de la caja). La posición de la caja se toma como posición de ese centro. Se muestra el sistema de coordenadas local de cada caja y éstas se definen respecto al sistema de coordenadas global.

Especificación de orientaciones

En Havok podemos especificar la orientación de un objeto mediante una rotación. Esta rotación se define con un eje o línea alrededor del cual interesa rotar y un ángulo de rotación sobre ese eje. Se emplea la rotación que llevaría el objeto desde su orientación inicial (normalmente alineada con el sistema de referencia universal) hasta su orientación actual. Tenga en cuenta que los ángulos de rotación se indican en sentido contrario a las agujas del reloj. Se trata de una norma estándar en los gráficos de ordenador, derivada del uso de la regla de la mano derecha para indicar la orientación. La regla de la mano derecha es fácil de recordar y se ilustra en la figura 25.

Figura 25: Regla de la mano derecha

Page 108: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice104

La figura 25 ilustra la regla de la mano derecha para la rotación: el pulgar se alinea con el eje sobre el que se va a rotar y la dirección en que se curvan los dedos indica la dirección en que rotará un ángulo de rotación positivo.

Con esta información podemos describir genéricamente el método de especificación de orientaciones.

La figura 26 ilustra cómo se produce una rotación dados un eje y un ángulo. La imagen superior derecha corresponde al objeto en el momento de su creación (su sistema de coordenadas local está alineado con el universal). En la imagen inferior el objeto está alineado con la orientación requerida

Figura 26: Especificación de la orientación mediante un eje y un ángulo

Orientación (Eje+ángulo)

Orientación de un objeto respecto al sistema de coordenadas universal.

Velocidad angular (Eje+rad/s)

La velocidad a la que rota el objeto, o sea, el número 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 cuánto cuesta incrementar o reducir la velocidad de rotación de un objeto.

Aceleración angular (rad/s)

Equivalente angular de la aceleración. 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 cómo 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 explicación aparte. Se expresa en Newtons metros.

Havok permite cambiar pasivamente el comportamiento de un cuerpo mediante la aplicación 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.

Page 109: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 105

Figura 27: Aplicación 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 aceleración o la velocidad de dicho objeto, pero no se introducirá más velocidad o aceleración de rotación. 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 aceleración angular del objeto. Imagínelo como si una palanca uniera el CM y el punto donde se aplica la fuerza o el impulso: es más fácil mover un objeto (o alterar su velocidad o aceleración angular) con una palanca larga que con una corta.

Propiedades físicasEstas propiedades dependen de los materiales que forman el objeto y condicionan su comportamiento en una simulación física.

Fricción (adimensional)

El coeficiente de fricción (normalmente un valor de 0 a 1) que especifica el grado de adherencia o aspereza de un objeto. A continuación se encontrará una explicación más detallada.

Restitución (adimensional)

El coeficiente de restitución (normalmente un valor de 0 a 1) especifica el porcentaje de energía cinética que se pierde durante una colisión entre dos objetos. Con un valor 0 se pierde toda la energía y los objetos parecen detenerse por completo cuando chocan. Con 1 no se pierde ninguna energía y los objetos rebotan entre sí con velocidad idéntica pero opuesta. En algún punto intermedio los objetos pierden energía con cada colisión.

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

Fricción dinámica y estática

La fricción es la magnitud que intenta impedir la separación de superficies por deslizamiento y es el factor clave para el apilamiento estable (apilamientos o montones de objetos que reposan inmóviles por la acción de la fricción en los puntos de contacto). En todas las colisiones se pierde cierta cantidad de energía debido a la fricción (y se convierte principalmente en calor).

La fricción se manifiesta en 2 formas: estática y dinámica.

Page 110: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice106

Figura 28: Fricción estática y dinámica en acción.

La piedra se mantiene fija debido a la fricción estática hasta que se le aplica una fuerza suficiente que elimina el contacto (en este caso elevando el tablón); tras ello la piedra empieza a deslizarse y entra en acción la fricción dinámica, que actúa contra el deslizamiento generando calor.

En la figura 28 se ilustra un ejemplo de fricción estática y dinámica. En Havok no tiene más que definir un único coeficiente de fricción y el motor gestiona automáticamente la transición entre los modos de fricción.

Pasos siguientesHemos abordado sucintamente los conceptos principales de la simulación física. Evidentemente se trata de un tema muy amplio sobre el que hay mucho que aprender, pero esto debería bastar para ayudarle a comprender la documentación de Havok, tanto sobre reactor™ como sobre otros productos Havok. Conscientemente hemos procurado no abarcar todas las áreas de la tecnología física de Havok para centrarnos en los principios generales que sustentan toda simulación. Ahora describiremos someramente algunas de las otras tecnologías físicas disponibles con el motor Havok.

Figura 29: Sistemas restringidos en acción

Dinámica restringidaMuchas veces interesa construir sistemas físicos 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 específica (la longitud de reposo).

• Dashpots: Muelles rígidos.

• Sistemas de coordenadas reducidos: Los sistemas de cuerpos rígidos no se simulan por separado, sino como un gran sistema simultáneo. Algunas restricciones de coordenadas reducidas son bisagras, juntas de rótula, articulaciones prismáticas y juntas universales.

Page 111: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice 107

Las restricciones son necesarias para crear cualquier sistema dinámico, como un chasis de automóvil o una locomotora. Las fuerzas aplicadas a un objeto se aplican instantáneamente a todos los objetos conectados a él, de manera que cuando el pistón 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 máquina de agua de la derecha utiliza diversas restricciones para crear el mecanismo de empuje hidráulico.

Dinámica de cuerpos no rígidosHasta ahora hemos supuesto que todos los objetos son rígidos (su geometría o su forma no cambian durante la simulación). Para poder simular objetos flexibles, tela, cuerdas o líquidos hay que prescindir de esta limitación. Casi todo lo que hemos explicado antes sigue siendo aplicable, salvo los detalles de la detección de colisiones. En el caso de los objetos deformables, la detección de colisiones es mucho más difícil, ya que un objeto puede cambiar de forma radicalmente entre pasos de tiempo y además intentar chocar consigo mismo (el coste de prevención de la interpenetración 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 (cortesía de Blizzard Entertainment); (b) un trozo de tela se desliza por la cabeza de un maniquí; (c) burbujas sobre una superficie dura; (d) simulación de una piscina donde flotan una balsa y un pato de goma.

Page 112: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Apéndice108

Page 113: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

AmortiguaciónAmortiguar significa reducir la energía de un muelle o un cuerpo flexible de manera que las fluctuaciones de su forma disminuyan con cada oscilación.

Analizar universoLa función 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 función Analyze World detecta esos valores y le avisa. El botón Analyze World se halla en la persiana Advanced.

Caja delimitadoraUna caja delimitadora es una caja que rodea un objeto para dotarlo de una geometría convexa. Con una caja delimitadora puede asignar geometría convexa a un objeto que se ve cóncavo. La opción Use Bounding Box se encuentra en la persiana Properties.

Calidad de texturaLa calidad de textura indica el grado de detalle de las texturas que se emplean en la presentación. Puede ser 256x256, 128x128 o 64x64. Cuanto más detalladas sean las texturas, más lenta puede ser la presentación.

CámaraEl botón Camera de la persiana Display sirve para seleccionar una cámara de presentación. La escena de la ventana de presentación de reactor™ se ve desde la cámara seleccionada. Si no se define ninguna cámara, reactor utiliza la cámara inicial predeterminada.

Casco convexo malladoLa opción Casco convexo mallado se halla en la persiana Properties. Utilícela para rodear un objeto cóncavo con una envoltura invisible (casco convexo mallado). Con ello reactor tratará el objeto como si fuera convexo durante la simulación.

Casco convexo optimizadoEl casco convexo optimizado (optimized convex hull) suele aplicarse a objetos cóncavos. El casco convexo de un objeto se optimiza para la simulación reduciendo la triangulación. La opción Optimized Convex Hull se halla en la persiana Properties.

Page 114: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Glosario110

Casco convexo ProxylUn casco convexo proxy (proxy convex hull) es el casco convexo de un objeto de simulación 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 sección Simulation Geometry de la persiana Properties.

Coche de jugueteToy Car es una función de reactor que facilita la creación rápida de coches y otros tipos de vehículos.

Colección de cuerpos flexiblesTérmino que describe un conjunto de cuerpos flexibles o blandos. Para que los resolutores se apliquen a un objeto flexible es preciso incluirlo en una colección de cuerpos flexibles.

Colección de cuerpos rígidosColección de cuerpos rígidos es un término especial que describe un conjunto de objetos rígidos o duros. Los cuerpos rígidos deben incluirse en una colección para que reactor les aplique resolutores.

Colección de entidadesLas entidades son los componentes principales de una simulación y se agrupan en colecciones de entidades. Una colección de cuerpos rígidos es un ejemplo de colección de entidades.

Colección de mallas deformablesUna colección de mallas deformables (creada con la opción DMCollection) es un conjunto de objetos deformables que permite asignar distintos resolutores para determinar su movimiento en una simulación.

Colección de telasTérmino con el que se designa un conjunto de objetos de tela. Las telas deben incluirse en una colección con el fin de que puedan calcularse para las simulaciones.

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

CóncavoUn objeto cóncavo es aquél que no supera una prueba de convexidad. La mayoría de los objetos del mundo real son cóncavos. Los objetos cóncavos pueden tener agujeros, cavidades y geometrías no cerradas. Espirales, teteras y lavabos son objetos cóncavos.

ConvexoUn objeto es convexo si es posible trazar una línea recta entre cualquier par de puntos interiores sin salirse del cuerpo. Cilindros, esferas y cajas son cuerpos convexos.

Cuerpo flexibleUn cuerpo flexible es un objeto cuya forma es deformable como reacción al impacto de fuerzas y otros objetos en una simulación.

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

Page 115: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Glosario 111

Cuerpo rígidoUn cuerpo rígido es uno de los tipos de objeto más básicos. Los cuerpos rígidos 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.

Cuerpos rígidos compuestosLos cuerpos rígidos compuestos son cuerpos rígidos formados por más de una primitiva. Para construir un cuerpo rígido compuesto, use la función de 3ds max que agrupa varias primitivas. Los cuerpos rígidos compuestos resultan útiles cuando la densidad del objeto que se quiere modelar no es uniforme o si el objeto es cóncavo pero puede descomponerse fácilmente en varias primitivas convexas.

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

Dashpot angularUn 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.

Dashpot linealLos dashpots lineales son muelles muy amortiguados. Sirven para restringir el movimiento de los objetos con referencia a un punto o a otro objeto.

Deformación de forma libreDeformación 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 más velocidad para resolver sus reacciones.

DensidadEn 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 líquido. La densidad de un objeto se calcula automáticamente 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.

DesactivadorUn desactivador sirve para indicar al motor que suprima un objeto de una simulación cuando su nivel de energía haya descendido hasta un nivel determinado.

DisplayLa persiana Display contiene los parámetros básicos que controlan la simulación de la presentación preliminar de reactor. En la persiana Display se seleccionan las cámaras y luces adecuadas, así como la calidad de la textura de la presentación preliminar.

ElasticidadEl coeficiente de elasticidad de un cuerpo rígido es el factor que determina la relación de la velocidad del cuerpo antes y después de una colisión.

Page 116: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Glosario112

Esfera delimitadoraUna esfera delimitadora es una esfera que rodea un objeto para dotarlo de una geometría esférica. Tras ello el objeto se trata como una esfera perfecta que contiene su geometría original. La opción Use Bounding Sphere se encuentra en la persiana Properties.

FricciónLa fricción 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 fricción asociada a un objeto.

Fricción dinámicaLa fricción dinámica es la fricción asociada a un objeto en movimiento. Mide la resistencia entre dos objetos que se rozan.

Fricción estáticaLa fricción estática es la fricción asociada a un objeto mientras está en reposo. Mide la resistencia ante una fuerza externa que tiende a deslizar un objeto sobre otro.

Geometría/malla optimizadaLas geometrías optimizadas son aquellas que se han triangulado menos con el fin de acelerar la simulación o la presentación. Las opciones de optimización se hallan en la persiana Properties. La opción Optimized Mesh sirve para sustituir la geometría de un objeto convexo por una versión optimizada de dicha geometría.

Longitud en reposoLa 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.

LucesLas luces se seleccionan en la sección Lights (Luces) de la persiana Display. Si no se selecciona ninguna luz, se utiliza una luz predeterminada desde la misma posición que la cámara. En una simulación pueden emplearse hasta seis luces.

MallaLa función Use Mesh (Usar malla) establece el uso de la malla propia de un objeto para la simulación.

Malla deformableUna 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 rígidos forman los huesos.

Malla proxyUna malla proxy es una malla o geometría que puede sustituirse por la geometría real durante la simulación de un objeto. Este objeto proxy puede ser cóncavo o convexo, sea como sea el cuerpo original.

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.

Page 117: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Glosario 113

Mouse SpringEn la ventana de presentación de reactor puede usarse el ratón para interactuar con la simulación. Es posible hacer clic con el botón derecho en un objeto y trasladarlo a otra posición. El muelle de ratón (mouse spring) es un muelle virtual entre el puntero del ratón y el objeto en la escena. Cuanto mayor es la fuerza del muelle, más fácil resulta mover los objetos. Los parámetros de muelle de ratón se hallan dentro del grupo Mouse Spring en la persiana Display.

MuelleUn muelle es una conexión elástica entre dos objetos. El sistema de muelle se usa en reactor para restringir los movimientos de los objetos.

Panel de comandosUn panel de comandos presenta un conjunto de botones y campos relacionados. Lleva una pestaña identificadora en la parte superior para facilitar la selección. 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, Jerarquía, Movimiento, Presentación y Utilidades.

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

PasosUn paso es un solo paso de simulación de reactor, que puede contener a su vez varios subpasos para incrementar la precisión de la simulación. Existe una correspondencia uno-a-uno entre los pasos y los keyframes de 3ds max.

Persiana AnimationLa persiana Animation contiene los parámetros de animación básicos. Use la persiana Animation para especificar los fotogramas inicial y final al crear keyframes de 3ds max™ , además del número de fotogramas por segundo.

PlanoUn 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 estándar, el de reactor no requiere especificar una malla cóncava.

Presentación preliminar en ventanaEl botón Preview In Window le permite ver la escena e interactuar con ella en tiempo real dentro de la ventana de presentación de reactor. El botón Preview In Window se halla en la persiana Display.

ProxiesLos proxies son objetos cuya geometría se usa para sustituir la de otro objeto. Un sustituto puede utilizarse al presentar o simular un cuerpo. Para simular un cuerpo también puede emplearse el casco convexo de un objeto proxy. Las opciones de proxy se hallan en la persiana Properties.

Page 118: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Glosario114

Proxy de presentaciónEn la persiana Properties se puede asociar un objeto a otro. En una simulación se presenta el objeto asociado en lugar del original. Proxy de presentación es el término con el que se representa el objeto asociado.

Prueba de convexidadEl botón Test Convexity de la persiana Properties realiza una prueba para comprobar si un objeto es convexo.

ResolutorUn resolutor es una función que calcula las reacciones de un cuerpo cuando se incluye en una simulación. Los resolutores actúan sobre colecciones de objetos; existen distintos tipos de resolutores para los distintos tipos de objetos.

RigidezLa 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.

SombrasLas sombras pueden verse en la ventana de presentación de reactor. Sólo las luces que inciden en un plano pueden proyectar sombras.

SimulaciónUna simulación es una presentación preliminar de la escena o la animación. Para realizar una presentación preliminar de la escena, presione el botón Preview In Window de la persiana Display. Si modifica las propiedades asociadas a la animación en la persiana Animation, deberá presionar el botón Perform Simulation para volver a compilar la animación.

SistemaLos sistemas son restricciones que actúan sobre los objetos en una simulación. Los sistemas pueden cambiar las propiedades de los objetos y controlan las relaciones entre ellos.

SubpasosLos subpasos son pasos dentro de otros pasos. El incremento del número de subpasos de un paso aumenta la precisión de la animación.

TelaMalla bidimensional de triángulos que se aplica a objetos como tejidos, capas, láminas de metal y otros cuerpos planos o plegables.

ViscosidadEn 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.

Page 119: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Números3ds 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

jerarquía 73jerarquía interna 11

AAcción

fractura 56, 57viento 54

Acciones 53añadir 54fractura 54, 56motor 54, 56viento 53, 54

Aceleración 88, 101, 105angular 104por hardware 89

Aceleración lineal 102Acimut-elevación-inclinación 102Add (Añadir), botón 8, 23, 29, 46, 50, 57, 68Add (Añadir),botón 35Add Drag Action (Añadir acción de arrastre) 77Adimensional 105Advanced (Avanzadas), persiana 11, 23, 24, 62, 63, 75,

77, 109, 110, 113Agrupar

función 17Agua 37, 39

añadir 37, 38animación 39definir propiedades 37deformación 39densidad 37, 38

enlazar 37horizontal 38movimiento 39parámetros 38resistencia 39rizo 38subdivisiones 38velocidad de onda 38viscosidad 39

Aleta 80Algoritmo 87Allow Wheel Penetration (Permitir penetración de las

ruedas) 50Amortiguación 21, 42, 109Añadir, desactivador 12Analyze before simulation (Analizar antes de simula-

ción)casilla de verificación 78

Analyze World (Analizar universo) 50, 75botón 78, 109función 109prueba 78utilidad 46

Ancho de banda de UCP 90Ang

parámetro 77Speed 56

Angular Strength (Fuerza angular) 51Angular, amortiguación 77Ángulo 102, 103Animar, botón 61Animation (Animación)

11, 20, 24, 32, 39, 57, 59, 60, 61, 62, 63, 78, 81, 82, 85barra 60, 61física, creación 59

Page 120: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice116

keyframes 59persiana 60, 61, 64, 113, 114personajes 62, 97renderizada 11sección 61sencilla, creación 59

Apilamiento 96estable 101

Aplicación de texturas 10Aplicación de un proxy a un grupo 18Aproximación superficie, persiana 32Árbol de restricciones de Reactor 71Arco parabólico 85Argumento de juego 82Arrastre, acción 77Articulación prismática 106Artificio 94, 99Asignación de UCP 89Asignación de un material 10Atmósfera 86Atracción gravitatoria 84, 105Attach to Rigid Body (Asociar a cuerpo rígido)

modificador 45, 49restricción 48

Autointersección 93Avoid Self-Intersections, opción 29, 30Ayuda, menú 65Ayudantes, icono 8, 42, 43Ayudantes, menú desplegable 8, 42, 43Ayudantes, opción 25, 35

BBack-Euler 12, 88Background Color (Color de fondo), opción de menú 4Bala de cañón 85, 86Barra de herramientas flotantes 69Barra espaciadora 61Bend 30Bisagra 106Blizzard Entertainment 107Botón

derecho del ratón 44Más 2

Bounding Sphere (Esfera delimitadora) 60Box Faces (Caras de caja), botón circular 25Break after collision (Romper tras colisión) 57Break during collision (Romper durante colisión) 57Bucle de simulación 88Buoyancy (Empuje) 27, 29

propiedad 37, 111

CCadena de CI 71Caja delimitadora 16, 91, 92, 109Cálculo 79, 86Calidad de textura 109Calor 105Cámara con objetivo, icono 9Cambio de la escala 83Camera (Cámara) 5, 28, 35, 38, 48, 114

añadir 3, 9botón 109

Camera Setting (Configuración de cámara), opción de menú 4

Caos 81, 82Carga de UCP 88, 90Cargar IU personalizada, opción 3Casco convexo 16, 19Cast Shadows (Proyectar sombras), casilla de verifica-

ción 5Cast Shadows on Plane (Proyectar sombras en plano),

opción 6Centímetro 84Centro de masa 103Centro geométrico 103Chasis 50

automóvil 94, 107botón 50

Cheap (Barato), resolutor 46CLCollection (ColecciónRopa), botón 29CM 103, 105Coche 49, 50, 80Coeficiente de amortiguación 23, 28, 35Coeficiente de fricción 10, 23, 28, 35, 105, 106Coeficiente de restitución 77, 105Colección 12, 39, 46, 62, 81

símbolo 23Colección de cuerdas 33

añadir cuerdas 35creación 35

Colección de cuerpos flexibles 21, 22, 23, 24, 25, 111añadir objetos 21creación 21opciones avanzadas 24

Colección de cuerpos rígidos 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

adición de cuerpos 8creación 7propiedades 11símbolo 8

Colección de entidades 7, 27, 29, 110

Page 121: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 117

Colección de mallas deformables 110Colección de mallas deformantes 62Colección de telas 27, 29, 31, 48, 54, 110

adición de cuerpos 29añadir objetos 27creación 27

Colecciones, creación 3Colisión 57, 62, 68, 84, 88, 90, 93, 94, 95, 96, 98, 99, 100,

105compleja 91detección 93realista 93

Colisiones 24, 49Collision resolution (Resolución de colisión) 76, 77Collision Tolerance (Tolerancia de colisión) 77, 110Collision Tolerance (Tolerancia de colisión), opción 110Comando 68

MAXScript 65, 68, 69setUserProp 69showProperties 68showProperties rbc 68

Common Local Orientation (Orientación local común) 50

Complejidad de los objetos 90Complejidad de malla 61Complex force (Fuerza compleja) 30

model 30Complex Friction (Fricción compleja), resolutor 77Comportamiento 81

caótico 82estadístico 80individual 80

Compresión y expansión 23Compuesto booleano 60Cóncava, malla 22Concave (Cóncavo) 11

persiana de propiedades 17Cóncavo 15, 22, 60, 93, 110

objeto 17, 19Condición

inicial 81límite 80

Condición inicial 88Conexión elástica 41Conform to Shape (Adaptar a forma), botón 26Conjunto de fractura 54Constrain Deformation (Restringir deformación) 29, 32Constrain IK Chain with Points (Restringir cadena de

CI con puntos), utilidad 73Constraint (Restricción) 34Construcción de cuerpos rígidos compuestos 17

Convex (Convexo) 11Convexo 15, 60, 93, 110

objeto 13segmento 17

Coordenadas 3D 102Corriente de aire 79Creación

de telas sencillas 28de una escena 3, 8de una tela 27

Crear, menú 35Crear, panel 38, 47Crear, panel de comandos 42, 43, 113Create (Crear), panel 23Credibilidad 81CSolver 46CSolver, sistema 56Cuadrícula 79Cuadro de diálogo 72, 84Cuerda 33, 34, 45, 107

compresión 35creación 33estirar 34expansión 35fricción 35fuerza 34grosor 34masa 34modelo basado en muelles 33modelo basado en restricciones 33resistencia al aire 35rigidez 34superficie 35tipo 35

Cuerpocompuesto 54con keyframes 59, 77físico 62que se fractura 57

Cuerpo flexible 21, 23, 24, 25, 27, 45, 48, 49, 53, 61, 107, 110

asignar propiedades 21creación 22FFD 24fijación 24masa 22propiedades 21, 22, 61rigidez 23

Cuerpo inflexible 59, 62, 77, 110Cuerpo rígido 7, 8, 9, 17, 20, 21, 24, 28, 31, 35, 38, 42, 45,

48, 53, 54, 63, 77, 92, 93, 106, 111

Page 122: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice118

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

DDamping (Amortiguación) 6, 45Damping (Amortiguación), parámetro 30Dashpot 41, 42, 44, 45, 106, 111

añadir 41, 44angular 42, 44, 111coherencia 44fuerza 45fuerzas 44lineal 42, 44, 112longitud de reposo cero 42propiedades 41puntos establecidos 44

Datos físicos 59Deactivator (Desactivador)

Samples (Muestras), opción 12Time (Tiempo), opción 12

Declive-oscilación-balanceo 102Dedo 104Define Collision Pairs (Definir pares de colisión) 12Define Collision Pairs (Definir pares de colisión), op-

ción 12Deformación 29, 62

de forma libre 24, 111fuerza de escala 39

Delaunay, casilla 32Delete (Eliminar), botón 68Delete Keyframes (Eliminar keyframes), botón 63Delete Now (Eliminar ahora), botón 63Densidad 17, 39, 50, 112Desactivación 90Desactivación de colecciones 11, 24Desactivador 12, 39, 111Desactivar 39Designar, botón 35Detección de colisiones 26, 50, 76, 84, 88, 90, 92, 93, 95,

107multifase 92

Dinámica de cuerpos rígidos 107Dinámica de fluidos computacional 79Dinámica de reactor 2, 8, 29, 35, 38, 42, 46, 47, 50, 54, 56,

62, 113Dinámica de telas 30Dinámica restringida 106Disable All Collisions 62

Disabled (Desactivado) 51casilla 11lista 12

Diseño industrial 79Display 6, 11, 111

menú 4persiana 5, 6, 9, 44, 60, 109, 111, 112, 113, 114

Display Children (Mostrar descendientes), opción 11Distance (Distancia) 31

mínima 76, 98Distribución del calor 81DMCollection (ColecciónMD), botón 62DMCollection (ColecciónMD), opción 110Do not affect rigid body (No afectar a cuerpo rígido),

opción 49Documentación 106

EEcuación diferencial 87

ordinaria 11Edges, opción de menú 4Editor de materiales 10Efecto

bala a través del papel 96especial 37especiale, menú 38mariposa 81visual 76

Eje 102, 103giro 50rotación 47, 54, 56

Ejecución de una simulación 10Ejecutar, botón 72Ejes

de ruedas 50Elasticity (Elasticidad) 7, 9, 10, 69, 111Elemento 54, 68, 79

finito 79Elipsoide 97Enabled (Activada), lista 12End 63End Frame (Fotograma final) 60, 61, 63Énea He (Activar refugio), opción 55Energía 12, 30, 42, 57, 100, 105

cinética 105Energy Loss 57Enlazar a efecto especial, icono 39Ensamblaje 81Entidad 12, 77, 80, 81, 110Entorno 85

Page 123: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 119

Entorno real 82Entrada 88Escala 75, 82, 83, 84, 86

metros 84mundo real 82tiempo 60

Escenas 27, 35, 42, 49, 81, 1003D 100física 96mundo real 84

Esfera 93delimitadora 16, 112

Espacio 41, 102cuerpo 44, 56disco 63universal 24, 29, 45, 47, 50

Especificación de la orientación 104Estabilidad 50, 76, 88

simulación 96Estado 85, 87, 88, 96, 100

estable 89Estructura de la simulación 88Euler 12, 88Evolución 87Expensive (Caro), resolutor 46Exploración de una simulación 10Extremo

fijo 33libre 33

FFaces (Caras), opción de menú 4Factores 86FFD 24, 25, 61, 111

animación 61Caja, lados 25cambio de la configuración 26malla 26, 61modificador 21panel de selección 25selección de malla 25

FFD Soft Bodies Only (Sólo cuerpos flexibles FFD), res-tricciones 49

FFD-Based (Basado en FFD), botón 25Fijación 24Física 11, 24, 59, 62, 82, 89, 97

Havok 101, 106Fixed Step (Paso fijo), opción de menú 4Fluidos 37Fold Stiffness (Rigidez de plegado) 30, 31Forma 92, 94, 98, 107

original 93Formas 47

ficha 33Fotograma 26, 60, 61, 89, 96Fractura simple 54Fracture (Fractura) 53Fracture Properties (Propiedad de fractura) 57Frame (Fotograma), cuadro 26Frames/Key (Fotogramas/Key), valor 60Frecuencia de actualización de la presentación 89Frecuencia de la simulación 89Freeze (Congelar), casilla de verificación 63Frequency (Frecuencia) 55Friction (Fricción) 7, 9, 10, 17, 21, 69, 89, 105, 112

dinámica 105, 112estática 10, 105, 112por deslizamiento 10

Fuerza 45, 49, 51, 56, 76, 81, 84, 86, 88, 95, 97, 101, 104, 105, 106

colisión 88correctoras 51externa 82, 85, 86, 100fricción 88giro 44grande 93, 95viento 53, 85, 86

Función 69Fundamentos físicos de Havok 79

GGain (Ganancia) 56General (General), resolutor 46Geometry (Geometría) 26, 84, 92, 94, 96, 98, 103, 107

colisión 92cóncava 94deformante 96maciza 96menú 4, 15, 16optimizadas 19presentación 14, 16, 94presentación compleja 94proxy 94Sim Edges (Aristas sim), opción 20simulación 14, 15, 22, 60visual 99

Gestión de energía 90Get from / Set to Material (Obtener de / Definir en ma-

terial) 10Get From Material (Obtener de material) 10getUserProp, comando 69Glosario 109

Page 124: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice120

Grado 101Gráficos de ordenador 103gran 106Granularidad 89Gravity (Gravedad) 75, 76, 83, 84, 85, 86, 95, 100

opción de menú 4Grupo, menú 18Grupos 17Guión 65

ejemplo 69macro 69

Guionado, movimiento 62

HHangar aeronáutico 83Havok 81, 83, 85, 95, 97, 103, 104, 106

productos 79Havok*, lista 68HavokPerformSimulation 69Hélice, forma 34Helpers (Ayudantes) 113

opción 23HK*, lista 68HKRBCollection 68Hoja

celofán 93ventilador 107

Hueco 93, 96Huesos 62, 97

IIcon Orientation (Orientación del icono) 50Ignore Collisions (Omitir colisiones), opción 49Iluminación 89Imágenes 89Implícito 93Impulso 54, 57, 97, 102, 104

angular 104Incorporación de luces 9Información

exportada 19textura 57

Instantánea 85, 87Integración numérica 87Integrador 45, 87, 88

preciso 88Interacción 84interacción 84Interfaz

con el sistema de presentación 84usuario 68

Internal Substeps (Subpasos internos) 50Interpenetración 12, 13, 95, 96, 98, 99, 100Interpolation (Interpolación) 62

propiedad 77Intervalo de tiempo 85, 87Iteraciones de subdivisión 24

JJerarquía de vínculos 73Juego 81, 82, 85

tiempo real 88, 89Junta

angular 107rótula 47, 106universal 106

KKeyframe 1, 24, 50, 59, 60, 61, 63, 78, 97, 113

borrar 61redundante 63

Keystone (Clave), piezas 57Kilogramo 83, 101Kilómetro 84

LLenguaje de generación de guiones 65Leyes de movimiento 82Leyes de movimiento de Newton 86Lighting, Shadows (Iluminación, sombras), opción de

menú 4Lights (Luces) 5Límite inferior 89Lin, parámetro 77Línea 103Lineal

amortiguación 77valor 76

Linear Strength (Fuerza lineal) 51Líneas de cuadrícula 31Líquido 92, 107Local 56Locomotora 107Longitud 101Longitud de reposo 76, 111Luces

añadir 3Luces y cámaras, ficha 9Luz 28, 35, 38, 48, 112

MMacizo 95Magnitude (Magnitud) 55

Page 125: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 121

Malla 17, 19, 24, 25, 27, 30, 31, 32, 38, 48, 60, 61, 62, 97, 109deformable 112deformante 62, 96, 97, 98deformante, congelar 63deformante, Updates/Frame 63grande 31poligonal 93proxy 112sencilla 24

Máquina de agua 107Margen de error 80Mass (Masa) 7, 9, 10, 17, 21, 28, 34, 39, 49, 56, 61, 69, 73,

75, 105, 112cero 10distinta de cero 61

Materia 105Material 39, 105

deformable 92Matriz de transformación 102Max Mouse Mode (Modo de ratón de Max) 4Max, menú 5, 32, 64MAXScript 65, 69, 72

botón 72definición de propiedades físicas 69ejecución de guiones 72ejecución de la simulación 69función 69matriz de 68menú 65persiana utilidades 72

Mayor precisión 88Mecánica de Newton 82Memoria 63Menú cuad 2Mesh Convex Hull (Casco convexo mallado) 109

opción 109Mesh Select (Seleccionar malla), modificador 54Metodología 79Metro 75, 83, 101Midpoint 12Milla 84Min. Energy (Energía mín), campo 12Min/Max, barra 16, 17Modelador 84, 103

3D 84Modelo 80

automóvil 41, 49fuerza 30restricción 35

Modificadores, persiana 68Modify (Modificar) 48

ficha 8, 23, 35, 38, 43, 46panel 11, 24, 25, 28, 50, 61persiana 34sección 22, 45, 48, 56

Modify Branch (Rama de modificadores), opción 5Modify Properties (Modificar propiedades), persiana 45Modo de presentación preliminar 37Molino de viento 56Momento 57, 102, 104

angular 104lineal 102

More... (Más...) 48Mostrar Descendientes, opción 73Motor 53, 56

3D 103acción 54, 56Havok 83, 84, 88, 89, 90, 98, 106símbolo 56

Motor de física 69, 82, 83, 84, 85, 89, 90, 92, 95, 96, 97, 101, 102

Havok 79, 83, 93Mouse spring (Muelle de ratón) 6, 23, 113

parámetros 113Movimiento 62, 84, 86, 87, 105

balístico 79keyframes 62

Muelle 35, 41, 42, 43, 44, 45, 76, 96, 106, 111, 113acción de contracción 42acción de extensión 42actuar en compresión 44actuar en extensión 44amortiguación 42, 44añadir 41, 42compresión 44extensión 44fuerza 43hookeano 42longitud de reposo 42, 44presentación preliminar 44propiedades 41, 42, 43rigidez 42, 44, 45

Mundofísico 75real 95

NNaïve (Naif), resolutor 77Newton 101Newtons

metros 104segundos 102

Page 126: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice122

Niebla 89No Friction (Sin fricción), resolutor 77Nodo 20

descendiente 20Non 24None (Ninguno), botón 9, 11, 26, 43Non-Selected Are Fixed (No seleccionados=fijos), op-

ción 24, 29, 49, 54Normal 92

pieza 57Normalizar spline 34NURB 94Nurbs, panel de modificador 32

OObject Type (Tipo de objeto), persiana 8Objeto 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 90animación 59apilado 99ascendiente 73blando 97centro 103complejo 20comportamiento 41cóncavo 93convexo 93deformable 107desactivación 90forma 92implícito 93interpenetración 95malla 16poligonal 93propiedades físicas 1proxy 11, 16, 84, 94que se rompe 81reactivación 90sencillo 20sofá 95sopa de polígonos 93superficie 93toy car (coche de juguete) 49tratar como cóncavo 16tratar como convexo 14warp 97

Objetosaplicación de propiedades físicas 3colisión 93

de composición 17desactivar 12no fijos 10proxy 94que contienen otros objetos 16simplificados 94

Omitir colisiones 48Ondas 37, 38Opciones de simulación avanzadas 77Operación 86Optimización 15Optimizar, modificador 19Optimized Convex Hull (Casco convexo optimizado)

109opción 109

Optimized Geometry (Geometría optimizada) 113Optimized Mesh (Malla optimizada), opción 112Orientación 41, 42, 44, 50, 62, 81, 85, 88, 96, 102, 103

actual 44inicial 103

Origen 102Origen de escena 68Oscilación 35Oyente de MAXScript 65

PPalanca 105Panel de comando 113

Crear 73Panel de reactor 2Panel de vista 35, 43Panel, Crear 8Paneles de vista 10, 14, 16, 43, 46, 54, 64Par 104Par de colisión 90, 91, 95Parámetro 87

subpasos 89Parámetros 81, 87, 90

avanzados 32erróneos 78

Pasar por alto colisiones 62Paso 88, 92, 98, 113

físico 89integración 24integración interno 31simulación 60, 76, 89tiempo 45, 64, 86, 87, 88, 95, 98, 107

Película 85, 89Perform Simulation (Realizar simulación) 60, 61

botón 114Periodo de tiempo 86

Page 127: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 123

Personaje 82Personalizar, menú 3Perturb Speed (Perturbar velocidad) 55

casilla de verificación 55Perturb Time (Perturbar tiempo), casilla 55Peso 101, 105Physics (Física), menú 4Pick (Designar), botón 6, 9, 23, 29, 46, 68Piedra 106Piel 97

huesos 62malla 62modificador 62

Pistón 107Pivote 47, 103Planetaria 82Plano 93, 113Plano de reactor 113Platino-iridio 105Play/Pause (Reproducir/Pausa), opción de menú 4Pliegue colineal 32Plug-in 3, 6, 7, 53, 75Point-Path (Punto a recorrido) 47Point-Point (Punto a punto), opción 46Poligonal 93Polígono 31, 89, 93, 94Posición 35, 41, 62, 81, 84, 86, 88, 95, 96, 97, 101, 102

definida 96impacto 81inicial 61reposo 64

Potencia de UCP 88Precálculo 61Precisión 60, 78, 79, 80, 81, 86, 88, 89, 94

decreciente 89numérica 100resultado 88

Presentación 893D 88, 89gráfica 89preliminar 50, 56, 57preliminar de la simulación 3preliminar de una escena 3

Prevención de la interpenetración 107Preview (Presentación preliminar), ventana 11Preview In Window (Presentación preliminar en venta-

na) 5, 19, 113botón 10, 23, 30, 35, 39, 44, 60, 113, 114

Preview-In (Presentación preliminar), ventana 1Primitiva 17, 19, 20Principal, barra de herramientas 39

Principio general 106Proceso 76Producción de películas 88Producción en tiempo real 88Properties (Propiedades)

cuerda 34cuerpo rígido 72definidas por el usuario 69físicas 7físicas iniciales 69malla deformante 63menú 3, 63objeto 84panel 73persiana 9, 10, 11, 14, 15, 16, 22, 25, 28, 34, 45, 46, 48,

56, 62, 63, 109, 114sección 6, 30, 46, 48

Propiedad física 69, 103, 105Proxy 94, 110

colisión 99convex hull 110geometría 19, 20opción 11presentación 11, 18, 20, 114

Pruebacolisión 92, 93colisión compleja 91colisión final 92compleja 91convexidad 14, 110, 114rechazo precisa 92sencilla 91

Pruebaschoque de vehículos 79colisión 90colisión multifase 91

Pulgada 75, 76, 84Pulgar 104Punto 43, 44, 47, 81, 93

botón 43colisión 92, 98contacto 105medio 88pivote del objeto 43referencia 102

RRadián 101, 104Rapidez 101Ratón, puntero 35RBCollection (ColecciónCR) 46

Page 128: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice124

botón 8RBCollection Properties (Propiedades de ColecciónCR),

persiana 8, 11Reactor

barra de herramientas 2, 69directorio 72introducción 1menú cuad 2plug-in 2utilidad 9, 15, 22, 28, 34, 44, 60, 61, 62, 68, 69, 72

Reactor AttachToRB (Reactor asociar a cuerpo rígido) 48Reactor Cloth (Tela), modificador 27, 28, 54Reactor Dynamics

menú desplegable 23opción 23, 25persiana 3

Reactor Rope (Reactor cuerda), modificador 34Reactor SoftBody (Reactor CuerpoFlexible), modifica-

dor 25Reactor SoftBody (Reactor CuerpoFlexible), opción 22,

25Reactor Water (Reactor Agua) 37Reactor.mcr 69Real Time (Tiempo real), opción 4Realismo 81Realizar una prueba de convexidad 14Rechazo trivial 91Recorrido confinado 47Recursos de UCP 79, 90Recursos del sistema 24Reducción de keyframes 1, 63Reduce After Simulation (Reducir tras simulación), op-

ción 63Reduce Keyframes (Reducir Keyframes), botón 63Reduce Now (Reducir ahora), botón 63Referencia de MAXScript, opción 65Regla de la mano derecha 103Relative density (Densidad relativa) 29Renderizar animación 39Representación

física 75gráfica 37matemática 93

Reproducción de animación 82Reset (Restablecer), opción de menú 4Resistencia del aire 85, 86Resolución newtoniana 77Resolutor 45, 114

Complex Friction (Fricción compleja) 77Naïve 77No Friction (Sin fricción) 77

Restricciones 45, 47, 73Simple Friction (Fricción simple) 77

ResolutoreODE 11

Resolver 7, 77Resquicio 93Rest length (Longitud de reposo) 6Restitución 105Restricción 35, 41, 44, 45, 46, 49, 53, 56, 77, 96, 106, 107

AttachToRB 48botón 73fuerza 56, 73movimiento 41punto a clavo 41, 45, 47, 56punto a punto 41, 45, 46, 47, 73punto a recorrido 41, 45, 47resolutor 45

Resultado de colisión 92Rigid body (Cuerpo rígido), botón 56Rigid Body Collection (Colección de cuerpos rígidos),

botón 57RigidBodiesTab 68Rigidez 21, 51, 114

compleja 30, 31simple 30

Ripple (Rizo) 37, 53, 55casilla de verificación 55

Ritmo de ascenso 85RK45 88Ropa 81Rope (Cuerda), modificador 33, 34Rope Type (Tipo de cuerda), opción 34Rotación 42, 54, 103

positiva 104RPCollection (ColecciónCuerda), botón 35Runge-Kutta 12, 88

SSave Before Simulation (Guardar antes de simulación),

opción 78SBCollection (Colección CF)

botón 23opción 25

Scale Timestep (Escalar paso de tiempo), parámetro 23, 24, 31

Scenes (Escenas), carpeta 8, 22, 25, 33, 37, 53, 72Scripts, subdirectorio 72Sección, Ápodo To... (Se aplica a) 55Segundo 101Seleccionar malla 48

modificador 24

Page 129: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 125

opción 48Seleccionar por nombre, lista 18, 43Seleccionar spline 34Select Rigid Bodies (Seleccionar cuerpos rígidos), cua-

dro de diálogo 8Semiconductores 79Serie continua de simulación 80Set to Material (Definir en material) 10Set Volume SubObject (Definir subobjeto volumen), bo-

tón 26Shear (Desviación) 30showProperties 68Sim Edges (Aristas sim) 16

opción de menú 4opción de presentación 15

Símbolos de la barra de herramientas 2Simple force model (Modelo de fuerza simple) 30Simple Friction (Fricción simple), resolutor 77Simulación 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 80basada en elementos 81cuerpo flexible 33cuerpos rígidos 92dinámica 76escena 10imprecisa 63mecánica 82menú 4persiana 63precisa 62precisión 11presentación 24, 37sucesos discretos 80telas 32tiempo real 24ventana 64

simulación 14Simulación física 59, 75, 79, 81, 86, 88, 89, 90, 93, 95, 100,

105, 106Simulation Geometry (Simulación de geometría), sec-

ción 110Sistema 12, 33, 42, 76, 77, 80, 86, 87, 88, 93, 96, 99, 106, 114

3D, presentación 84actualización 84colisión 91dinámico 107físico 53, 81gestión de energía 101

gráficos 85grande 106Havok 91, 92, 97, 98métrico 101plano 113restringido 77, 88, 107tiempo real 82

Sistema de coordenadas 102, 105global 103local 102, 104reducido 106restringido 106universal 102

Sistema de física 87, 97, 98, 103, 106Sistema de referencia 102

local 102universal 102, 103

Sistema de restricción 45Sistemas

Creación 3física 83restricción 41

Skin-and-bone (Piel y huesos) 112Smooth Level (Nivel de suavizado), opción 24Soft (Flexible), modificador 22Soft Body (Cuerpo Flexible), modificador 22, 24Solidez 96Sombra 5, 114Sopa de polígonos 93, 95, 96Spin Wheels (Girar ruedas) 50Spline 33, 34Split Angle (Ángulo de división) 31Spread Angle (Ángulo de difusión) 31Spring (Muelle), botón 43Spring Properties (Propiedades de muelle), persiana 43Stable Configuration (Configuración estable) 26Start Frame (Fotograma inicial) 60, 61, 63

posición 61Stiffness (Rigidez) 23, 28, 30, 61Strength (Fuerza) 6, 45, 47Stretch (Estiramiento) 30Suavizado 21SuavizaMalla, modificador 24Subárbol, opción 18Subatómica 82Subdivisión iterativa 29Subparte 81Substep (Subpaso) 45, 64, 76, 89, 114Substeps (Subpasos) 24, 50, 60, 89

opción de menú 4Substeps/Key (Subpasos/Key), valor 60, 61

Page 130: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice126

Suceso discreto 80Sucesos 80, 81Superficie 105

cerrada 93deformable 107

Superposición de cajas 92Suspensión 50, 51Sustitución

geometría 15, 16geometría de un objeto con una malla optimizada 17geometría de un objeto con una malla proxy 17para optimización 16

TTecla de aceleración 88Tecnología Havok 79, 106Tela 27, 28, 30, 31, 32, 45, 48, 49, 53, 54, 92, 107, 114

amortiguación 28asignar propiedades 27deformación 29densidad relativa 29fricción 28intersección 29masa 28modificador 48nivel de suavizado 29propiedades físicas 27resistencia del aire 29rigidez 28selección de vértices 29

Terminología 79Test Convexity (Probar convexidad), botón 14, 114Texture Quality (Calidad de textura) 6Textures (Texturas), opción de menú 4Thickness (Grosor) 34Tiempo 80, 81, 86, 88, 99

animación 64ejecución 20espera 80real 20, 31UCP 89, 90

Tifón 81Time Scale (Escala de tiempo), valor 55Timestep 23Timestep (Paso de tiempo) 24, 31Tipo de objeto, persiana 43Toggle Display On/Off (Conmutar presentación Act/

Des), opción de menú 4Tolerancia

colisión 95, 98, 99, 100colisiones 76

Toy Car (Coche de juguete) 41, 49, 110masa 50opción 50parámetros 50

Toy Car Orientation (Orientación de coche de juguete) 50

Toy Car Properties (Propiedades de coche de juguete) 50

Tratamiento de un objeto como cóncavo 16Triangulación 38, 48

Delaunay 32Triángulos 93, 96

UUbicación 44UCP 89Ui/macroscripts, subcarpeta 69Umbral de energía 24Unbreakable (Irrompible) 57Unidad 75, 76, 78, 83, 101, 104

adimensional 84genérica 75

universal 24Universo 81, 85, 102, 104Unyielding (Inflexible)

objeto 62propiedad 62Updates/Frame (Actualizaciones/Fotograma), op-

ción 62Update Max (Actualizar Max) 32, 64

función 32, 64opción de menú 5

Update Viewports (Actualizar visores) 61Updates/Frame (Actualizaciones/Fotograma), pará-

metro 62Use Bounding Box(Usar caja delimitadora), opción 16,

19, 109Use Bounding Sphere (Usar esfera delimitadora) 34Use Bounding Sphere (Usar esfera delimitadora), op-

ción 16, 19, 112Use Max Parameters (Usar parámetros de Max) 64Use Max Parameters (Usar parámetros de Max), opción

de menú 5Use Mesh (Usar malla), opción 17Use Mesh Convex Hull (Usar malla Convex Hull), op-

ción 16Use Optimized Convex Hull (Usar casco convexo opti-

mizado), opción 16, 19Use Optimized Mesh (Usar malla optimizada), opción

17, 19Use Proxy Convex Hull (Usa casco convexo Proxy), op-

Page 131: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice 127

ción 16, 19Use Proxy Mesh (Usa malla Proxy), opción 17, 19Uso

malla del objeto original 16memoria 19UCP 94

Usuario 92, 95, 96Utilities (Utilidades)

cuadro de diálogo 2panel 2, 72panel de comandos 9, 14, 16, 17

VValor global 76Valores de fricción 77Variable 76, 87Variance (Varianza) 53

rizo 53valor 55

Vector 102Vehículo 88Veleta 53Velocidad 77, 81, 86, 88, 101, 105

angular 50, 77, 104inicial 61lineal 77, 102presentación de imagen 11rotación 104viento 53

Ventana de presentación 3, 9Ventana de presentación preliminar 6, 20, 24, 32, 44, 57,

64Ventilador 54Vértices 24, 25

opción 48Viento 81, 86

símbolo 55Viscosidad 114Visor 50Volume (Volumen) 93, 95

botón 26

WWarping de objetos 96Water (Agua) 53

botón 38efecto especial 37

Wind (Viento) 53World Scale (Escala universal) 75, 76, 78

opción 75parámetro 113

Page 132: 6722526 I083 Manual y Tutorial de Reactor 132 Paginas en Espanol

Índice128