Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema limitando rotación en los huesos de una IK

Iniciado por [Vil], 24 de Enero de 2007, 02:20:59 PM

« anterior - próximo »

[Vil]

He posteado tambien en 3D poder, pero como por aqui cuelga algun grafo que no se pasa por alli...

Buenas, os planteo mi problemilla (max 8.0).

Tengo enhuesado ya a mi personaje. Ahora toy poniendole la IK a las piernas. Hasta aqui bien, pero una vez colocadas dos ik-limb quiero limitar los angulos para que la rodilla no me haga cosas raras y tal. Esto lo he hecho en mas de una ocasión, pero los huesos de la pierna los tenia siempre bien alineados los unos con otros.
El problema es que cuando modifico los "topes" en el hueso, los ejes q me ta limitando no corresponden con los ejes locales del hueso (que es lo que me interesa), y no se si puedo cambiar eso.
Es un poco engorroso de explicar y no se si se entiende, lo explico algo mejor.

Pongamos el caso del hueso de la pierna (no del muslo). Solo quiero que la rodilla tenga flexo extension, y nada de rotacion ni abducion/aduccion. Cojo ese hueso y quitaria dos de los ejes de rotacion, y en el que queda (flexo extension) le limito para que no se extienda ni flexione demasiado. El problema es que esos ejes que limito no corresponden con los de la pierna, no hay ningun eje que sea exactametne la flexo extension de esa rodilla, con lo que no hay manera de limitar esto bien...
Y con lo de que no estan los hueso alineados, me refiero a que los ejes de muslo y pierna (por ejemplo) no coinciden en absoluto (es un personaje rarillo).

Alguien sabe de que hablo / me entiende / sabe que hacer?

Gracias!

Ionicboy

Puedes poner unos screenshots, asi igual se entiende mejor.

Pero asi de loco diría que metieses algún hueso sin vértices asignados que solo sirviera para facilitarte la tarea, por ejemplo estando alineado con los ejes que tienes q toquetear.

Más o menos me he explicao igual que tu. XDDD

donald

te explicas regular... por decirlo suave ;)

creo que sé a lo que te refieres, pero igual me equivoco..

Yo es que hace tiempo que toque eso por última vez , y tiendo a no memorizarlo, me sale sólo cuando estoy delante, más o menos..


pero a ver...


en el menu de arriba tienes el menu character. Las "bone tools" es la forma segura de hacer las cosas. Hay temas peligrosos como mirrorear un bone o escalarlo con las herramientas standard de max, sobre todo de cara a exportar a ciertos engines/formatos.

yo creo q si es lo que creo que es, me metería en "edit bone"(es la forma más segura de cambiar un bone) mode, desde las bone tools, luego, sin desmarcar "bone on", me iría a affect pivot only, en el menu persiana de la derecha de toda la vida de Max (si, donde pone tres botones, pivot, link, link info, creo...) Y rotaría ahora el pivot...igual rotaría el bone a lo bestia sin más, pero en edit bone...Todo esto habiendo previamente hecho lo siguiente: seleccionando la cruz, o sea, el ik solver ese, iendome al pertinente menu, esta marcado "enabled" pues lo desabilitas temporalmente(par apoder rotar los bones sin el bloqueo de la ik)...Luego,  te vas al modificador skin, que imagino que es el que estás usando, y en advanced parameters, le pones "allways deform", que no...también será para un momento...ahora puedes cambiar los bones que no afectará la mesh... los rotas para que giren como quieres, y luego reactivas todo, supestamente primero sales del edit bone mode, luego habilitas de nuevo el IK solver, luego pones allways deform on.

Esto me solía ser bastante no lineal, y más seguro que arriesgarte con la pila...

pero vaya, que no sé si funciona tal y como lo estoy diciendo, porque lo digo de cabeza y... además, no sé muy bien lo que quieres :D

pd: en blender en esto hay menos dolores de cabeza, aunque esté más limitado... ;)
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

[Vil]

Joder, gracias por los intentos de entender mi problema... os prometo que es hiper dificil de explicar con texto. Asi que voy a tirar de imágenes a ver si lo entendeis:


Aqui se muestra la estructura de los huesos de toda la pierna. Tengo marcado los huesos en la imagen para que identifiqueis cada uno. Tengo seleccionada la pierna (lo que hay entre rodilla y tobillo...). Ahi podeis ver como tiene los ejes locales (los del pivote que dice donald) bien alineados (como yo quiero), si lo roto, rota perfectamente, como a mi me gusta.


Ahora coloco mi IK (puede verse la cruz tipica) que llega hasta el tobillo.
Y en lo siguiente llegan los problemas, quiero limitar las rotaciones (por ejemplo de ese hueso que tengo seleccionado). En el caso de la imagen, quiero limitarla para que no se flexione ni extienda mas de la cuenta. Según el panel de la IK, es el eje Z. Pero cuando limito ahi, la rotación no me la limita en un eje igual que el pivote de ese hueso. Eso lo podeis ver en la diferencia de la imagen 1 a la 2. La perspectiva es la misma, pero los circulos de colores q nos indican los ejes de rotacion del hueso estan "torcidos", no ha girado solo en el amarillo.
Y este es mi problema... que a la hora de limitar la rotacion en la IK, no me usa los ejes del pivote del hueso, me usa unos que nisiquiera se cuales son.

De momento he optado por usar la IK sin limitaciones y solo en algunos casos... mientras desactivada y todo "a mano". Si alguien sabe solucionarlo... me seria de muuucha ayuda.

Gracias!

raysan

Hola [Vil]!

Me gustaria ayudarte aunque no entiendo muy bien tu problema...

Por que necesitas rotar ese hueso??? En principio, con el IK solver y un simple controlador para el ángulo de rotacion (swivel angle) tendria que bastarte... no?

Veo que utilizas un ik-limb, supongo que sera para el tema de la exportacion a tu engine... tal vez por ahi este el problema... no se...  :?

Siento no poder ayudar más... ¿pq no pruevas hacerlo de otro modo?

Un saludo! :wink:

[Vil]

A ver, cuento lo que quiero hacer, que lo mismo se entiende mejor.

Yo no quiero rotar ese angulo, quiero que la IK al moverla no me ponga la pierna en posiciones que no quiero. Para eso limito la angulacion de la IK.
Si no limito nada la rotacion de los huesos, cojo mi IK, muevo el pie, y se me pone el pie en la boca del tio, o rotado cual contorsionista. Si limito, la rodilla no se me parte, etc.
Ahi hay un ik-limb, pero puedo usar un HI sin problemas.

Respecto a lo del controlador para el angulo de rotacion (swivel angle), no se bien lo que es... asi q no se en que me ayudaria en este tema.

Muchas gracias!!! (curioso q en 3dpoder no respondan y aqui si... si va a haber mas grafos en stratos de lo que la gente cree)

donald

hum...


si limitas también el eje de rotacion sobre si mismo, o sea, el que va en la dirección del hueso, no resuelves en gran parte el problema? No será que el hueso te está haciendo roll, y por eso pasa?

también, juega con el valor preferred angle. Las Iks de todos los softwares que he manejado, rulan mejor estableciendo cual es el ángulo preferido , al que va a intentar tender siempre.(ie, flexionado en una postura natural, lo que ya le indica hacia donde debe doblar, esto en blender funciona así, igual que la limitación del eje de direccion del bone, que suele ser mejor evitar que rote sobre si mismo cual peonza)

Siempre puedes recolocar los bones y rotarlos para poner los ejes como quieres si sigues la explicación que te dí para editar el esqueleto sin problemas incluso después de haber colocado los pesos y la IK.

Un momento...Limitas Z... pero no limitas ni x ni Y ...Por qué? piensas que va a suponer como quieres que se comporte...No recuerdo muy bien de Max, pero ni xsi (bueno, sí, una 2d chain sí, por ejemplo) ni blender lo sabrían...

"limited" está desmarcado en ambos...
creo que se te ha olvidado marcarlo, porque sí has puesto unos angulos lógicos, 4 para el x, que en este caso es roll del bone, que te interesa que sea poco, y 20 para el verde, que te debe dejar que haga algo de "pisado oblícuo"

Mírate eso, que creo que va por ahí...

De todos modos, lee bien lo que te he puesto en los dos post, que aunque peuda no detallar bien en algunos asuntos, siempre te servirá, y en algún caso al menos servir para pensar en otra idea adicional... ;)

Prueba esto, a ver que tal, y nos cuentas. :)
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

raysan

En principio, el propio IK solver ya limita la rotación de los huesos donde esta aplicada... si quieres mayores restricciones puedes aplicar nuevos IK solvers entre huesos...

Yo personalmente, en un caso como este, nunca he tenido la necesidad de aplicar limitaciones adicionales...  :wink:

Aqui te pongo la configuración que yo utilizaría... espero q te sirva... siento no poder serte de más ayuda...  :?


donald

eso es lo que hago yo tb en Blender...

con el "track to".
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.