Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

¿Como poner clips de animacion de forma aleatoria?

Iniciado por ftejada, Enero 21, 2016, 12:53:13 PM

Tema anterior - Siguiente tema
Hola a todos!!!Me preguntaba como podria reproducir 6 clips de animacion que tiene un modelo de forma aleatoria... Es decir que empiece un nuevo clip al azar cuando termine el que se estaba ejecutando..... He estado mirando por internet y en la API pero no encuentro la manera de saber si un clip ha terminado mediante alguna funcion o por tiempo.... ¿No existen funciones para eso en Unity?? o es que todo tiene que hacerse por mecanim???  Saludos y gracias por adelantado.    

Puedes usar animator sin tener que usar mecanim, me parece mejor que usar el legacy. Como siempre puede haber varias formas de hacerlo, a mí ahora se me ocurre poner eventos en las animaciones, en el último frame, y que este evento llame una función que reproduzca otra animación aleatoria, usando Animator, si prefieres usar Animation hay una función que se llama 'PlayQueued' que te puede servir, pero claro tienes que tener en cuenta que si la llamas por ejemplo desde el update puede cargarte muchas animaciones en un segundo y que las animaciones por lo general no duran tan poco, entonces cuántas animaciones pondrá a la cola durante una animación¿?
PD: No creo que escoger una animación aleatoria sea un problema pero si es así sólo tienes que ponerlas en un array y pedir un numero random, luego tomar la animación que esté en esa posición.

[quote author=juanma_teso date=1453379615" data-ipsquote="" data-cite="juanma_teso" class="ipsQuote">Puedes usar animator sin tener que usar mecanim, me parece mejor que usar el legacy. Como siempre puede haber varias formas de hacerlo, a mí ahora se me ocurre poner eventos en las animaciones, en el último frame, y que este evento llame una función que reproduzca otra animación aleatoria, usando Animator, si prefieres usar Animation hay una función que se llama http://docs.unity3d.com/es/current/ScriptReference/Animation.PlayQueued.html]'PlayQueued' que te puede servir, pero claro tienes que tener en cuenta que si la llamas por ejemplo desde el update puede cargarte muchas animaciones en un segundo y que las animaciones por lo general no duran tan poco, entonces cuántas animaciones pondrá a la cola durante una animación¿?PD: No creo que escoger una animación aleatoria sea un problema pero si es así sólo tienes que ponerlas en un array y pedir un numero random, luego tomar la animación que esté en esa posición.[/quote]Gracias por la idea. Voy a probar como indicas y comento a ver el resultado...Saludos

Etiquetas: