XSIforum.com

Foros 3D => Autodesk Softimage => Animación => Mensaje iniciado por: Eloihm en 13 Agosto 2009, 15:44:15

Título: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 13 Agosto 2009, 15:44:15
Hola!:

Tengo una duda que me corroe las entrañas como aquel vodka de 0.30€/litro que compré en un callejón (pero esa es otra historia):

Supongamos que quiero hacer un videojuego de futbol, con lo que modelo un jugador (que será un modelo) y le pongo, digamos, tres animaciones (correr, deslizarse y chutar, por ejemplo). Ahora creo 10 Instancias.

El problema es que cuando le active una animación al modelo, voy a tener 10 tipos chutando a puerta al mismo tiempo, en perfecta coordinación.

La cuestión es si hay algún modo de aplicar a una instancia una animación, a otra instancia otra animacion, a una tercera ninguna, etc...

Yo lo que he hecho es exportar la animación del modelo e importarla en la instancia. Por supuesto, la instancia no se mueve al activar su animación, pero si que se le crea un mixer, y la animación la tiene guardada en él (este punto es muy importante para mí, ya que el programador puede disparar las animaciones a su voluntad, pero deben estar en un mixer). Por otro lado, al exportar en dot.xsi, en el archivo de texto, todo está correcto, pero al importar de nuevo la escena, el mixer y la animación de la instancia están en el root de la escena.


No sé si me he explicado bien.

¿alguna sujerencia?
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 13 Agosto 2009, 18:26:15
Esto es trabajo para ICE! :D ::)
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 13 Agosto 2009, 18:49:08
Oh, My Dog!

Pues ahora si que tengo miedo, porque no tengo ni la más remota idea de como se usa ICE!
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 13 Agosto 2009, 19:28:21
Pues ya es hora de aprender! :P

Un crowd estupido es muy muy muy simple de crear.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 13 Agosto 2009, 21:34:19
ok, pues buscaré por ahí algun tutorial para ver que saco en claro!

Muchas gracias!

PD: Si a alguien se le ocurre algun link o algo, además de la documentación del programa, yo le echaría un ojo con gusto!
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 13 Agosto 2009, 21:43:51
Las escenas de ejemplo que vienen en XSI_SAMPLES es un buen sitio para empezar.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Sumatra en 13 Agosto 2009, 22:30:53
Esto es trabajo para ICE! :D ::)
¿Significa que antes de ICE no se hubiera podido hacer?
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 13 Agosto 2009, 22:38:58
¿Significa que antes de ICE no se hubiera podido hacer?
No se puede hacer offset de animacion en model instances. Tendrias que duplicar el modelo. La escena se volveria muy pesada tras un par de duplicas. No merece la pena.


O sea, se "puede" (de forma manual), pero no igual de flexible, comodo, instantaneo, facil y rapido que usar ICE. Puedes tener cientos de personajillos moviendose con diferentes offsets de animacion y es practicamente instantaneo de evaluar/ejecutar.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Sumatra en 13 Agosto 2009, 22:49:41
Ok, me refería a si no se podría hacer mediante scripting? ICE es, al fin y al cabo, una "interface" de programación adaptada a memos como yo, que veo una línea de código y entro en depresión.
Digo yo que si un script creado en ICE puede hacerlo, ¿un script fuera de ICE no podría?
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 13 Agosto 2009, 22:51:33
¿un script fuera de ICE no podría?
Por supuesto, pero es un desperdicio de recursos cuando es tan facil hacerlo con ICE, por no mencionar que scripting no es multithreaded/multicore y como dije, muchas duplicaciones = super lento.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Sumatra en 13 Agosto 2009, 23:13:40
¿Significa que antes de ICE no se hubiera podido hacer?
Sí; si se podría

XDDD
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Cesar Saez en 14 Agosto 2009, 09:38:40
Con las antiguas partículas si que se podía hacer, que nadie ha visto la antigua reel de Agedito? ;)
Título: Re: Aplicar Animaciones a Instancias
Publicado por: sirdavid32 en 03 Septiembre 2009, 03:10:08
Elohim, lo que dice Alanf, es verdad, yo he probado de hacer duplicaciones de modelos (el muñeco del crosswalk en el semáforo - super simple de geometría) y a la hora de animar, puedo ponerle clips guardados (por ejemplo en mi escena saltaba). Luego hacerlo MODELO INTERNO y cargarle INDEPENDIENTEMENTE el CLIP. Hasta ahi todo bien, se animaba....
El problema es que al tercer muñeco DUPLICADO ya la escena se me moría de lenta incluso en visor de geometría.
Asi que resolví que a los 3 modelos duplicados les sacaría INSTANCIAS DUPLICADAS. Ahi si la escena se me llenó de muñecos pero ya en algo mas razonable en cuanto a número y movimiento puesto que los distribuí por layers que podía apagar / encender, y como magia la escena ya no se ralentizaba.... (experiencia de distribuir grandes geometrías de los tutos de blender...ouff).

Y dada estas circunstancias, en mi ultima animación con varios personajes, decidí importar "el modelo", instanciarlo y aplicarle clips individuales en el mixer.

Me parece que ibas por ese camino, verdad?

ok: Sobre lo de utilizar ICE. No sé exactamente cómo mixers independientes se puedan controlar via ICE, pero yo tambien recién estoy atrapando cuanta info me caiga sobre esto, pues al parecer ICE -como el $ verde- lo resuelve.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 03 Septiembre 2009, 03:39:51
ok: Sobre lo de utilizar ICE. No sé exactamente cómo mixers independientes se puedan controlar via ICE, pero yo tambien recién estoy atrapando cuanta info me caiga sobre esto, pues al parecer ICE -como el $ verde- lo resuelve.
No funciona como dices. No hay Mixers.

Basicamente instancia geometria existente (por ejemplo un modelo animado caminando) y te permite controlar el tiempo (current frame / frame actual) independientemente en cada instancia. O sea, nada de animation clips ni blending de animaciones ni cosas complejas.

Basicamente le dices cuando quieres que empieze la animacion, a que velocidad y si quieres que se repita (haga looping) una seccion de tiempo o continue infinitamente.

Se entiende mejor ahora?
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 03 Septiembre 2009, 10:01:18
Sirdavid32, si, eso más o menos era lo que yo buscaba, solo que en lugar de hacer 3 modelos con una animacion cada uno, es hacer un modelo con las tres animaciones y aplicar a cada instancia la animacion que yo quiera, pero por ahí van los tiros.

Alanf, despues de tu explicación la cosa está más clara. Me imagino que, ademas de decirle cuando quiero que empiece una animación, cuando quiero que acabe, si hace loop,... también le podré decir cual de todas las animaciones del modelo quiero que cargue cada una de las instancias, ¿sí?.

De todos modos, ya se hacían juegos de futbol (por ejemplo) 3D antes de ICE, lo bonito sería averiguar cómo, aunque me veo que eso va a acabar siendo cosa del programador.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: alanf en 03 Septiembre 2009, 15:13:21
Alanf, despues de tu explicación la cosa está más clara. Me imagino que, ademas de decirle cuando quiero que empiece una animación, cuando quiero que acabe, si hace loop,... también le podré decir cual de todas las animaciones del modelo quiero que cargue cada una de las instancias, ¿sí?.
No. Eso estaria bien, pero requeriria un Mixer. Repito... instancias de particulas son instancias de objetos existentes TAL Y COMO EXISTEN EN ESE MOMENTO + control de tiempo individual por particula.

Un truco para hacerlo seria tener diferentes animaciones en diferentes secciones de tiempo y por ejemplo le dices si loopear de 10 a 20 o si de 30 a 40 dependiendo de alguna condicion. Es la unica forma de hacerlo.
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 03 Septiembre 2009, 21:14:08
Esto último me parece una solución MUY interesante, no se me había ocurrido.

Voy a empezar a hacer pruebas, pero creo que puede ser la solución que andaba buscando.

Muchas gracias!
Título: Re: Aplicar Animaciones a Instancias
Publicado por: sirdavid32 en 04 Septiembre 2009, 08:36:09
maaann...de la página de ayuda de XSI: "For example, you can reuse a basic run mocap file for many characters and then adjust the animation for each one as you like by adding offsets in different animation layers" - Animation layers.....kkkk pasaaaaoooo!!! :D :D :D
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Cesar Saez en 04 Septiembre 2009, 11:39:04
Bienvenido al 2009 :D
Título: Re: Aplicar Animaciones a Instancias
Publicado por: sirdavid32 en 04 Diciembre 2009, 15:28:08
al fin y al cabo animation layer...sería interesante de usar...cómo te fué Eloihm? Ahora mismo tengo tu exacto problema. LOL
Título: Re: Aplicar Animaciones a Instancias
Publicado por: Eloihm en 04 Diciembre 2009, 17:05:23
Pues no lo solucioné :P Era una duda teórica que me pasó por la cabeza para ver si podíamos seguir yo y el programador un sistema de trabajo, pero al final convenimos en que ibamos a hacerlo de otro modo (yo le doy el model con el mixer y todas las animaciones y él lo instancia y les dice cuando debe activarse cada una). De momento vamos a probar este sistema, luego, si conviene, veremos de cambiarlo, así que por ahora, no, no lo he solucionado.

Sin embargo, viendo el tema de las animation layer, quizá sería un buen momento para revisar el tema (aunque en este preciso instante no sé ni que son ni lo que hacen, pero lo investigaré).

Si avanzo algo, posteo.

un saludo!
Título: Re: Aplicar Animaciones a Instancias
Publicado por: sirdavid32 en 05 Diciembre 2009, 05:37:46
Añademe al msn, por favor, asi lo resolvemos de una buena vez :)