Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Altair en 28 de Mayo de 2006, 09:08:56 PM

Título: Animacion Por Programacion
Publicado por: Altair en 28 de Mayo de 2006, 09:08:56 PM
 Imaginemos que tenemos una figura de un humanoide en baja poligonizacion pero, mas o menos, articulada. Para esto viene bien la clasica figura del ogro de Quake, pues una cosa asi.

Imaginemos un bicho de ese estilo, compuesto enteramente por poligonos, donde cada parte del cuerpo (cabeza, tronco, brazos, antebrazos, manos, piernas, pies y todo eso) esta compuesto integramente por mallas independientes.

¿Podria hacerse animaciones exclusivamente por programacion?. Es decir, nada de animaciones ya hechas. Posiblemente sera un metodo anticuado y poco practico, pero solo quisiera saber si se puede, y en ese caso como podria hacerse.
Título: Animacion Por Programacion
Publicado por: Ruben en 28 de Mayo de 2006, 09:18:22 PM
 Hi,
eso se llama "procedural animation" o animacion procedural y habia por aqui un hilo acerca del tema.

El nuevo juego de Will Wright, llamado "Spore" tendra entre otras cosas muy chulas animacion procedural de los bichejos que hagas... :P

Asi que, si, se pueden hacer animaciones exclusivamente por programación.

Un saludo,
Rubén
Título: Animacion Por Programacion
Publicado por: ethernet en 28 de Mayo de 2006, 10:01:42 PM
Cita de: "Ruben"Hi,
eso se llama "procedural animation" o animacion procedural y habia por aqui un hilo acerca del tema.

El nuevo juego de Will Wright, llamado "Spore" tendra entre otras cosas muy chulas animacion procedural de los bichejos que hagas... :P

Asi que, si, se pueden hacer animaciones exclusivamente por programación.

Un saludo,
Rubén
Yo por lo que he podido intuir parece que spore usa IK para la animación de los bichos. De todas formas el walking cycle se lleva haciendo miles de años, hay un script para Blender que lo hace.

La forma que yo haría es tener bones asignados a cada uno de las partes y despues usar la imaginación :)
Título: Animacion Por Programacion
Publicado por: JMAA en 28 de Mayo de 2006, 10:11:07 PM
 Pues yo he oído hablar del fragMotion... tiene incorporada función de programación de animaciones, texturas...

No sé si lo habréis probado, pero yo ni he tocado esa función.
Título: Animacion Por Programacion
Publicado por: tamat en 29 de Mayo de 2006, 01:18:10 AM
 las sinusoidales aplicadas como rotaciones en las articulaciones hacen milagros
Título: Animacion Por Programacion
Publicado por: ethernet en 29 de Mayo de 2006, 09:55:39 AM
Cita de: "tamat"las sinusoidales aplicadas como rotaciones en las articulaciones hacen milagros
Las funciones trigonométricas en si mismas son milagrosas para todo.  
Título: Animacion Por Programacion
Publicado por: Jove Chiere en 29 de Mayo de 2006, 12:00:50 PM
 Seguir soñando coders...

Podeis esperar sentados al GRAFOTRON 6000

¿Ayudar? ok puede que si... Pero a quien ayuda. Yo todas esas cosas que me encontrado de nuevos sistemas que hacen las animaciones mas reales o las muertes, lo unico que man dao es mas faena de animacion...
Título: Animacion Por Programacion
Publicado por: TiRSO en 29 de Mayo de 2006, 01:55:20 PM
Cita de: "Jove"Seguir soñando coders...

Podeis esperar sentados al GRAFOTRON 6000

¿Ayudar? ok puede que si... Pero a quien ayuda. Yo todas esas cosas que me encontrado de nuevos sistemas que hacen las animaciones mas reales o las muertes, lo unico que man dao es mas faena de animacion...
xDDD ¿Acaso tienes miedo a que los grafos sean finalmente sustituidos por trozos de código?  
Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 29 de Mayo de 2006, 02:04:49 PM
 Bueno, en la animacion existe un componente artistico y eso no podra ser reemplazado por ningun procedural.

Existen comportamientos que si son animables de forma automatica pero no los que requieran una animacion humanoide compleja, por ejemplo. He visto animacion procedural aplicada a humanoides y, desde mi punto de vista, es mediocre.

No se, quizas dentro de unos anyos cambie, pero lo que esta claro es que un software o codigo no podra desarrollar talento y tomar decisiones creativas, tan solo recoger y resolver calculos.
Título: Animacion Por Programacion
Publicado por: JMAA en 29 de Mayo de 2006, 03:00:20 PM
 Yo no lo sé, sólo he visto entre la lista de añadir animaciones "Código LUA".
Título: Animacion Por Programacion
Publicado por: ethernet en 29 de Mayo de 2006, 08:51:57 PM
Cita de: "FelipeBusquets"Bueno, en la animacion existe un componente artistico y eso no podra ser reemplazado por ningun procedural.

Existen comportamientos que si son animables de forma automatica pero no los que requieran una animacion humanoide compleja, por ejemplo. He visto animacion procedural aplicada a humanoides y, desde mi punto de vista, es mediocre.

No se, quizas dentro de unos anyos cambie, pero lo que esta claro es que un software o codigo no podra desarrollar talento y tomar decisiones creativas, tan solo recoger y resolver calculos.
Discrepo de eso. Está claro que para generar algo "bonito" tiene que haber una persona detrás, pero eso no quita para que unas ecuaciones/funciones/algoritmos creados por una persona puedan dar lugar a algo bonito. Por ejemplo los fractales son algo visualmente atractivo y están generados.

En la demoscene hay muchísimos ejemplos de creación procedural, por ejemplo 195/95/256, Heaven7 o paradise por poner 3 ejemplos entre miles.

Si te centras en el tema de la animación es fácil ver como creando una armadura muy simple, poniendo las restricciones correspondientes y con IK, con el movimiento, de caracter senoidal por ejemplo, de algunas extremidades el efecto final es bastante resultón.

En mi opinión no se trata de prescindir del grafo si no aprovechar el talento y trabajo de grafo junto con la generación procedural. Spore es el ejemplo más claro que conozco de ello.
Título: Animacion Por Programacion
Publicado por: Ruben en 29 de Mayo de 2006, 09:27:30 PM
 Totalmente de acuerdo con ethernet!  (ole)  
Título: Animacion Por Programacion
Publicado por: zupervaca en 29 de Mayo de 2006, 09:39:09 PM
 Estoy de acuerdo contigo ethernet, pero solo aclarar un punto:
CitarPor ejemplo los fractales son algo visualmente atractivo
Esta demostrado que cualquier cosa que se repita nos acaba gustando aunque al principio no nos guste, la mayoria de las personas lo habran notado con la musica, escuchar una cancion que no nos gusta repetidas veces acaba produciendo que no la encontremos desagradable o que inlcuso nos guste. Ya a esto finalmente le puedo añadir que esta es la base de la publicidad y los logos, no obstante a este nivel ya influyen mas cosas que al nivel de los fractales claramente.
Título: Animacion Por Programacion
Publicado por: Loover en 29 de Mayo de 2006, 09:43:22 PM
 
CitarNo se, quizas dentro de unos anyos cambie, pero lo que esta claro es que un software o codigo no podra desarrollar talento y tomar decisiones creativas, tan solo recoger y resolver calculos.

Quizás el software no... ¿pero y un cerebro positrónico? Están de moda en estados unidos, los venden como rosquillas. Hacen los exámenes por ti, programan, diseñan, son una gozada.

Me sé de más de uno que le vendría genial un cerebro nuevo :) Yo ya he pedido uno.
Título: Animacion Por Programacion
Publicado por: seryu en 29 de Mayo de 2006, 09:43:59 PM
 ¡¡Que no son fractales!!  :D  
Título: Animacion Por Programacion
Publicado por: Lex en 29 de Mayo de 2006, 11:37:31 PM
...
Título: Animacion Por Programacion
Publicado por: ethernet en 29 de Mayo de 2006, 11:39:08 PM
 y yo tengo reguetón en mi cassette.
Título: Animacion Por Programacion
Publicado por: Ruben en 30 de Mayo de 2006, 12:00:00 AM
Cita de: "ethernet"y yo tengo reguetón en mi cassette.
"Vade retro Satanas!"  :P  
Título: Animacion Por Programacion
Publicado por: [EX3] en 30 de Mayo de 2006, 01:55:57 AM
Cita de: "ethernet"y yo tengo reguetón en mi cassette.
Diossss!!!! estoy hartisimo de escuchar este estilo de musica y cada vez le cojo mas asco!!! Creo que es la excepcion a la regla xDDDDD

(sorry por el off-topic)
Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 30 de Mayo de 2006, 02:56:46 AM
 Lo que quiero decir es que un ordenador o codigo no puede tomar decisiones artisticas.

Esta claro que ahora, por ejemplo, un PC puede hacer mucho mas que antes. Aun asi, aunque puede lograr resultados brutales sigue sin ser capaz de tomar una decision artistica. Jamas he visto un software que pueda realizar disenyo conceptual (por si mismo, se entiende), como ejemplo simple.

Mas o menos pasa lo mismo con el software. Tenemos herramientas que nos permiten cosas que hace 10 anyos eran impensables. Sin embargo, hoy en dia podemos sacar mas calidad con nuestro PC domestico que en muchas peliculas de alto presupuesto de hace 15 anyos.

A pesar de todo, ni nuestro PC domestico ni nuestro software 3D puede resolver cuestiones artisticas.

Los fractales, en este caso, no son resultados basados en decisiones tomadas por la actitud, idea que se desea transmitir, sensacion que queremos reflejar, intensidad de un momento o dramatismo de otro. Un codigo o maquina no podra nunca comprender que significan esas palabras y por ello jamas podra saber como transmitirlas.

Pensar de alguna forma que una maquina puede hacer algo bonito no es lo mismo que decir que una maquina sepa transmitir o expresar.

Referente a lo que dices del "efecto final resulton", ya comente antes que existen cosas hechas con animacion procedural que, si bien pienso funcionan para ciertas cosas, cuando se trata de dar personalidad a un personaje cualquier maquina/software se topa con un muro que no puede/"sabe" superar.
Título: Animacion Por Programacion
Publicado por: tamat en 30 de Mayo de 2006, 12:27:37 PM
 Eso es muy relativo, tambien es cierto que hay animaciones que un animador no sabría hacer tan bien, por ejemplo un ragdoll o un fluido que choca contra otro objeto. Podrá hacer algo parecido pero no exacto, así que ya entramos en un terreno borroso.

Ahora hay mucha gente investigando en animaciones procedurales y el resultado te aseguro que está lejos de las clasicas animaciones por bones y demás, más que nada porque el animador solo puede crear la animacion basandose en un contexto concreto mientras que las animaciones procedurales tienen la ventaja de poder adaptarse a cualquier contexto (siempre y cuando alguien escriba el algoritmo adecuado).

Como ejemplo las animaciones de los personajes en los juegos de deportes, antiguamente se hacian mediante secuencias de movimientos y el jugador tenia ese aspecto de marioneta que siempre camina igual, ahora se hacen con metodos procedurales y el tio se inclina al girar a la izquierda, y el movimiento de los pies coincide con el necesario para desplazar el cuerpo. Creo que salió en un video que estaba por este foro.

Y conforme las tecnicas de IA avancen esos movimientos seran más reales, claro que mayor realismo no significa mayor carga dramática como tu apuntas.

Esto me ha recordado algo que comentaban en una asignatura de Historia de la Musica, que los musicos tratan de interpretar la musica de manera perfecta, como si de una máquina se tratase aunque al final siempre se nota que son humanos por los pequeños errores que cometen, y sin embargo las máquinas interpretan las canciones tan perfectamente que incluyen algoritmos para equivocarse.
Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 30 de Mayo de 2006, 01:34:35 PM
Cita de: "tamat"Eso es muy relativo, tambien es cierto que hay animaciones que un animador no sabría hacer tan bien, por ejemplo un ragdoll o un fluido que choca contra otro objeto. Podrá hacer algo parecido pero no exacto, así que ya entramos en un terreno borroso.
Creo que te refieres a calculos dinamicos. En animacion un animador no anima un fluido, simplemente por que no es su trabajo.

Yo sinceramente no creo que sea un campo borroso, siempre y cuando se tenga claro donde encaja cada pieza.

Como crees que se podria hacer que una maquina calcule que un personaje ande deprimido, luego se detenga durante unos segundos, recapacite durante uno momento y se exalte por que ha recordado algo positivo que le hace feliz, luego se marche andando feliz y con una actitud positiva.

Cuando hablamos de transmitir un sentiemiento la idea de que un ordenador lo haga simplemente cae por su peso.

Obviamente, si hablamos de calcular dinamicas o cualquier otro proceso puramente matematico no hay duda, pero en arte 2+2 no siempre son 4.
Título: Animacion Por Programacion
Publicado por: Daemon en 30 de Mayo de 2006, 01:41:34 PM
 
CitarFelipeBusquets
... Como crees que se podria hacer que una maquina calcule que un personaje ande deprimido, luego se detenga durante unos segundos, recapacite durante uno momento y se exalte por que ha recordado algo positivo que le hace feliz, luego se marche andando feliz y con una actitud positiva. ...

Enseñandole a hacerlo.
Título: Animacion Por Programacion
Publicado por: TiRSO en 30 de Mayo de 2006, 01:44:50 PM
Cita de: "FelipeBusquets"
Cita de: "tamat"Eso es muy relativo, tambien es cierto que hay animaciones que un animador no sabría hacer tan bien, por ejemplo un ragdoll o un fluido que choca contra otro objeto. Podrá hacer algo parecido pero no exacto, así que ya entramos en un terreno borroso.
Creo que te refieres a calculos dinamicos. En animacion un animador no anima un fluido, simplemente por que no es su trabajo.

Yo sinceramente no creo que sea un campo borroso, siempre y cuando se tenga claro donde encaja cada pieza.

Como crees que se podria hacer que una maquina calcule que un personaje ande deprimido, luego se detenga durante unos segundos, recapacite durante uno momento y se exalte por que ha recordado algo positivo que le hace feliz, luego se marche andando feliz y con una actitud positiva.

Cuando hablamos de transmitir un sentiemiento la idea de que un ordenador lo haga simplemente cae por su peso.

Obviamente, si hablamos de calcular dinamicas o cualquier otro proceso puramente matematico no hay duda, pero en arte 2+2 no siempre son 4.
No sólo es cierto lo que se dice de que no se puede "calcular" automáticamente como expresar una sensación: el origen de cualquier procedimiento automático para generar una animación (o lo que sea) está en un artista que describió cómo debía ser ese movimiento, solo después de eso una maquina es capaz de generar algo. Una máquina no es capaz (de momento) de tomar decisiones en ese sentido, solo hace lo que le mandan...

Por otra parte, parece que estas técnicas se van a usar cada vez más, por ejemplo, el motor del nuevo crysis (de crytek) es capaz de generar personajes por código para evitar la sensación de que los enemigos se repiten constantemente...
Título: Animacion Por Programacion
Publicado por: Ruben en 30 de Mayo de 2006, 01:50:38 PM
 
CitarComo crees que se podria hacer que una maquina calcule que un personaje ande deprimido, luego se detenga durante unos segundos, recapacite durante uno momento y se exalte por que ha recordado algo positivo que le hace feliz, luego se marche andando feliz y con una actitud positiva.

De la Inteligencia Artificial se obtienen unas acciones y se animan proceduralmente de acuerdo a unos parametros.
Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 30 de Mayo de 2006, 02:02:38 PM
 si, pero a lo que me refiero es si crees que una IA sabria distinguir, por ejemplo, entre una actitud de cansancio de una de deprimido.

La tecnica es una herramienta, nada mas, no algo en lo que basar criterios creativos.
Título: Animacion Por Programacion
Publicado por: zupervaca en 30 de Mayo de 2006, 02:08:57 PM
 Una IA emula una IN lo mejor que puede con ciertas limitaciones, lo primero para hacer que una IA diferencia entre cansancio y depresion es que nosotros sepamos aislar las diferencias entre esos dos estados de animo, cosa que hacemos inconscientemente con lo que es muy dificil llevarlo a la IA.

La verdad es que no deberia quejarse ni un grafista sobre estas cosas ya que su trabajo cada vez es mas facil de llevar a cabo por todas las herramientas y facilidades que se les da, con este tipo de animacion solo tendran que modelar y ajustar parametros de animacion, en mi opinion un gran avance para estudios pequeños.
Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 30 de Mayo de 2006, 02:12:34 PM
Cita de: "Daemon"Enseñandole a hacerlo.
Y como le ensenyas a sentirse avatido? o a estar alegre?.... o alegre pero indeciso al mismo tiempo?.

Título: Animacion Por Programacion
Publicado por: tamat en 30 de Mayo de 2006, 03:33:06 PM
Cita de: "FelipeBusquets"
Cita de: "Daemon"Enseñandole a hacerlo.
Y como le ensenyas a sentirse avatido? o a estar alegre?.... o alegre pero indeciso al mismo tiempo?.
Parametrizandolo todo. Hoy en día existen sintetizadores de voz a los que les puedes decir - habla alegre - o - habla con miedo - y lo hacen (mejor o peor pero lo hacen). Todo es cuestión de descomponer algo en elementos independientes con los que jugar para recomponer el original.

No pretendo quitar mérito al trabajo del animador, pero creo que en el ambito de la animación acabará sucediendo como en tantos otros, que todo se automatizará hasta tal punto que incluso el neofito será capaz de hacer sus pinitos, algo así como lo que ha pasado con el Poser y el modelado 3D. Vale, el resultado siempre será inferior al de una persona con grandes conocimientos de animación que invierta un més entero de trabajo, pero las ventajas estan ahí. Si ha pasado con los engines 3d, con el modelado o con la composición musical es de esperar que tambien suceda en la animación.
Título: Animacion Por Programacion
Publicado por: Ruben en 30 de Mayo de 2006, 03:40:01 PM
Cita de: "FelipeBusquets"
Cita de: "Daemon"Enseñandole a hacerlo.
Y como le ensenyas a sentirse avatido? o a estar alegre?.... o alegre pero indeciso al mismo tiempo?.
Generalizando y simplificando mucho y arriesgo de que Vicente me de un capon... :rolleyes:  :rolleyes:

Modelando esos comportamientos a traves de alguna estructura que te permita obtener un resultado (sentimiento, posición de los musculos de la cara, etc...) de un patrón (temperatura, una tia que pasa al lado de nuestro personaje, hambre, ....) .

Título: Animacion Por Programacion
Publicado por: Felipe Busquets en 30 de Mayo de 2006, 03:43:33 PM
 Son posibilidades.... hasta cierto punto. De todas formas he de decir que ni en cine ni en juegos he visto nunca un director de arte/animacion que delegue en un sistema automatizado.
Título: Animacion Por Programacion
Publicado por: Vicente en 30 de Mayo de 2006, 04:15:41 PM
 Porque te iba a dar un capon? :P Yo también opino que para poder clasificar esos estados de ánimo, tienes que generar un patrón que los defina, y la complejidad del patrón no puede ser muy alta (o no vas a ir a ningún lado).

No creo que aún se pueda sustituir a un animador, pero si que creo que llegará ese día para mucho curro (quizás no para cosas raras, pero si para anda, corre, dispara, muerete, etc etc). La IA puede dar mucho más de si cuando se le dedican recursos y tiempo, solo que en los juegos no se hace, pero todo se andará :)

Un saludo!

Vicente
Título: Animacion Por Programacion
Publicado por: Daemon en 30 de Mayo de 2006, 04:16:52 PM
 En general, ¿cual es el comportamiento de un ser humano cuando se encuentra alegre, o triste? Siempre depende de la personalidad, pero tanto de una como de otra cosa es posible obtener modelos. De hecho existen (y he dicho modelos, por favor que nadie me crucifique, no quiere decir que las maquinas sean ya humanas y posean sentimientos). Y teniendo un modelo, el comportamiento viene adjunto.

En internet teneis articulos introductorios sobre esto, por ejemplo uno de Joseph Bates y Scott Reilly "Emotion as part of a Broad Agent Architecture".

Un saludo.