Noticias

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

Animación de objetos sobre personaje

Iniciado por ecko, Enero 13, 2017, 12:10:46 AM

Tema anterior - Siguiente tema
Buenas a todos, resulta que tengo el siguiente proble: tengo un personaje 3d el cual tiene varias animaciones ya creadas, os pongo el ej con la animación de correr: Resulta que cuando se inicia la animación de correr de mi personaje las botas al estar colocadas una en el hueso del pie oz y otra en el drch a la hora de correr no se ven muy bien y parece que  la bota se sale de la espinilla, creo que el problema viene debido a que la bota al ser alta (cubre pie y espinilla del personaje) pues esta cuando el pie gira gira tambien la bota entera pero claro la espinilla no tiene el mismo giro que el pie, por lo tanto la parte superior de la bota no debería de girar, aqui el problema... entonces he pensado en crear la bota en dos partes, una parte iría al asociada a la posición del pie (parte baja de la bota) y la otra parte mas alta de la bota a la posición de la espinilla.
 
Me gustaría oir opiniones para daber si es así como se debe de hacer o existe otro método como plr ej crearle una animación a la bota y esta animación ejecutarla a la misma vez que la animación del personaje? Necesito vuestra opinión para no cagarla antes de tiempo, gracias de antemano.

Hola, te falto mencionar en que software realizas la animacion, o es un asset descargado?, si la animacion se ve bien antes de exportarla a Unity o quizas ahi esta el fallo.
 
El metodo que yo conozco y he utilizado alguna que otra vez es la de tener (por ejemplo) pantalones por un lado y botas por otro, alinearlos bien, luego haces el rig correspondiente (parte dificil), despues deberias poder animar todo a la perfeccion ya que esa es la gracia de usar huesos o bideps (3ds max).

Pues hice el personaje con sus animacioned en blender lo cual cuando lo paso a unity lee la animacion a la perfeccion, no sé que debo hacer exactamente ya que es un juego que puedes equipar y desequipar diferentes objetos

No entiendo muy bien el problema pero me imagino que tu problema es con el rigging en el personaje, si puedes poner un par de imágenes o algún vídeo ayudaría bastante :D.
 
 

Enero 13, 2017, 09:14:21 AM #4 Ultima modificación: Enero 13, 2017, 09:17:49 AM por Miguel_Angel
Normalmente la propia bota tendría que estar animada al mismo tiempo que el pie, al igual que la ropa, esto evitaría en parte  el problema, pero siempre habrá problemas con los ajustes de la ropa y complementos. Es muy difícil que todos los elementos queden el 100% ajustados a l cuerpo, siempre saldrá por alguna parte del cuerpo aunque sea por poco o en posturas muy forzadas. Muchos programas lo que hacen es hacer invisible parte del cuerpo debajo de la ropa y de los complementos para evitar que en algún momento se vea la piel del personaje. Es la técnica que uso yo.

Yo no usaria partes del cuerpo debajo de la ropa, sino la ropa directamente, te evitas esta clase de problemas y encima es una solucion mucho mas "modular" ya que podes tener iguales partes de cada ropa (me refiero si los personajes son gordos o flacos) y modificar su contextura fisica mediante bones. Por ejemplo si juegaste a los fallout, cuando usan los uniformes de las vaults no es ropa por encima del cuerpo sino el modelo del uniforme.
 
Lo de hacer invisibles las partes del cuerpo es una buena solucion, practicamente lo mismo al final.
 
Saludos

Enero 18, 2017, 12:14:46 PM #6 Ultima modificación: Enero 18, 2017, 12:17:06 PM por ecko
Muy buenas, os agradezco muchísimo vuestras respuestas, he realizado lo siguiente a ver si es así como comentais o si es una buena idea (me gustaría hacerlo lo mas cómodo y menos problemático luego a la hora de tener diferentes personajes) pues hice lo siguiente:
 
1º Tengo un modelo humano ya creado en blender con todas sus animaciones (correr, pararse,sentarse,etc) 
 
2º Tengo el otro modelo de las botas en blender con 2 huesos en cada bota para poder mover la parte inferior y superior de la bota
 
3º Abro el modelo humano con blender y sobre este inserto las botas con la utilidad append de blender
 
4º Voy a la animación de correr y me coloco sobre la primera pose de la animación, la cual muestra al humano en la primera posición de correr
 
5º Coloco en modo pose position las botas (izquierda y derecha) sobre la posición del pie del humano girándolas, moviendolas, moviendo huesos, etc hasta colocarla perfectamente en los pies del humano
 
6º Hago el paso anterior con todas las distintas posiciones del humano
 
7º Borro el humano junto con todos sus keys de animaciones dejando únicamente los keys de las botas y el objeto botas
 
8º exporto el objeto en fbx y lo importo sobre unity
 
9º En el script para ejecutar la animación de correr del humano sobre el juego hago que ejecute la animación de correr de las botas a la misma vez
 
 
 
Creo que así puede salir bien la animación pero supongo que si tengo varios modelos de personajes tendré que hacer la misma animación para los diferentes personajes, me gustaría saber si es así como debe hacerse o como debería hacerlo de la mejor manera, muchísimas gracias.
 
 
 
Se me olvidaba tmbién preguntar como haces invisible determiandas partes del cuerpo a través de únity?

Enero 18, 2017, 12:53:22 PM #7 Ultima modificación: Enero 18, 2017, 01:02:16 PM por Miguel_Angel
Una misma animacion vale para diferentes personajes mientras tengan el mismo esqueleto. Solo te hace falta una sola animacion para las botas y el personaje, ya que la animacion afectaría al esqueleto no  la maya, a si pues si las botas están emparentadas al esqueleto al igual que el cuerpo solo se necesita una sola animacion para todos los objetos ropas y personajes que utilizan el mismo esqueleto..

Enero 18, 2017, 01:37:21 PM #8 Ultima modificación: Enero 18, 2017, 01:41:50 PM por ecko
Miguel_Angel perdona si no entendí bien, a ver si me aclaro, yo tengo el esqueleto de la bota por un lado y el esqueleto del personaje por otro lado, entonces coloco la posición de la bota a través de sus huesos en la misma posición que queda la pose del personaje y una vez que tenga ya la animación de la  bota borro el esqueleto y el objeto del personaje y guardo sólo la bota con dicha animación que luego la ejecuto a la misma vez que se ejecuta la del personaje, no es así?
 
Te agradecería si me das los pasos a seguir para aclararmelo :)

He puesto como lo hago yo, pero hay diferentes soluciones, Solo uso  un esqueleto sobre el que se aplica la animacion, luego dentro de Unity en C#, uno los diferentes objetos al esqueleto que tiene la animacion.  Tu solución es buena. Cada uno tiene sus técnicas.

Etiquetas: