Saco de arena roto con partículas

abielmuren - 25/02/2007 04:52
Hola a todos, me gustaría si alguno de ustedes sabe cómo puedo hacer un efecto de arena con partículas en el que estas se van acumulando al caer. Lo que quiero hacer es un saco de arena suspendido en el aire además de roto, del cual cae arena y por un tiempo esta se va acumulando como lo hacen los relojes de arena. Me gustaría obtener un efecto bastante realista, pero he intentado un poco en realidad no conozco casi nada de partículas.

Estoy manejando 3ds Max 7 y voy a renderizarlo con ayuda de Vray.

Les agradezco mucho, gracias.
luis3d - 25/02/2007 20:49
A ver si tu experiencia no es mucha la idea es bastante ambiciosa, puedes manejar mapas de opacidad y usar partículas de max con algo de desenfoque para ellas.
bealobo - 25/02/2007 22:38
Fluidos granulares, eso es muy difícil de simular, el comportamiento se asemeja a un fluido, pero en realidad es como una simulación de cuerpos rígidos muy pequeños y en enormes proboolean.

Puedes intentar hacer alguna ñapa con partículas y que parezca que se va llenando algo con algún tipo de morphing.
MiguelPerez - 26/02/2007 14:49

Fluidos granulares, eso es muy difícil de simular, el comportamiento se asemeja a un fluido, pero en realidad es como una simulación.

Hablando de fuidos granulares, mirad esto: http://graphics.CS, uiuc.edu/~wnbell/.

Bajaros el vídeo y mirad el paper, que está muy guay.
Bilbo - 26/02/2007 15:26
3dsMax trae un tutorial sobre cómo hacer un reloj de arena. Tal vez te pueda ayudar leerlo. Suerte.
bealobo - 26/02/2007 18:17
Interesante, interesante. Gracias Miguel.
slime - 27/02/2007 02:23

Fluidos granulares, eso es muy difícil de simular, el comportamiento se asemeja a un fluido, pero en realidad es como una simulación de cuerpos rígidos muy pequeños y en enormes proboolean.

Puedes intentar hacer alguna ñapa con partículas y que parezca que se va llenando algo con algún tipo de morphing.

Pues sí, la arena es complicada de simular, por esas razones. Simular un poco de arena correctamente puede tardar muchos días en ordenadores super potentes, así que, hay que buscar alternativas, con 3ds Max y con las herramientas por defecto, lo que te aconsejo es que, animes una pila creciendo y tires muchas partículas encima para simular que se van a apilar. No va a quedar realista, pero es lo mejor que puedes hacer sin entrar en software propietario y sistemás complejos.

Yo tuve que resolver ese problema hace algo más de un año y la solución fue utilizar un sistema de partículas para modificar un height field proceduralmente que crecía en forma de pila. Utilizando un sistema de cuerpos rígidos propietario basado en esferas que colisione con esa animación se consiguen unas dinámicas decentes, aunque las esferas son demasiado grandes y dejando la simulación corriendo por la noche solo conseguía simular unas veintitantas mil partículas en cien fotogramas, y eso que el sistema esta tremendamente optimizado, esa animación generada por la simulación se transfiere a un campo vectorial y se crea una simulación nueva, esta vez con partículas sin colisiones entre ellas, pero generando el movimiento a través de ese campo vectorial. Con instanciación, utilizando la simulación de cuerpos rígidos y la de partículas es posible conseguir apilamiento de arena fotorrealista, dentro de un par de meses podre mostrar cosas.
Ánimo con ello, abielmuren. Vete mostrando tus progresos por aquí. Un saludo.
slime - 27/02/2007 02:26
Vaya, y muy interesante el enlace, Miguel, aunque esa técnica no se puede usar para conseguir arena fotorrealista, porque cuanto más pequeños son los granos, los tiempos de cálculo suben exponencialmente, en el video, la arena parecen palomitas de maíz miniaturizadas.
bealobo - 27/02/2007 10:39
A mí me gusta mucho la parte del vídeo del derrumbamiento (o que tiene aspecto de) porque parece grava. Gracias por la información, Slime. No te olvides de enseñarnoslo cuando puedas.
MiguelPerez - 27/02/2007 16:51
Que interesante. Ya tengo ganas de que salga la película y enseñes vídeos de los sistemas de fragmentación y arena.
abielmuren - 27/02/2007 20:01
Hola a todos, Miguel en cuanto tenga renderizado el video subiré un poco, pero lamento mucho que no sea una película, me gustaría mucho que así fuera, algún día quiero participar en una, sería una experiencia emocionante y divertida.

He estado dándole un vistazo a todo lo que dicen, y en efecto las pocas veces que he trabajado con partículas se me ha hecho bastante cálculo el que se requiere, me pregunto si habrá otra técnica simulado con maps y pocas partículas, aunque eso sería más bien para juegos o algo así, pero, en fin se necesita mucho calco para simular todos esos pequeños objetos, voy a probar un poco con las cosas que me han dicho y haber que logro.

Sigan publicando por favor, si no puedo contestar inmediatamente no se desanimen si los leo, gracias y sigan publicando.

Pregunta: existe algún plugin que haga algo similar, pero con menos cálculo?
MiguelPerez - 27/02/2007 20:10

Hola a todos, Miguel en cuanto tenga renderizado el video subiré un poco, pero lamento mucho que no sea una película, me gustaría mucho que así fuera, algún día quiero participar en una, sería una experiencia emocionante y divertida.

Eso iba para Slime y Spiderman 3.

Pero también tengo ganas de ver lo que te sale a ti.
MiguelPerez - 28/02/2007 18:11
Espero que no te importe, abielmuren, que ponga esto aquí. He hecho una prueba de un chorro de arena amontónandose. Lo que he hecho es una simulación en dop con unas esferas pequeñas, unos 10 minutos, y luego usar las velocidades de las esferas transfiriéndolas a un sistema de partículas. No es perfecto, pero creo que queda bastante bien la arena deslizándose hacia abajo por el montóncito. Como la simulación esta grabada a disco, la lentitud del proceso solo depende de si le pones más o menos partículas al chorro final.

A ver si os gusta: http://www.miguelperezsenent.com/media/tests/sand1.avi.

Debería haber hecho el chorro como un hilo de arena para que se apreciará major, no tan grueso.
bealobo - 28/02/2007 18:21
Tiene buena pinta, ¿cuántas esferas tienes en la simulación? Me imagino que habrás puesto bastante fricción a las esferas para tener ese comportamiento, ¿no?
Y otra pregunta, al transferir las velocidades al sistema de partículas, imagino que no lo hace por id porque tendrías el mismo número de esferas que de partículas. ¿cómo lo hace? ¿en plan mapeo por volumen?
Está muy chulo.
MiguelPerez - 28/02/2007 18:29
Gracias, me alegro de que te guste. Pues tiene al final de la secuencia 1512 esferas, te pongo una captura a mitad. En efecto, se consigue ese apilamiento con mucha fricción.

Las velocidades se transfieren por proximidad desde estas esferas a las partículas.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #44714

TBC3D - 28/02/2007 18:54
Yo leí el primer mensaje del hilo hace unos días y me dije lo tendrá difícil, recién leo el último escrito por Miguel, y me digo: como este tío meta mano en esto.

Así que me metí sabiendo que iba a ver alguno de sus ensayos.

Muy bueno. Pero como dicen por ahí arriba, el problema son las pelotinitas y su cálculo.

Ahora pregunto a los expertos: ¿Qué pasa si usamos el gas de RealFlow para la arena, se podría mentir un poco más así? Saludos.
MiguelPerez - 28/02/2007 18:57
Hey, gracias TBC3D. El cálculo de las esferas no ha durado casi, es una cosa muy simple que solo sirve para mover las futuras partículas.
bealobo - 28/02/2007 19:15
Esta guay.
bealobo - 28/02/2007 19:21
TBC3D, lo que ha hecho Miguel no es una simulación de fluido granular sino un sistema de sólidos rígidos (que para esto hay muchas opciones como Reactor, Houdini, RealFlow,) y ha pasado esos movimientos a las partículas.

Está muy bien pensado el sistema.

Vaya, el gas de RealFlow no serviría para esto.
Ballo - 28/02/2007 19:21
¿Y cómo se ha solucionado al hombre de arena de Spiderman 3, Slime?
bealobo - 28/02/2007 19:24
Una cosa, por mi comentario anterior igual alguien se pregunta por que no se puede simular esto son sólidos rígidos directamente. Y no se puede porque los sistemas actuales no permiten tanta cantidad de objetos como la que sería necesaria. No sería eficaz respecto al tiempo de cálculo.
lisux - 28/02/2007 19:48

Espero que no te importe, abielmuren, que ponga esto aquí. He hecho una prueba de un chorro de arena amontónandose. Lo que he hecho es una simulación en dop con unas esferas pequeñas, unos 10 minutos, y luego usar las velocidades de las esferas transfiriéndolas a un sistema de partículas. No es perfecto, pero creo que queda bastante bien la arena deslizándose hacia abajo por el montóncito. Como la simulación esta grabada a disco, la lentitud del proceso solo depende de si le pones más o menos partículas al chorro final.

A ver si os gusta: [url]http://www.miguelperezsenent.com/media/tests/sand1.avi[/url].

Debería haber hecho el chorro como un hilo de arena para que se apreciará major, no tan grueso.

Una pregunta, has usado RBD point para las simulación de rbdsí.

Esta pensado para optimizar simulaciones como la que has hecho de las esferas, otra cosa, para pasar las velocidad a las partículas has empleado un attribute transfer? Como?
Queda muy chulo.
MiguelPerez - 28/02/2007 21:12
Si Lisux, he usado el RBD point. Lo de teransferir las velocidades lo he hecho simplemente con un attribute transfer pop haciendo referencia a las esferas.

Esto vi que funcionaba probando hace tiempo a mover partículas con el Vector velocidad y un attribute transfer. Te pongo un vídeo que hice, moviéndose solo en 2d. http://www.miguelperezsenent.com/etc/fluids/flu1.avi. http://www.miguelperezsenent.com/etc/fluids/field.jpg.
slime - 28/02/2007 22:34
Buen comienzo, Miguel. Se parece mucho a la primera prueba que hice. Por que no abres un hilo nuevo para no ensuciar este? Un saludo.
lisux - 01/03/2007 09:55

Si Lisux, he usado el RBD point, lo de teransferir las velocidades lo he hecho simplemente con un attribute transfer pop haciendo referencia a las esferas.

Esto vi que funcionaba probando hace tiempo a mover partículas con el Vector velocidad y un attribute transfer. Te pongo un vídeo que hice, moviéndose solo en 2d. [url]http://www.miguelperezsenent.com/etc/fluids/flu1.avi[/url]
[url]http://www.miguelperezsenent.com/etc/fluids/field.jpg[/url].

Ostras que bueno, nunca había usado el attribute transfer pop para pasar de dop a pop, es posible que se pueda hacer lo mismo con el pop Solver, aunque ya no sé cuál sería más eficiente, no lo he probado nunca.
TBC3D - 01/03/2007 17:51
Bueno, aquí estáis vosotros haciendo ensayos serios y vengo yo con esta chorrada, pero que en casos de apuro puede servir.

Hay que pulirlo, pero la idea es esa. Un cilindro con una textura que baja a toda pastilla y ya. Un saludo.
MiguelPerez - 01/03/2007 17:58
No queda mal para algo ton, TBC3D. Lo que pasa es que estábamos hablando de conseguir amontónamiento de arena, no de un chorro de arena. La dificultad es esa.
TBC3D - 01/03/2007 18:14

No queda mal para algo ton, TBC3D. Lo que pasa es que estábamos hablando de conseguir amontónamiento de arena, no de un chorro de arena. La dificultad es esa.

Sí lo sé, pero como mi cerebro da hasta ahí, pues hice eso.

De todos modos, estaba probando hacer amontónamiento con el push de max sobre una malla poligonal editable, pero no me graba el movimiento del pincel. En tiempo real se podría conseguir algo muy interesante.

Si alguien sabe si se puede grabar esa acción, o si se pudiera hacer un script para tal, pues no quedaría mal. Un saludo.
bealobo - 01/03/2007 18:54
TBC3D, métele algo de polvo alrededor del chorro y la base, y dará el pego más.
TBC3D - 01/03/2007 21:17

TBC3D, métele algo de polvo alrededor del chorro y la base, y dará el pego más.

Sí, lo se.había pensado en darle un Glow al chorro, para simular un poco la arena alrededor, pero de momento no tengo más tiempo para eso. Un saludo.
Birkov - 01/03/2007 21:46
En plan chapuza siempre puedes poner un cono que suba atravesando el suelo mientras dejas caer partículas sobre su superficie, de esta forma con pocas partículas se puede hacer algo que del pego (de lejos claro, para un primer plano no cuela ni de coña) con un porcentaje aleatoro de partículas que se peguen al cono y otras que resbalen sobre la superficie.
ichavarrom1 - 18/04/2007 17:57
Hola soy un ingeniero que está haciendo la presentación de un taladro que sale de la tierra y este efecto de la arena me parece genial para incluirlo en mí animación en 3dsmax mi conocimiento es término medio, e intentado hacerlo con real flow pero no me ha ido bien por favor si me dijeran como manejar los atributte transfer por que lo de simular con Reactor ya lo hice. Gracias por la ayuda.

Links a tutoriales donde hagan esto bienvenidos sean. Gracias.
MiguelPerez - 19/04/2007 16:54

E intentado hacerlo con real flow pero no me ha ido bien por favor si me dijeran como manejar los atributte transfer por que lo de simular con Reactor ya lo hice. Gracias por la ayuda.

Estábamos hablando de Houdini, max creo que no tiene nada parecido.

El sistema se basa en hacer una simulación de cuerpos rígidos grandes, y transferir las velocidades a miles de partículas.

Y creo que hacer algo así con RealFlow es una soberana pérdida de tiempo.
NeCRoManCeR - 19/04/2007 17:21
Creo que están cometiendo un error al usar esferas para simular arena, con cubos quedaría perfecto.
bealobo - 19/04/2007 17:29

Y creo que hacer algo así con RealFlow es una soberana pérdida de tiempo.

Yo creo que dependerá del nivel de realismo y detalle a conseguir en realidad, el método que tú has usado da mucho el pego, pero no es una simulación real.

Ahora, es cierto que simular fluidos granulares con Real Flow es muy difícil y será lento y requerirá mogollón de trabajo y tal vez no te merezca la pena.
MiguelPerez - 19/04/2007 17:42

Creo que están cometiendo un error al usar esferas para simular arena, con cubos quedaría perfecto.

Si eso luego no se ve. Si simulo 1000 esferas, el movimiento se transfiere a 1.000.000 partículas. Y con esferas, la simulación es más precisa que con cubos.
fclaveria - 29/04/2007 19:23
Hay un plugin llamado Sandblaster ese te pude servir yo lo he ocupado con muy buenos resultados. Saludos.