Gracias Gracias:  5
Página 2 de 4 PrimerPrimer 1234 ÚltimoÚltimo
Resultados 16 al 30 de 59

Tema: 2ª actividad de Houdini - Pintar una bola - resolucion

  1. #16
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,969

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Cita Iniciado por MiguelPerez Ver mensaje
    Si eso ya lo vimos en el otro post, Leander
    Pues no me dí cuenta, slime por mucho que hable y/o esté rodeado del inglés se expresa mejor que el Catedratico de Mars.

    Me callo, no pienso interrumpir mas.

  2. #17
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Cuidado con pulsar en la parte izquierda de la ventanita con el color en las propiedades del nodo, porque del modo expresiones se pasara al de resultados y habrá que pulsar de nuevo para volver.

    Nosotros queremos que las partículas tengan colores distintos, por lo que rellenaremos las otras casillas del operador color con expresiones similares, pero no con la misma. Si ponemos [ rand($ID) rand($ID) rand($ID) ] las tres expresiones devolveran el mismo número, por lo que tendremos tonalidades de gris. Para evitar eso, usaremos "offsets" en el rand. Escribiendo [rand($ID) rand($ID+1) rand($ID+2) ] tendremos un color distinto para cada particula.

    Ahora tenemos las partículas con colores aleatorios, pero el sistema no esta demasiado optimizado, ya que cada fotograma Houdini vuelve a calcular las expresiones aleatorias para llegar al mismo valor que ya tenía antes, puesto que los $IDs no cambian, así que estaría bien poder solo definir el color una vez, cuando la particula nace.

    Para esto, necesitamos crear un grupo donde solo estén las partículas que acaben de nacer y solo cambiar el color de las partículas a ese grupo.

    Primero iremos al nodo source y haremos clik en la pestanya Birth. En Birth Group escribiremos justborn. Este será el grupo que se creara y que comprendera las partículas que acaban de nacer. Hay un botón que se llama Preserve Group. Esto sirve para que las partículas que entren en ese grupo permanezcan ahí todo el tiempo. Esto ahora mismo no tiene ninguna utilidad, puesto que solo queremos que estén en el grupo las que acaban de nacer, para que todo sea más optimizado.

    Ahora iremos al nodo color y en source group escribiremos justborn. Ahora solo se cambiara el color de las partículas cuando nazcan y el sistema será más optimizado.
    Miniaturas adjuntadas Miniaturas adjuntadas 2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v7.jpg  
    Minor Bun engine made Benny Lava!

  3. #18
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    TIP: Para ver informaciónes en los nodos hay que pulsar el botón central en medio de los mismos. Aparecerá una ventana de información flotante. Por ejemplo, aquí me dice que tengo 721 puntos (particulas) en total en la simulación y cuatro puntos (particulas) en el grupo justborn, lo que significa que han nacido cuatro partículas este fotograma.
    Miniaturas adjuntadas Miniaturas adjuntadas 2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v8.jpg  
    Minor Bun engine made Benny Lava!

  4. #19
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolución

    El siguiente paso será conseguir que las partículas reboten en la esfera.

    Para eso colocaremos un nodo collision al final de todo, después del nodo "force" y lo activaremos como parte final del sistema haciendo clik en la parte derecha del nodo para que se vuelva azul.
    Ahora tenemos que elegir la geometría con la que chocaran las particulas.
    Al principio, cuando creamos el Pop Network, colocamos la esfera en el segundo input y el suelo en el tercer input, así que utilizaremos el segundo input para las colisiones. Eso lo especificamos en las propiedades de colision, en Geometry Source, seleccionando "Use Second Context Geometry".
    En un principio dejaremos Hint como "Static Geometry", ya que la esfera no se va a mover, pero si esta se moviera, habría que cambiarlo a translating geometry. Si se deformara, habría que convertirla a triángulos y utilizar Deforming Geometry, pero eso lo veremos más adelante.

    Si ahora le damos a play, veremos que las partículas desaparecen al chocar con la esfera. Esto es porque por defecto, es el comportamiento que se asigna a las colisiones. Para cambiarlo, tenemos que ir a la pestanya de Behavior y cambiar el Behavior a "Bounce on Collision".
    Al darle ahora a play podremos ver como las partículas rebotan bastante al chocar con la esfera.

    Existen dos parámetros en la misma pestanya llamados Gain Tangent y Gain Normal. Estos van a controlar la dirección e intensidad del bote.

    - El Gain Tangent es un multiplicador del vector tangente a la superficie, usando como vector inicial el de velocidad de la particula. Es decir, si la particula va hacia una dirección al chocar con la esfera, la particula seguirá la misma direccion, pero en la superficie de la esfera. Podemos ver el efecto poniendo el Gain Normal a 0. Las partículas "resbalaran" por la superficie de la esfera.

    - El Gain Normal es un multiplicador del vector normal de la superficie. Las normales de las superficies suelen ser vectores perpendiculares a las mismas (aunque es posible modificarlos), por lo que las partículas rebotaran hacia "afuera" del objeto siguiedo un vector perpendicular a la superficie. Podemos ver el efecto poniendo el Gain Tangent a 0. Las partículas rebotaran con un ángulo de 90 grados a la superficie de la esfera.

    En la vida real, existen muchos factores que determinaran la velocidad y trayectoria resultantes ( el vector ) después de una colision. Hay que tener en cuenta la friccion y la forma de los objetos, pero siempre se perdera energia después de una colision. En definitica, cada particula tendría una colisión diferente en la vida real, en mayor o menor medida.

    Para simular esto, usaremos unas expresiones simples en Gain Tangent y Gain Normal usando FIT y RAND.

    La expresion fit01( A,B,C) interpretara el valor A entre 0 y 1 y asignara B al 0 y C al 1 y hará una interpolación de los valores intermedios de forma lineal, por ejemplo fit01(0,0.5,1) nos dará como resultado 0.5, fit(0.5,0.5,1) nos dará 0.75 y fit(1,0.5,1) nos dará 1.

    En gain tangent pondremos fit01( rand($ID+4),0.4,0.8 )
    y en Gain normal pondremos fit01( rand($ID+5),0.2,0.6 )

    Con esto conseguiremos valores aleatorios en el Gain Tangent de entre 0.4 y 0.8 y de 0.3 y 0.6 en el Gain normal. La razón de esto es que no queremos que los valores se acerquen a 0 o a 1, ya que eso seria poco habitual en la vida real. Por supuesto cada caso es distinto y hay más formas de conseguir esos valores.
    Por ejemplo, fit01( rand($ID+4),0.4,0.8 ) seria lo mismo que (rand($ID+4)*0.4)+0.4

    Si le damos ahora a play veremos que las partículas rebotan de forma más o menos organica.
    Miniaturas adjuntadas Miniaturas adjuntadas 2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v9.jpg  
    Última edición por slime; 20-07-2007 a las 01:38
    Minor Bun engine made Benny Lava!

  5. #20
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Antes de ponernos con la transferencia de color, vamos a hacer unas pruebas de emision de particulas.

    En el nodo source, si ponemos en Const. Activation un 0, esto desactivara la emision constante de 100 partículas por segundo, así que si damos ahora a play no se generaran particulas.
    Si en Impulse Activation escribimos $FF==25
    y en Impulse Birth Rate 100
    cuando demos a play, el Impulse Activation será 1 (activado) solo cuando el fotograma sea el 25, y entonces se generaran 100 partículas. Se pueden escribir expresiones más complicadas en el Impulse Activation y Birth Rate.

    Por ejemplo:
    Impulse Activation $FF<100
    Birth Rate (($FF*0.01)^3)*100
    Esto emitira partículas hasta el fotograma 99 (Impulse Activation estará activo hasta el fotograma 100) y se generaran partículas dependiendo del número de frame según la expresion (($FF*0.01)^3)*100, que nos dará una curva exponencial desde 0 a 100, por lo que al principio caeran pocas partículas y cada vez más al final.

    Otro ejemplo:
    Impulse Activation: 1
    Birth Rate: max(0,(sin($FF*5)^11)*30)
    Esto emitira un número de partículas correspondiente a la parte positiva de una onda sinusoidal elevada a una potencia alta para comprimirla.
    max(A,B) es una expresion que devuelve el número mayor de los dos, por lo que si es max(0,A) como en este caso, convertirá cualquier número menor que cero a cero.

    Para ver la gráfica de la formula, es posible hacer clik con el botón derecho en el nombre del parámetro y elegir scope channels (o SHIFT + botón central del raton).

    Después de hacer unas cuantas pruebas y jugar con expresiones, volvamos a estos valores:

    Impulse Activation: 0
    Impulse Birth Rate: 0
    Const. Activation : 1
    Const. Birth Rate: 50

    Para que se generen 50 partículas por segundo.
    Miniaturas adjuntadas Miniaturas adjuntadas 2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v10.jpg  
    Última edición por slime; 20-07-2007 a las 06:22
    Minor Bun engine made Benny Lava!

  6. #21
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Ahora vamos a pasar el color de las partículas a la esfera.

    Para eso, volvemos a geometría desde dentro del sistema de partículas, dándole a la flecha hacia la izquierda. Crearemos un nodo attributetransfer y conectaremos la esfera al input de la izquierda y el popnet a la derecha. Por defecto todos los atributos de las partículas se pasaran a la esfera, con los parámetros determinados.

    Originalmente el radio es bastante grande, por lo que veremos colorearse la esfera aunque las partículas aun no hayan tocado su superficie.
    El único problema es que cuando las partículas se alejan la esfera, estas dejan de afectar al color de la misma. Lo que necesitamos es que cuando una particula la toque, esta se quede ahí, pintandola todo el rato.

    Para conseguir esto, volvamos dentro del sistema de partículas (popnet) y en el nodo collision, en la pestanya Behavior, cambiemos Bounce on Collision a Stik on Collision. Ahora las partículas no rebotaran, sino que se quedaran pegadas a la esfera, por lo que transferiran el color todo el rato. Tenemos que encontrar una forma de que boten a la vez se queden pegadas todo el rato (creando nuevas particulas) o en su defecto algo que haga que la esfera mantenga las propiedades en el tiempo. Esta segunda opción nos proporcionara mucho más potencial.

    Houdini está basado en sistemas procedurales, y esto tiene ciertas ventajas e inconvenientes. Uno de los principales inconvenientes es que los atributos de la geometría no son persistentes. Si solo utilizaramos una particula y transfirieramos el color a la esfera, la esfera volveria al color inicial una vez la particula se alejase lo suficiente. Esto es porque la geometría no se actualiza con el fotograma anterior. Lo que ocurre en ese fotograma es lo único que le afecta. Los sistemas de partículas son distintos, son dependientes del tiempo y mantienen los atributos. Por eso, para llegar al fotograma X de un sistema de partículas, se tiene que pasar por todos los anteriores y el sistema tiene que ser inicializado previamente, es decir, que si tenemos una geometría con animación procedural, podremos ir al fotograma 1000 y veremos inmediatamente el resultado. Si se trata de un sistema de partículas, tendrá que calcular internamente los 1000 fotogramas, pero lo bueno es que los atributos se mantendrán, como ocurre con el color que solo declaramos cuando las partículas nacen.

    En Houdini se pueden usar los sistemas de partículas para mantener propiedades en la geometría y eso es lo que vamos a usar nosotros, pero primero, vayamos un poco más lejos en el tema de colisiones, para que la esfera solo acepte el color de las partículas que ya han chocado con ella.

    En el nodo collision se puede especificar el Collision Group. Este grupo contendra las partículas que hayan chocado con la geometría. Llamemosle hascollided. Esta vez si que queremos que las partículas se mantengan en ese grupo por el resto de su vida y no solo en el momento del choque, por lo que activaremos el Preserve Group. Si hacemos play en la simulación y vemos el estado del nodo collision en un fotograma donde ya hayan chocado partículas con la esfera (botón medio) podremos ver que el grupo hascollided se esta llenando.

    Ahora iremos de vuelta a geometría y en el nodo attrribute transfer, escribiremos hascollided en el Source Group y cambiaremos el Source Group Type a Points, ya que es un grupo de puntos (particulas) y no primitivas. Para optimizar la transferencia de atributos, desactivaremos el botón de Primitives y en el de points, seleccionaremos únicamente el color (Cd). Así las partículas solo pasaran el color y solo lo haran una vez hayan chocado con la esfera.
    Miniaturas adjuntadas Miniaturas adjuntadas 2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v11.jpg   2ª actividad de Houdini - Pintar una bola - resolucion-spherepaint_ss_v12.jpg  
    Última edición por slime; 20-07-2007 a las 03:49
    Minor Bun engine made Benny Lava!

  7. #22
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    manyana más :P
    Minor Bun engine made Benny Lava!

  8. #23
    Miembro
    Fecha de ingreso
    Jan 2007
    Mensajes
    43

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Bien Slime, Estoy tomando nota, lápiz y papel. y gracias por tu tiempo.

    An-Hell
    Machupicchu: Enigmática maravilla del mundo.

  9. #24
    Senior Member
    Fecha de ingreso
    Sep 2005
    Ubicación
    en los Madriles
    Mensajes
    860

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Gracias Slime, muy bien explicadito todo
    "Digresionando"

  10. #25
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,969

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Magnifico, Magnífico, Magnificoo!

    Plas Plas Plas Plas Plas Plas!

  11. #26
    Administrador Avatar de SHAZAM
    Fecha de ingreso
    Apr 2002
    Ubicación
    28.10º N 15.43º W in a blue planet.
    Mensajes
    20,761

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Chas gracias Master

    Tendré un ratillo libre en el curro para seguirlo paso a paso

    Abriendo Houdini...
    Obtén enseñanza tradicional en arte y cine. Los ordenadores solo son herramientas. Ellos no pueden tomar decisiones creativas, y solo pueden crear trabajos tan buenos como tus conocimientos y tu experiencia les permita.
    Victor Navone


    Ser "animador" es un regalo que te ganas y un honor que deben adjudicarte los otros.
    Chuck Jones


    La tecnología no hace las películas, la gente las hace. No eres un animador sólo porque puedas mover un objeto del punto A al punto B. Eres alguien quien le da vida a un personaje, que es algo que el software y la tecnología no puede dar.
    John Lasseter

  12. #27
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,969

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Lo he pasado a PDF (con las capturas y todo) para todo aquel que lo quiera tener a mano y/o en papel.

    Son 11 páginas.

    Cuando me des tu permiso, Daniel, lo cuelgo.

  13. #28
    Chico Houdini Avatar de MiguelPerez
    Fecha de ingreso
    Dec 2005
    Ubicación
    Valencia, España
    Mensajes
    940

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Cita Iniciado por Leander Ver mensaje
    Lo he pasado a PDF (con las capturas y todo) para todo aquel que lo quiera tener a mano y/o en papel.

    Son 11 páginas.

    Cuando me des tu permiso, Daniel, lo cuelgo.
    Pero si aunqueda mucho!

  14. #29
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,969

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Cita Iniciado por MiguelPerez Ver mensaje
    Pero si aunqueda mucho!
    Por eso digo cuando me dé su permiso, o sea, cuando termine.

  15. #30
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,969

    Re: 2ª Actividad de Houdini - Pintar una bola - resolucion

    Para todo aquel que no quiera estar parado con las partículas, podéis ir por aquí mientras:

    Tutorial: Working with Particles - Side Effects Software Inc.

Página 2 de 4 PrimerPrimer 1234 ÚltimoÚltimo

Temas similares

  1. 3ª actividad de Houdini - Huellas procedurales
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 102
    Último mensaje: 30-03-2011, 16:06
  2. 5ª actividad de Houdini - Limite de impactos
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 7
    Último mensaje: 30-07-2008, 22:28
  3. 4ª actividad de Houdini - Pelotas rompemuros
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 56
    Último mensaje: 29-07-2008, 01:52
  4. 2ª actividad de Houdini - Pintar una bola
    Por slime en el foro Actividades 3DPoder
    Respuestas: 152
    Último mensaje: 24-02-2008, 21:57
  5. 1ª actividad de Houdini - Particulas avanzadas
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 166
    Último mensaje: 27-12-2007, 17:17

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.
  •