XSIforum.com

Escena heavy por culpa de instancias

0 Usuarios y 1 Visitante están viendo este tema.

Escena heavy por culpa de instancias
« en: 21 Abril 2010, 22:34:14 »
Tengo una pointcloud de 1.000 partículas que me van de lujo para el efecto que busco.
El problema viene cuando creo una esfera (tal cual, es decir, subdividida a 8 x 8 ) y la instancio a la pointcloud.
A partir de ahí la escena se vuelve lentísima. No hay huevos de hacer un Screen Capture por que tarda la tira.
Tengo la escena en shaded; sin nada en especial.
¿Es normal que se vuelva todo tan lento al instanciar partículas en ICE?

Unaided

  • ***
  • 3293
Re: Escena heavy por culpa de instancias
« Respuesta #1 en: 21 Abril 2010, 23:25:32 »
Te pasa lo mismo si el objeto instanciado es un grid con división 1x1 (un poligono de 4 puntos)?
El tamaño del objeto también creo que puede ser determinante, especialmente si tienes activado el self-intersecting o intercollide.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Escena heavy por culpa de instancias
« Respuesta #2 en: 22 Abril 2010, 04:28:09 »
Por que quieres una esfera? Por que no usar la primitiva Sphere?

Por cierto, si miras en la propiedad Particle Display del cloud puedes enforzar un look diferente a las particulas. Por ejemplo puedes continuar instanciando como quieras pero mostrarlo como Points.

Re: Escena heavy por culpa de instancias
« Respuesta #3 en: 22 Abril 2010, 13:00:26 »
Gracias por las answers 8)

Unaided, me pasa igual con un polígono simple. Respecto al tamaño, la esfera es de 2 unidades softimage y las instancias de 1 (para que tengan el mismo tamaño que el objeto de referencia), por lo que no me estoy manejando en valores disparatados.

Alanf, no estoy seguro de entender a qué te refieres; qué diferencia hay entre una esfera y una primitive > sphere?
Yo partí de una primitiva sphere a la que le hice unas proyecciones, shaders y texturas específicas para tener el aspecto de una bola de metal oxidado y luego me interesó crear una pointcloud a raíz de ella, usando el compound Instance (que va conectado al shape de la emisión)

Lo de mostrar las partículas con aspecto diferente al que tienen en render me puede funcionar bien para trabajar en la escena, pero también debo hacer un screen capture lo más fielmente posible a lo que saldrá en render (temo que por más explicaciones que le de, el tío de sonido no interpretará la secuencia si ve caer nulls que si ve caer esferas) y es por eso que debo hacer una captura, aunque solo sea una.

En fin, poco a poco he ido entendiendo que es normal que la escena me vaya lenta. Aunque sólo son 1.000 partículas, todas tienen cálculos complejos, como bouncing surfaces y no puedo hacer un delete particle ya que no es humo que se desvanece, con lo cual la carga de geometría acaba siendo bestia y de ahí la lentitud.

Ahora entra en juego mi paciencia y mi habilidad para manejarme con una escena así.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Escena heavy por culpa de instancias
« Respuesta #4 en: 22 Abril 2010, 15:21:51 »
Bueno, una particula de shape Sphere deberia ser mas ligera que instanciar una esfera. Pero me dices que es una bola oxidada, y las shape Sphere no tienen UVs asi que instanciar es lo mas correcto.

Supongo que estas usando Instance Shape en vez de Set Instance Geometry, correcto?

Otra opcion util en el Particle Display es "Display %" (y Animation Detail %, pero no en este caso.) Hace que solo muestre un porcentaje de las particulas totales. (Ya se, no es bueno para una captura, pero si sabes que las particulas van bien y solo quieres un par de ellas para saber cuando aparecen o lo que sea, es util.)

Por ultimo, me imagino que no has subdividido tu esfera, no? Geometry Approximation esta a 0?

Re: Escena heavy por culpa de instancias
« Respuesta #5 en: 22 Abril 2010, 16:10:37 »
En efecto, no está subdividida. Es como describí al principio: una esfera 8 x 8.
Al abrir este hilo tenía la duda de si era normal que pesara tanto la escena, pero a medida que me he ido manejando con ella y he hecho pruebas, me he dado cuenta de que ha de ser así ya que la carga de información es colosal. Qué le vamos a hacer.
Gracias por tu interés ;)

Unaided

  • ***
  • 3293
Re: Escena heavy por culpa de instancias
« Respuesta #6 en: 23 Abril 2010, 00:25:05 »
He probado con los datos que das (sphere de 8x8 y 1000 particulas de ratio)y a mi no me va lento. Tanto en playback como al hacer una ScreenCapture, el framerate me oscila entre 16 y 23fps (con el capturador de video se reduce un tanto, logicamente, pero no lo veo pesado de reproducir).

http://www.youtube.com/watch?v=Ubb1EZ0FPGA#lq-lq2-hq-vhq-hd

http://www.youtube.com/watch?v=wTvPQi9y4AI#lq-lq2-hq-vhq

Nota: Yo sigo con el XSI 7.01 y tampoco sé cuan complejo es tu caso/escena, si el emisor es una geometría compleja por ejemplo...
« Última modificación: 23 Abril 2010, 00:33:41 por Unaided »

Re: Escena heavy por culpa de instancias
« Respuesta #7 en: 23 Abril 2010, 01:22:31 »
Te lo has currado, Unaided. Te cuento:

En mi escena, representa que las partículas son una lluvia de bolas de metal. El emisor por tanto, es un grid muy grande (como si fuera una nube) que está animado. No me he emocionado subdividiendo el grid; tan sólo bastaba con que fuera algo cuadriculado ya que ni siquiera saldrá en render.

Las partículas tienen un bounce off surface para que no atraviesen el suelo. He buscado unos parámetros que las hagan rebotar ligeramente (sólo un poco ya que son bolas de metal) y se queden reposando. Esto implica que también hay un Add Forces y un Gravity.

Por supuesto, en la escena también está el personaje principal animado, además del set.

Por último, como dije antes con Alanf, el objeto base del que las intancias toman referencia es una esfera con UV´s y algunas texturas de bump, environment y specular conectadas.

Creo que la suma de todo ello es lo que hace que a mi me vaya lento. Cuando hice la prueba que me sugeristes usando un polígono simple también me iba lento, pero era en la misma escena, con toda esa carga.
No he hecho la prueba en una escena limpia, pero es de suponer que me iría más fluido, como ocurre en tu caso. De lo contrario ya puedo ir tirando mi equipo a la basura.

Te agradezco la currada