Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Objetos ligeros en caida libre

  1. #1
    Administrador y fundador. Avatar de 3dpoder
    Fecha de ingreso
    Apr 2002
    Mensajes
    15,459

    Objetos ligeros en caida libre

    Objetos ligeros en caída libre
    por Juan J. Peña/Apollux





    Introducción:

    En este tutorial aprenderas a crear el siguiente efecto: objetos muy ligeros de peso en caída libre hacia el suelo. Dichos objetos tan livianos podrían ser plumas, pétalos de rosa, guirnaldas, etc.

    Para esta practica usaremos Plumas como objeto, porque son más difíciles de animar, además de ser el ejemplo más completo en comparación de los anteriores.

    Este tutorial esta orientado para los usuarios medios y avanzados. Deberías tener un conocimiento previo de la curvas IPO, Dupliverts y Partículas. Se requiere Blender 2.37.

    El objetivo

    Durante un momento especial, nuestra protagonista camina tranquilamente por el campo, atravesando un maravilloso césped verde. El sol brilla, el viento sopla ligeramente, la música es melodramatica, y todo el entorno es onírico... cuando súbitamente nuestra protagonista ve una pluma blanca caer del cielo. Ésta cae sobre su palma abierta, luego mira hacia arriba, y ve miles de plumas blancas caer desde el cielo. Ella sonríe, de algún modo, ahora sabe que el conflicto ha acabado y su amado esta con vida. Lo descrito arriba debería ser familiar para la mayoría de los lectores...aunque con pequeñas variaciones ha sido usado en muchas películas, juegos, novelas, etc. Este tutorial te dira como trabajar con las plumas... la protagonista, no es nuestro objetivo.

    Qué necesitamos

    Obviamente, lo primero que necesitamos es una pluma digital (CG Feather). Yo en poco tiempo me hice una creando un plano, cortandolo un par de veces y uniendo los extremos. Obtuve algo así:



    Nótese que tiene profundidad (de modo que cuando la ves lateralmente, no ves un plano sin profundidad) y (atención especial a ésto) el centro del objeto esta ubicado abajo, no el centro de la pluma.

    Asignarle un buen material blanco sería genial, y si la texturizas con la imagen de una pluma y con el alfa habilitado, no debería ser tan difícil. Éstos son efectos estéticos, no afectaran en nada a la animación, tan sólo hace que se vea mejor. (Sin embargo, si vas a texturizar, recuerda que debe incluir los canales Col, Nor, Ref, Spec y Alpha para obtener un resultado convincente y no sólo una pluma pintada en un trozo de vidrio).

    Además necesitamos un buen entorno CG donde tendrá lugar la escena. Para ello creé un plano, lo subdividí un par de veces y levanté algunos puntos para lograr el efecto de un terreno. Luego asigné una material verde, luz apropiada y textura Sky en el panel World.

    Por supuesto, nos gustaría tener a un protagonista interactuando con las plumas mientras caen (ese es el objetivo de la escena, ¿cierto?); pero eso implicaría además, adentrarse en el modelado y la animación de personajes, lo que se sale de nuestro objetivo en este tutorial. En lugar de nuestra querida dama, usaremos un cubo como nuestro principal actor estatico.

    Con todo ello en escena, ya estamos listos para seguir. Por ahora, deberías tener algo similar a esto:



    Dado que éste es un tutorial sobre animación, dejaré el modelado a tu criterio. Puedes obtener un archivo con la escena lista en el sitio de BlenderArt (incluido en la revista), si no tienes ganas de modelar.

    El Primer Instinto

    Lo primero que se me viene a la cabeza es crear un sistema de partículas, de modo que configura al piso y a nuestro actor estático como deflectores de partículas y deja que Blender haga de su magia.Vamos a explorar este camino.

    Necesitamos crear un emisor de partículas que debería ir arrojando las plumas; una rejilla de malla debería ser perfecto para ésto. Situar la rejilla emisora fuera de la vista de la cámara y situar el centro del objeto plumas en contacto con el centro del objeto rejilla. ¿Cómo?

    Selecciona la rejilla emisora (clic derecho en ella) Object | Snap | Cursor | Selection Selecciona la pluma (clic derecho en ella) Object | Snap | Selection | Cursor Ahora emparenta la rejilla a la pluma, activa la opción Dupliverts para la rejilla y agrega un sistema de partículas a ella. Recuerda poner un poco de Z Force negativo, de modo que las plumas caigan hacia el suelo.

    Lo primero que notaras es que al menos que pongas la opción “Key” en un valor alto, las caídas de nuestras plumas serán erraticas, por decirlo de alguna manera. Se obtienen mejores resultados con el valor de “key” puesto en su máximo valor que es 100, pero aun así, puedes tener buenos resultados con valores como 80 o inferiores. Lo segundo que deberías notar, es que incluso con los deflectores en sus valores máximos, las plumas seguirán deslizandose en el suelo, como si tubiera hielo resbaladizo, eventualmente la mayoría de nuestras plumas se abren camino hacia los bordes y caen al vacío... y eso ¡no esta bien!

    Lo último, pero no menos importante, es que la detección de colisiones para nuestro sistema de partículas no es muy precisa, muchas plumas caen a través del plano, y luego se devuelven. Eso tal vez estaría bien para las plumas que caen fuera de cámara, pero ésto arruinaría cualquier toma de tipo acercamiento (Close UP).

    No todo es tan malo desde este enfoque. El sistema de partículas nos permite agregar cierta aleatoriedad para hacer nuestra escena más auténtica. Específicamente, en el panel Particle Motion, la opción BSpline ponerla de modo interpolado y dando a cada pluma una velocidad de partida aleatoria, de ese modo, la ilusión de lluvia comienza a hacerse notar. Las plumas siguen comportandose de una manera algo falsa, pero llegaremos a ello. Hay que tener un cuidado especial con la opción “Vect”, ya que después de cierto punto, tiende a introducir vueltas de 90 grados en las particulas/ plumas.

    En resumen, me refiero a estas preferencias:



    Buscaremos un modo de superar el problema de la devolución de partículas, tratando de mantener nuestro buen trabajo.

    Un mejor enfoque

    Como dije antes, la apróximación de las partículas para la tarea que tenemos entre manos tiene algunos serios problemas, siendo la detección de colisión, el peor de ellos. Sin embargo, las partículas no son los únicos objetos con detección de colisión. Además tenemos detección de colisión para Software Bodies y Hard Body dynamics en el Game Engine. Encuentro que la detección de colisiones implementada para Software Bodies es más refinada, de modo que usaremos esa. Lo primero que deberías tener en cuenta, es que hay dos modos básicos para el uso de Software Bodies. Tienes los métodos “Goal” y “Spring”. Sin entrar en detalles técnicos, Goal permite que los objetos sean animados usando los modos convencionales, de esta forma te dará un control casi total sobre el resultado final de la animación. Con el modo “Spring” gran parte de los resultados provienen del sistema dinamico (dynamic system), y de algún modo, tienes menos control sobre el resultado final (aunque usualmente se ve más realista si se compara con la animación hecha a mano). Por supuesto que buscamos una buena relación entre ambos métodos.

    Idealmente, necesitamos poder influir en la caída por introducción de transformaciónes locales mientras las plumas se están moviendo, pero además, queremos que el sistema se encargue de todas las detecciones de colisiones y cualquier otra fuerza dinámica, como rafagas de viento que podamos incluir para mejorar nuestra escena.

    De modo que, ésto es lo que llamo un buen acuerdo: (imagen a la derecha).

    Por favor, fíjate en estas preferencias:



    1. Hemos puesto la aceleración gravitacional en 9.8 (gravedad real), de modo que al sistema Software Bodies le estamos diciendo que debería tener en cuenta la secuencia de caída de las plumas.
    2. Es de hecho, un sistema “Goal”, así que podemos pasarle transformaciónes locales (muy importante como veras), pero...
    3. Tiene las opciones “Goal Influence” y “Goal Stiffness” puestas en cero, de modo que la deformación de la malla, vendrá enteramente del sistema dinamico.
    4. “Goal Dampening”, ha sido puesto al máximo valor para lograr lo expuesto en el punto 2.
    5. Para evitar que la pluma se desforme de algún modo desagradable, usaremos ambas opciones “Edges” y “Stiff Quads” en sus máximos valores posibles. Del mismo modo “G Min” y “G Max” están en cero, sólo para asegurarnos.

    Esta demás decir que Software Bodies debería ser aplicado a la pluma misma, en lugar de a la rejilla emisora. Lo que sí se debe decir es, hasta que algunos problemas técnicos en no sean resueltos, Blender no puede hacer Render de partículas “dupliverteadas” con Software Bodies. Así que por ahora, deshabilita el sistema de partículas y Dupliverts en la rejilla. El modo más fácil de hacer ésto, es “desemparentando” la pluma de la rejilla, y escondiendo la rejilla en una capa sin uso.

    No borres la rejilla o su sistema de partículas, porque los necesitaremos después. También esta de más decir que el suelo y el actor deberían convertirse en deflectores software bodies (software bodie deflectors) para que Blender calcule la colisión de las plumas en torno a ellos.

    Desde la versión 2.40, el calculo de colisiones software body ya no esta limitado sólo a objetos tipo Mesh. Ahora las colisiones pueden ser calculadas entre 2 o más objetos software body. En otras palabras, no más plumas que atraviesan la malla.

    Ten en cuenta que al agregar aquellas colisiones extras, aumenta en gran cantidad el tiempo necesario para los cálculos, así que decidí no hacerlo ahora. Si a pesar de todo, has hecho una prueba de Render con tu primera animación, continúa, pero debes saber que tomara mucho tiempo finalizar cada frame.

    Del mismo modo, para reducir los tiempos de calculo, no habilité el suelo como deflector software body, al menos hasta que algo de magia extra se haga. Tan sólo recuerda volver a habilitar el suelo como deflector software body, de otro modo, las plumas caeran a través de éste.

    Refinando

    Ahora que hemos resuelto el principal inconveniente de la detección de colisiones, es hora de empezar a trabajar en los detalles.

    ¿Has visto alguna vez una pluma caer, o una hoja desprenderse de la rama de un árbol? Entonces sabes que éstas no caen en línea recta, tienen un movimiento oscilante, mientras dan vueltas sobre su centro gravitacional.

    Ciertamente, podríamos animar esos movimientos a mano usando Motion paths y Rotation key frames, y sería fácil hacerlo con un par de plumas. Pero aquí hablamos de cientos de ellas, pueden ser incluso miles de plumas cayendo, así que necesitamos un modo más flexible y menos laborioso para lograr nuestro objetivo.

    Canales Delta del IPO

    Muy subestimados, pero extremadamente útiles son estos canales del IPO. Delta es una letra del alfabeto griego y es comúnmente usada en matemáticas y física, para representar cuanto varía una magnitud dada, en un determinado tiempo. En palabras simples, mide cuanto cambia algo desde su estado inicial.

    Blender ofrece IPO Delta channels (canales delta) para Localización, Rotación y Tamaño en relación a los tres ejes. Selecciona cualquier objeto, abre una IPO y mira a aquellos canales cuyo nombre comience con una “d”.

    Imagen con canales Delta destacados.



    Asumiré que el lector ya tiene conocimientos básicos sobre añadir y editar Key frames en una curva IPO, directamente desde la ventana IPO. Si necesitas un recordatorio, entonces te sugiero ir y volver a leer esos capítulos en la documentación oficial.

    Ahora, con la pluma seleccionada, selecciona el canal “dRotZ” y dibuja una curva para el movimiento circular. No hagas otras de más. He elegido dibujar una curva simple de 2 puntos. Uno esta en (0,0) y el otro en (25,60). Ésto causara que la pluma rote 60º cada 25 frames. Con la curva puesta en modo Cyclic Extrapolation, la pluma se mantendrá dando vueltas para siempre.


    (Captura de imagen de la curva dRotZ ).

    Antes de ir más allá, quizás te preguntes, ¿por qué usar "dRot" en lugar de "Rot"? Muy simple, de haber usado "Rot", eso habría causado que cada pluma rote del mismo modo... todas las plumas, a lo largo del tiempo, ¡habrían tenido la misma rotación! Se habría visto bien en una coreografía de baile, pero eso es precisamente
    lo que queremos evitar cuando tratamos de simular algo tan aleatorio como una lluvia.

    El usar "dRot" significa que cualquier rotación que dicte el IPO es añadida a cualquier rotación que la pluma haya dado previamente. Así, si damos a cada pluma un comienzo de rotación diferente, ésta rotación se mantendrá única a través de la secuencia entera, lo que da un resultado más deseable.

    Continuando con nuestros ajustes, ahora que tenemos nuestra pluma dando vueltas sobre su eje de gravedad, necesitamos agregar el movimiento oscilante que es tan característico de este tipo de objetos. Para ello "dLocX" y "dLocY", nos serán de mucha ayuda. Dibuja unas curvas IPO como las de la imagen, asegurandote de cruzar la línea Cero un par de veces. Cuando estés listo, pon la curva en modo Cyclic Extrapolation, de modo que el movimiento oscilante se mantenga para siempre.

    Para ambas curvas, traté de mantenerme en +/- 1 unidad Blender en torno a la línea Cero. Cualquier cosa más allá de eso, hará que nuestro trabajo se vea poco natural. Por supuesto, los valores actuales dependen de las condiciones climaticas
    que trates de representar y la escala global de la escena. Además deberías asegurarte cuando haces zoom out (alejamiento) sobre la curva, que ésta se quede centrada en torno a la línea cero.

    Es muy simple dibujar curvas que luzcan bien cuando trabajas en ellas, pero éstas tienden a desviarse progresivamente de la línea Cero. Después de algunas pruebas y ensayos, deberías ser capaz de familiarizarte con ellas, no es difícil, creerme.

    En la captura, puedes ver que la curva dLocX se desvía progresivamente del centro, haciendo que en el tiempo, se haga más difícil predecir en qué punto la pluma haga su próximo movimiento. Esta situación se puede arreglar con técnicas que veremos en la próxima página, pero evita este problema si puedes.


    Captura de pantalla de las curvas dLoc.



    Ese es un ejemplo de lo que deberías evitar.


    Más arreglos

    Si reproduces tu animación frame a frame, te daras cuenta que ahora tenemos un movimiento más natural en la pluma... ya es hora de pulir más para los detalles finales.

    El primer detalle, es que ahora tenemos sólo una pluma. ¿Recuedas la rejilla y su sistema de partículasí Si, la misma que ubicamos en una capa sin uso como vimos en las páginas anteriores. Ya es hora de volver a trabajar en ella. Al igual que antes, emparenta la pluma a la rejilla, y deja que ésta haga tantos duplicados como sea necesario. No temas experimentar con las preferencias. El objetivo ahora es crear tanta aleatoriedad como sea posible.

    Si haces un Render de la escena tal como se encuentra ahora, veras que todas las plumas no aparecen en él. ¿Recuerdas cuando dije que Blender tiene problemas con los software bodies “dupliverteados”? Bueno éste, es uno de esos casos.

    Para solucionar este contratiempo, necesitamos hacer de todas esas plumas “dupliverteadas”, duplicados reales. Selecciona la rejilla y presiona [CTRL]+[SHIFT]+[A] o ve a Object >> Clear/Apply >> Make Duplicates Real.

    Es natural obtener una bajada de rendimiento después de crear los duplicados reales, porque ahora el sistema software bodies esta haciendo cálculos en cientos o miles de plumas al mismo tiempo.

    Vuelve a ver tu animación de nuevo, ¿Esta todo bien? ¿No? ¿Las plumas duplicadas siguen cayendo en línea recta? ¡¡Tranquilo!!

    Cuando haces duplicados reales, Blender no hace copia de la animación creada en el IPO, sino, sólo de las mallas y materiales. Resolveremos ésto seleccionando todas las plumas y asegurandonos que la última seleccionada sea la original (es el objeto activo del grupo). Luego ve a Object >> Make Links>> Object IPO. Si ves tu animación, o chequeas cada pluma en la ventana del IPO, veras que todo esta bien.

    Es hora de hacer una prueba de Render. Desde que las curvas del IPO son sólo una, y éstas están enlazadas a todas las plumas, arreglar cualquier error en los canales IPO, es tan simple como seleccionar una de las plumas, hacer cualquier cambio, y éste se traspasara a todas las otras plumas.


    Toques finales

    ¿Qué tal si añadimos unas cuantas rafagas de viento suave y quizás un campo de fuerza (Force Field Vortex) en torno al actor principal para hacer una escena más natural y emotiva? No olvides ubicar algunas corrientes de aire cerca del suelo para hacer que las plumas sigan deslizandose, incluso si han tocado la superficie.

    Para este caso en particular, son el viento (wind) y el campo de fuerza en torno al actor lo que me ha dado mejores resultados, pero eso es un asunto de gustos personales.

    Si previamente deshabilitaste la deflexión software bodies para el suelo y/o el actor, recuerda volver a habilitarla antes de hacer un Render final. En mi experiencia, haciendo Render con la deflexión habilitada, el suelo incrementa en gran medida el tiempo necesario para Renderizar cada frame. En mi máquina, el cambio de velocidad es Dramático, yendo desde 17 segundos, ¡hasta 4 minutos por cuadro!

    Nota: Dependiendo de lo que quieras lograr, en ocasiones sería bueno pasar por alto el sistema software body antes de hacer duplicados reales... Para ello retrocede un frame antes de usar el comando “Make Real”. No aconsejo hacer clic en “Disable Software bodies” antes de hacer copias reales porque, podrías necesitar seleccionar manualmente y volver a habilitarlo para cada pluma. Cuando hablamos de cientos de plumas, no es una tarea simple.


    Créditos de las imágenes: La pluma texturizada dentro del archivo .blend esta basada en la imagen libre de una fotografía que encontré en “Image*After”. (http://www.imageafter.com) Otros sitios en los que podrás encontrar imágenes de plumas con licencia libre son “Stock.Xchng” (http://www.sxc.hu), “morgueFile” (http://morguefile.com) y “Gettyimages” (http://creative.gettyimages.com/source/home/home.aspx).





    Conclusión

    A pesar de todo, tan sólo hemos visto un poco de lo que realmente podemos hacer con esta técnica, y ese fue el propósito de este tutorial. Ahora depende de ti ir refinando, personalizando y mejorando tu idea. Éstos son tan solo algunos consejos de lo que podrías hacer para mejorar tu escena:


    • 1. Un cielo animado con nubes moviéndose y cambiando sus tonalidades (hazlo coincidir con la dirección del viento).
    • 2. Mejorar el pasto y la hierba del campo.
    • 3. Aumentar el número de plumas.
    • 4. Agregar más variación a las plumas, porque ahora, es la misma pluma copiada una y otra vez.
    • 5. Dividir las nubes de plumas en grupos más pequeños, cada uno con su propia configuración de IPO.
    • 6. Reemplazar el cubo con un personaje animado. Después de agregar algunas rafagas de viento y experimentar un poco con el cielo, ésto es lo que obtuve en mi animación final (ubicación de la película falta por anunciarse). Llevó nada menos que 14 horas hacer el Render con sus 300 frames, así que ojalá te guste.


    Si tienes cualquier duda acerca de cómo se hizo algún procedimiento, el archivo .blend esta disponible en esta edición de la revista para que lo veas. Hemos llegado al final de este breve tutorial para crear lluvia. Para cualquier comentario, no dudes en contactar conmigo, apollux@apollux-designs.com o, búscame en los diversos foros de Blender en la web.




    Ooh... a propósito, ¿recuerdas aquella pluma solitaria que cae en la mano de nuestra dama en la introducción de este tutorial? Eso se hace con una path curve normal. Selecciona una de las plumas y emparéntala a una ruta (path) que la guíe hacia la palma de la mano abierta.


    Juan J. Peña (apollux) 27 años, estudiante de Arquitectura en la República Dominicana. Ha sido usuario de Blender durante mucho tiempo, y eso lo ha llevado a convertirse en uno de los moderadores del Blender Linux FAQ. En su tiempo libre, él sigue su amada pasión, la fotografía amateur. Antes de volver a entrar a la Universidad para estudiar Arquitectura, fue profesor de Ciencias Computacionales (para niños).

    http://apollux-designs.com

    www.blenderart.org

    Equipo de traducción

    Miniaturas adjuntadas Miniaturas adjuntadas Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-1.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-2.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-3.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-4.jpg  

    Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-5.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-6.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-7.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-8.jpg  

    Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-9.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-10.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-11.jpg   Objetos ligeros en caida libre-objetos-ligeros-en-caida-libre-12.jpg  

    Si vas a subir un trabajo al foro, hazlo adjuntando la imagen, archivo, vídeo o lo que sea, no publicando enlaces de otros sitios. http://www.foro3d.com/f45/forma-correcta-de-insertar-imagenes-y-archivos-en-nuestro-mensaje-98930.html

    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Caida de objetos de forma progresiva animacion
    Por manuelm1 en el foro Animación y Rigging
    Respuestas: 4
    Último mensaje: 15-04-2012, 12:10
  2. Juego 3D - alpha-Caida libre entre rascacielos
    Por 3dpoder en el foro Videojuegos
    Respuestas: 1
    Último mensaje: 14-05-2009, 03:59
  3. Terragen caida
    Por 3dpoder en el foro Índice de Video3d.es
    Respuestas: 0
    Último mensaje: 26-03-2009, 02:42
  4. Probelma animacion de camara: animacion final con ligeros saltos
    Por ximy en el foro Animación y Rigging
    Respuestas: 0
    Último mensaje: 09-04-2008, 15:11
  5. Paracaidismo, caida libre sky diving
    Por trenZ en el foro Todo menos Infografía
    Respuestas: 33
    Último mensaje: 29-11-2005, 12:27

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •