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 resolución

  1. #16
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,968
    Gracias (Dadas)
    26
    Gracias (Recibidas)
    49

    2ª actividad de Houdini pintar una bola resolucion

    Si eso ya lo vimos en el otro mensaje, Leander.
    Pues no me dí cuenta, Slime por mucho que hable y/o esté rodeado del inglés se expresa mejor que el catedrático de Mars.

    Me callo, no pienso interrumpir más.

  2. #17
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    2ª actividad de Houdini pintar una bola resolucion

    cuidado con pulsar en la parte izquierda de la ventana 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 devolverán 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 partícula.

    Ahora tenemos las partículas con colores aleatorios, pero el sistema no está 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 partícula 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 click en la pestaña Birth. En Birth group escribiremos justborn. Este será el grupo que se creara y que comprenderá 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 adjuntas Miniaturas adjuntas -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
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    2ª actividad de Houdini pintar una bola resolucion

    Tip: para ver informaciones 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 (partículas) en total en la simulación y cuatro puntos (partículas) en el grupo justborn, lo qué significa que han nacido cuatro partículas este fotograma.
    Miniaturas adjuntas Miniaturas adjuntas -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
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    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 click en la parte derecha del nodo para que se vuelva azul, ahora tenemos que elegir la geometría con la que chocaran las partículas.

    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 colisión, 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 pestaña de behavior y cambiar el behavior a bounce on collision, al darle ahora a play podremos ver cómo las partículas rebotan bastante al chocar con la esfera.

    Existen dos parámetros en la misma pestaña 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 partícula. Es decir, si la partícula va hacia una dirección al chocar con la esfera, la partícula seguirá la misma dirección, 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 colisión. Hay que tener en cuenta la fricción y la forma de los objetos, pero siempre se perderá energía después de una colisión. En definitica, cada partícula 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 expresión 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.
    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 sería 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. 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 orgánica.
    Miniaturas adjuntas Miniaturas adjuntas -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
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    2ª actividad de Houdini pintar una bola resolucion

    Antes de ponernos con la transferencia de color, vamos a hacer unas pruebas de emisión de partículas. En el nodo source, si ponemos en const. Activation un 0, esto desactivara la emisión constante de 100 partículas por segundo, así que, si damos ahora a play no se generaran partículas, si en impulse activation escribimos $f==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 $f<100
    Birth rate (($f*0.01)3)*100
    Esto emitirá 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 expresión (($f*0.01)3)*100, que nos dará una curva exponencial desde 0 a 100, por lo que al principio caerán pocas partículas y cada vez más al final.

    Otro ejemplo:
    Impulse activation: 1
    Birth rate: max(0, (sin($f*5)11)*30)
    Esto emitirá 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 expresión 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 click con el botón derecho en el nombre del parámetro y elegir scope channels (o shift + botón central del ratón).

    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 adjuntas Miniaturas adjuntas -spherepaint_ss_v10.jpg  
    Última edición por slime; 20-07-2007 a las 06:22
    Minor Bun engine made Benny Lava!

  6. Gracias mundo 3d Agradece este post
  7. #21
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    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 aún 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 partícula la toque, esta se quede ahí, pintándola todo el rato.

    Para conseguir esto, volvamos dentro del sistema de partículas (popnet) y en el nodo collision, en la pestaña behavior, cambiemos bounce on collision a stick on collision. Ahora las partículas no rebotaran, sino que se quedarán 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 partículas) 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 utilizáramos una partícula y transfiriéramos el color a la esfera, la esfera volvería al color inicial una vez la partícula 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 contendrá 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 está 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 (partículas) 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 harán una vez hayan chocado con la esfera.
    Miniaturas adjuntas Miniaturas adjuntas -spherepaint_ss_v11.jpg   -spherepaint_ss_v12.jpg  
    Última edición por slime; 20-07-2007 a las 03:49
    Minor Bun engine made Benny Lava!

  8. #22
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120
    Gracias (Dadas)
    19
    Gracias (Recibidas)
    47

    2ª actividad de Houdini pintar una bola resolucion

    Manyana más.
    Minor Bun engine made Benny Lava!

  9. Gracias mundo 3d Agradece este post
  10. #23
    Usuario Senior
    Fecha de ingreso
    Jan 2007
    Mensajes
    43
    Gracias (Dadas)
    0
    Gracias (Recibidas)
    0

    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.

  11. #24
    Nivel Héroe
    Fecha de ingreso
    Sep 2005
    Ubicación
    en los Madriles
    Mensajes
    860
    Gracias (Dadas)
    67
    Gracias (Recibidas)
    76

    2ª actividad de Houdini pintar una bola resolucion

    Gracias Slime, muy bien explicadito todo.
    "Digresionando"

  12. #25
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,968
    Gracias (Dadas)
    26
    Gracias (Recibidas)
    49

    2ª actividad de Houdini pintar una bola resolucion

    Borrar.

  13. #26
    Administrador Avatar de SHAZAM
    Fecha de ingreso
    Apr 2002
    Ubicación
    28.10º N 15.43º W in a blue planet of Solar System.
    Mensajes
    21,114
    Gracias (Dadas)
    599
    Gracias (Recibidas)
    2102

    2ª actividad de Houdini pintar una bola resolucion

    Muchas gracias master. Tendré un ratio libre en el trabajo 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

  14. #27
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,968
    Gracias (Dadas)
    26
    Gracias (Recibidas)
    49

    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.

  15. #28
    Chico Houdini Avatar de MiguelPerez
    Fecha de ingreso
    Dec 2005
    Ubicación
    Valencia, España
    Mensajes
    940
    Gracias (Dadas)
    0
    Gracias (Recibidas)
    2

    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.
    Pero sí, aunqueda mucho.

  16. #29
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,968
    Gracias (Dadas)
    26
    Gracias (Recibidas)
    49

    2ª actividad de Houdini pintar una bola resolucion

    Pero sí, aunqueda mucho.
    Por eso digo cuando me de su permiso, o sea, cuando termine.

  17. #30
    Tresmiltornillero Avatar de Leander
    Fecha de ingreso
    Oct 2004
    Ubicación
    Zaragoza (ESPAÑA)
    Mensajes
    10,968
    Gracias (Dadas)
    26
    Gracias (Recibidas)
    49

    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
    : 30-03-2011, 16:06
  2. 5 actividad de Houdini limite de impactos
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 7
    : 30-07-2008, 22:28
  3. 4 actividad de Houdini pelotas rompemuros
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 56
    : 29-07-2008, 01:52
  4. 2 actividad de Houdini pintar una bola
    Por slime en el foro Actividades 3DPoder
    Respuestas: 152
    : 24-02-2008, 21:57
  5. 1 actividad de Houdini partículas avanzadas
    Por MiguelPerez en el foro Actividades 3DPoder
    Respuestas: 166
    : 27-12-2007, 17:17