Página 1 de 1
Escalar malla con bones
Publicado: Lun Abr 11, 2016 1:54 pm
por themonkeyzen
Hola a todos,
Tengo un problema con la animación de una cuerda que no se muy bien como atajar.
La animación se trata de lanzar una cuerda hacia delante cuyo extremo es un lazo fijo, desde un punto de reposo. Va por bones, cuerda "low poly" y sin físicas.
En el momento en el que está en reposo, tiene un tamaño inferior, y cuando se lanza hacia delante simplemente se agranda (estira hacia delante).
El problema viene en el número de bones. Al ser pequeña, tiene X bones, pero a la hora de agrandarlo, esos bones se quedan cortos para una malla tan larga.
Existe alguna manera de poder crear muchos bones, y al hacer un estiramiento, se coloquen de forma que ocupen toda esa malla estirada? (de forma proporcional y sin necesidad de ir recolocando uno a uno) o hay alguna mejor manera de poder hacer esto?
Gracias
Re: Escalar malla con bones
Publicado: Lun Abr 11, 2016 2:24 pm
por soliman
No me he enterado... no se muy bien a que te refieres.
Si es una malla larga, puedes crear muchos bones (huesos) y hay la opción de ESTIRAR estos bones por constraint (Stretch To) pero eso te estirará la malla.
Pero no entiendo eso de que la malla la estiras.. ¿te refieres a que le has puesto Shape KEY para estirar la malla sola y luego quieres poner la armature?
Re: Escalar malla con bones
Publicado: Lun Abr 11, 2016 5:48 pm
por themonkeyzen
Es complicado explicar.... Básicamente se trata de que un objeto con un tamaño determinado (y armature), acaba siendo alargado/estirado una de sus partes, y que esta parte estirada no se deforme y mantenga unos bones.
He creado una prueba ( bastante tosca ) para ilustrar un poco mejor a lo que me refiero.
En la primera imagen se puede ver cuerda + lazo, en una posición "recogida". En la segunda foto se vería como la malla de la cuerda, al cambiar el hueso de location, se estira.
Para poder hacer este estiramiento, el primer hueso de la parte izquierda (foto 2) no va emparentada al resto de cuerda que va con el lazo.
Aquí hay varios problemas:
- El estiramiento de esta manera produce roturas/cambios de volumen en la malla.
- Al no tener esa parte bones, no me es posible articularlo.
Quizá sería más sencillo crear una bezier con bones añadidos por hooks y tratar todo eso de esta manera, pero no me serviría para la exportación a Unity (problemas con modificadores), a no ser que pase el bezier a un mesh...pero sigo viendo lagunas
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 1:36 am
por soliman
Bueno, antes ya te he dicho que con una Constraint si se podría hacer, aunque lo mas seguro es que se deforme la malla, y además, no creo que Unity soporte ese tipo de Constraints de Blender (aunque tendrías que probarlo).
Prueba a buscar por squash y stretch a ver si encuentras algo que se amolde a lo que quieres
https://youtu.be/nhFk64mQZjc
De todas formas subo un pequeño vídeo de como se podría hacer algo parecido. en blender, por supuesto).
https://youtu.be/B0_coH5EHYU
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 8:13 am
por themonkeyzen
El problema es cuando el lazo también lleva bones (como las imágenes que puse anteriormente, empieza el bone1 en la parte final de la cuerda y llega hasta el lazo, rodeándolo). De esta manera, al tirar de la linea recta por donde van los stretchs, el lazo también se deforma.
Hay alguna manera de evitar esto? Quizá con 2 armatures distintos...pero lo ideal es que fuera en uno.
Probablemente al lazo le ponga únicamente un bone central, ya que solo se usa para girar el lazo y no para cambiarlo de forma.
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 9:30 am
por themonkeyzen
Tenga un bone o tenga varios alrededor, sigue deformando el lazo al tirar de la cuerda....
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 10:11 am
por soliman
Y además creo que no te va a servir para Unity..
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 11:51 am
por themonkeyzen
soliman escribió:Y además creo que no te va a servir para Unity..
Antes he creado una prueba rápida y creo que si va. No obstante tengo que probarlo más a fondo.
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 12:24 pm
por juani
¿ No puedes escalar los huesos en el eje que corresponda?
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 1:36 pm
por soliman
Pensándolo bien, se podría hacer como dices, pero a la hora de hacer el estiramiento, se podría escalar en coordenada Y y de esa forma no engordaría, y a la vez, se podría controlar el grosor si se escala sin coordenadas. O sea, mezclando las dos opciones (escalar en Y y escalar sin coordenadas) tal vez se consiga algo decente.
Re: Escalar malla con bones
Publicado: Mar Abr 12, 2016 3:27 pm
por themonkeyzen
juani escribió:¿ No puedes escalar los huesos en el eje que corresponda?
Eso fue lo primero que probé. El problema es que al no ser una línea recta y tener los bones en distintos ángulos, la malla se deforma bastante....teniendo más volumen por unos lados que por otros.