XSIforum.com

Simulate Rigid Bodies

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

Simulate Rigid Bodies
« en: 08 Diciembre 2010, 18:12:45 »
A ver si me podéis echar un cable

Tengo una simulación con partículas instanciadas que, mediante un Simulate Rigid Bodies, caen al suelo.

El problema es que no terminan de tocar el suelo y por tanto parece que se queden flotando.
He tocado mil cosas...
  • Tamaño del objeto base
  • La precisión del nodo Simulate Rigid Bodies (ahora está a 1000)
  • El tamaño de las partículas (que al estar instanciadas no creo que sirva de mucho)

Qué puedo hacer?

Re: Simulate Rigid Bodies
« Respuesta #1 en: 09 Diciembre 2010, 19:27:53 »
Tan chungo es? No me creo que no le haya pasado a nadie XD

También me ha dado por:
  • Bajar la precisión a escalas más manejables. Ahora está a 60 (que es lo que viene por defecto). En este caso las instancias colisionan donde deben, pero luego se elevan a la distancia que puse en la imagen
  • He cambiado el grid del suelo por un cubo (a ver si iba a ser por eso). Pese a que hago los respectivos cambios en el árbol de ICE, ahora las partículas ni siquiera llegan a colisionar. Lo mismo ocurre si en lugar del cubo pongo un grid nuevo. No he cacheado nada.

Re: Simulate Rigid Bodies
« Respuesta #2 en: 10 Diciembre 2010, 03:08:32 »
Mírate la forma de colisión, por defecto no acepta "forma real" sino cubos y esferas... para colisiones más detalladas hecha un vistazo a Lagoa o a la implementación de Bullet mediante Momentum de Studio Nest.

gab

Re: Simulate Rigid Bodies
« Respuesta #3 en: 10 Diciembre 2010, 08:30:29 »
Has tenido en cuenta el centro del objeto instanciado?

Re: Simulate Rigid Bodies
« Respuesta #4 en: 10 Diciembre 2010, 16:16:23 »
Gracias por vuestras respuestas.

César: Las opciones que comentas no existen o no las veo. El nodo Simulate Rigid Bodies sólo admite valores on/off, de elasticidad, fricción estática y dinámica; nada más.

Gab: el centro estaba movido, pero lo he vuelto a hacer todo desde cero, con un objeto freezeado en el 0,0,0 y continúo teniendo el mismo problema.
No obstante esto me ha hecho pensar que quizás el fallo no sea de la simulación, ni de la instancia, ni de los centros, sino del suelo. Aun así sólo es un grid...

Seguiré probando. Espero poder postear para decir que lo he solucionado

Re: Simulate Rigid Bodies
« Respuesta #5 en: 10 Diciembre 2010, 16:39:33 »
Ya lo tengo. Al final no era problema del suelo.

Resulta que si en el slider 'Elasticity' del nodo Simulate Rigid Bodies pongo un valor de 0,009 o superior, me dará el problema que os comento. Si lo bajo se soluciona.

A esto no lo puedo llamar solución ya que no hay explicación sólida que justifique este error, pero al menos es un parche que me sirve para salir del paso

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Simulate Rigid Bodies
« Respuesta #6 en: 12 Diciembre 2010, 17:55:38 »
Otra forma de solucionarlo es setear self.CollisionScale a un 3D vector menor de 1,1,1.

Re: Simulate Rigid Bodies
« Respuesta #7 en: 12 Diciembre 2010, 19:48:25 »
Por qué?

Re: Simulate Rigid Bodies
« Respuesta #8 en: 12 Diciembre 2010, 21:41:13 »
Es lo que te comentaba antes, el objeto de colisión no tiene la forma real de la instancia sino la de su bounding box, en el collisionscale puedes escalar el bounding box de forma que se adapte mejor a tus necesidades...

Y te repito lo mismo que al principio, si quieres colisiones más precisas prueba con Momentum o incluso Lagoa, las colisiones en RBD nativos de ICE están en pañales.
« Última modificación: 12 Diciembre 2010, 23:46:12 por César Sáez »

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Simulate Rigid Bodies
« Respuesta #9 en: 13 Diciembre 2010, 08:24:11 »
Las de Momentum son perfectas, aunque no soportan instancias animadas de momento.