XSIforum.com

Aumentar el framerate de un Rig

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

Aumentar el framerate de un Rig
« en: 28 Octubre 2009, 17:06:05 »
¡Buenas! Este es mi primer post, así que mando un saludo a todos los foreros  O0

Hace poco he hecho un rig con cantidad de controles y opciones de strech (parecido al Ccrig), y ahora esta siendo probado por varios animadores.
La mayoría de ellos han encontrado problemas a la hora de poner el personajillo a 25 fps, lo que me ha llevado a pasar el rig (sin geometría) por el debugger de softimage 2010.
Os paso un Screen con los resultados.

Como podéis ver, la mayor parte del rendimiento se lo come un tal SkeletonCtrlOpProp... Alguien sabe como podría evitar eso?

Como apunte, he estado probando el debugger con el Primitive-Model-Biped Rig y los resultados son algo parecidos, lo que lleva a preguntarme en que debe consistir ese operador...


Gracias de antemano.



¡Un saludo!

 

Re: Aumentar el framerate de un Rig
« Respuesta #1 en: 28 Octubre 2009, 21:01:59 »
Hola,

Me imagino (viendo los nombres de los deformers que lo contienen) se refiere al solver ik de tus cadenas.

El tema del FPS de un rig es complejo, al principio piensas en ponerle todo al rig pero luego cuando estás en producción te das cuenta de que debe ser animado y ligero, ojalá existiese un botón para solucionarlo y ya pero pasa por la estructura de tu rig y como te lo montes, con un poco de autocrítica y tocando el rig no es difícil darse cuenta donde "le cuesta" (en tu caso seguro que con las manos) y en base a eso buscar una solución para lograr el mismo comportamiento pero sin provocar tanto impacto en el rendimiento (si es que se puede) o ya directamente evaluar si merece la pena tener eso vs un rig rápido.

Por cierto, el ccrig no es especialmente rápido, si vas a tener muchos personajes en el visor simultaneamente yo me compararía con un rig que si de los FPS necesarios... que no se mal entienda, es un excelente rig pero es lento.

Re: Aumentar el framerate de un Rig
« Respuesta #2 en: 29 Octubre 2009, 12:19:23 »
gracias por tu respuesta César.

He estado mirando mas profundamente el tema y parece que como bien dices, son los solvers ik.
Me sorprende que las iks se coman hasta un 60% del rendimiento en los rigs (el biceproll y forearmroll no llega al 15%). He provado a cambiar el solver de Softimage|3D solver a Softimage|XSI solver, pero no noto cambio alguno en los resultados del debbuger.

Por lo que he podido testear, al tener varios chains en un mismo Model (+constraints/parents entre ellos) los "animation operators" se disparan.
Con el biped Rig en escena y dando al play (sin animar) consigo 210 fps. Si borro todos los dedos de las manos, el framerate sube hasta 350 fps.

De momento voy a borrar las chains que uso para la FK y las sustituiré por simples controladores.

acias!

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Aumentar el framerate de un Rig
« Respuesta #3 en: 29 Octubre 2009, 16:04:28 »
Rchals, has probado quitar y reaplicar el Envelope? En el mailing list dicen que aumenta el FPS bastante al ponerle el Envelope operator del 2010.

Re: Aumentar el framerate de un Rig
« Respuesta #4 en: 29 Octubre 2009, 16:58:02 »
Acabo de probar lo que me has sugerido alanf, y la verdad no se nota demasiada diferencia.
Lo de borrar las chains de FK si que ha dado algo de resultado, aunque no para tirar cohetes. De momento la solución que han encontrado los Animators para ver el personaje en realtime es ponerlo en modo lowpoly sin junturas y esconder las manos.
Algo es algo jeje

Re: Aumentar el framerate de un Rig
« Respuesta #5 en: 29 Octubre 2009, 22:09:21 »
Rchals, has probado quitar y reaplicar el Envelope? En el mailing list dicen que aumenta el FPS bastante al ponerle el Envelope operator del 2010.
Lo del envelope se refiere a los "atajos" en la reevaluación de normales en el envelope del 2010... lo que comenta Rchals tiene que ver con el rendimiento del rig (sin considerar deformaciones).

Por cierto, lo del nuevo envelope ayuda muchísimo en cuanto a deformaciones, la diferencia con las versiones anteriores es abismal!

Re: Aumentar el framerate de un Rig
« Respuesta #6 en: 02 Noviembre 2009, 16:09:12 »
He seguido con algunos tests y me he dado cuenta que el famoso SkeletonCtrlOpProp aparece en cuanto un hueso tiene animación (o expresiones, o constraints, o cualquier cosa que vaya a sus kinematicas).
Cuantas mas chains "animadas" tengas dentro de un mismo rig, el rendimiento empezará a decaer. Así que poco puedo hacer al respecto. En el setup de mi spine no uso ni un solo hueso y es la parte del rig que va mas rápida con diferencia.

De momento, como ya dije, he prescindido de Chains para las FKs, y voy a ver que mas puedo ratear por el rig. La solución sería inventarme un solver IK propio xD pero no tengo ni tiempo ni talento, osea que tendré que buscarme excusas para los animadores.

¡Gracias por vuestra ayuda!
Un saludo


Re: Aumentar el framerate de un Rig
« Respuesta #7 en: 02 Noviembre 2009, 16:44:19 »
tendré que buscarme excusas para los animadores.
:knuppel2:

Re: Aumentar el framerate de un Rig
« Respuesta #8 en: 03 Noviembre 2009, 00:26:11 »
Alguna vez tuvimos una conversación pseudo filosófica con Agedito sobre esto de que el solver forme parte de un chain y que esté presente siempre aunque no se necesite... si al final voy a tener razón y todo :P

Por cierto, que pasada poder ver el rendimiento de cada parte del rig y con números, no más especulaciones :)