Buenas a todos, estoy iniciandome en blender y tengo una serie de problemas al pintar la influencia de los huesos en los meshes. Uso la versión 2.49 de Blender porque los scripts de importacion/exportación a formato m2 (formato de world of warcraft) solo existen en esa versión. Voy a explicar más o menos como va esto, ya que vosotros no tenéis por qué saber sobre estos scripts ya que son externos a blender en sí.
En primer lugar tengo el mesh de mi modelo, en este caso Sora de Kingdom Hearts 2 - Tron.
http://gyazo.com/c562ab9e93a51803efade773f435a8d5
Y los huesos principales del esqueleto pintados:
http://gyazo.com/6588986e137cf25da82c06241bc09617
2 de los problemas que tengo son los siguientes. Aún estando todo el mesh pintado, cada parte con su hueso, al exportarlo y verlo en el visor de modelos pasa lo siguiente:
http://gyazo.com/e56ac539a67a1fa410d5d0356f822d8d
Para los que no sepáis interpretarlo, cada "parte" que se "corre" hacia abajo (hacia el bone0) es un vértice que no tiene la influencia de ningún hueso (es decir un vértice que no está pintado de verde, azul, rojo, amarillo.. sino que está sin pintar).
La pregunta entonces es la siguiente: Como puede hacer para pintar bien los huesos, es decir, como puedo asegurarme de manera fácil que todos y cada uno de los vértices del modelo están pintados? Lo que necesito realmente es saber como pintar de manera fácil y no tener esos errores graves, porque, según la foto del visor de modelos, hay muchísimos vértices sin influencia.
La segunda pregunta es: Es posible que un hueso que no tiene pintada influencia en ninguna parte del mesh se autoasigne a una parte? Porque hay huesos que yo no he pintado, que no hay que pintar, que han cogido y se han asignador automaticamente a una parte del mesh.
Saludos a todos y gracias por leer.
Problema: Pintando huesos
Re: Problema: Pintando huesos
Por medio de los Vertex Groups
Cuando creas una unión entre el cuerpo y la armature y eliges la opción automática, se crean los nombres de todos los huesos a la vez que se asigna los vértices mas cercanos a ese hueso.
Cuando no es correcta la selección (o no es lo que tu quieres), puedes modificar esos grupos de vértices con los botones que hay en el Vertex Group.
La forma de trabajar es la siguiente...
Estando en Edit Mode presionas letra A (una o dos veces) hasta que quede todo el cuerpo SIN seleccionar ningún vértice.
BUSCAS el primer hueso que quieres modificar.... en mi caso he seleccionado el Bone.022
Presionas en botón SELECT y verás todos los vértices que tiene asignado ese hueso.
(Si por ejemplo falta algún vértice.. lo seleccionas y presionas ASSIGN para asignarlo).
Si lo que pasa es que hay más vértices de los que deberían es, tienes dos opciones.
O bien BORRAS todos los vértices y luego seleccionas los nuevos, o bien haces un borrado selecctivo de las zonas que no quieres.
Borrar, se hace con el botón REMOVE.
Aunque al presionar REMOVE no veas que haya pasado nada, esos vértices se han borrado de la memoria... por lo que vuelves a presionar letra A dos veces y verá que ya han cambido.
Puede parecer un poco complicado al principio, pero cuando le cojas el tranquillo, es bastante sencillo.
......
En la imagen que has subido, me da la impresión de que tienes el modelodo con diferentes mesh dentro de la misma malla.
Eso si es así, es estupendo, pues para asignar una zona (el brazo por ejemplo), solo seleccionas un vértices de la zona del brazo y la letra L... Esto te seleccionará todo eso de una vez.
Y si quieres borrar en ese caso, solo tienes que presionar Ctrl+i para que seleccione los vértices contrarios y borrar con Remove.
Cuando creas una unión entre el cuerpo y la armature y eliges la opción automática, se crean los nombres de todos los huesos a la vez que se asigna los vértices mas cercanos a ese hueso.
Cuando no es correcta la selección (o no es lo que tu quieres), puedes modificar esos grupos de vértices con los botones que hay en el Vertex Group.
La forma de trabajar es la siguiente...
Estando en Edit Mode presionas letra A (una o dos veces) hasta que quede todo el cuerpo SIN seleccionar ningún vértice.
BUSCAS el primer hueso que quieres modificar.... en mi caso he seleccionado el Bone.022
Presionas en botón SELECT y verás todos los vértices que tiene asignado ese hueso.
(Si por ejemplo falta algún vértice.. lo seleccionas y presionas ASSIGN para asignarlo).
Si lo que pasa es que hay más vértices de los que deberían es, tienes dos opciones.
O bien BORRAS todos los vértices y luego seleccionas los nuevos, o bien haces un borrado selecctivo de las zonas que no quieres.
Borrar, se hace con el botón REMOVE.
Aunque al presionar REMOVE no veas que haya pasado nada, esos vértices se han borrado de la memoria... por lo que vuelves a presionar letra A dos veces y verá que ya han cambido.
Puede parecer un poco complicado al principio, pero cuando le cojas el tranquillo, es bastante sencillo.
......
En la imagen que has subido, me da la impresión de que tienes el modelodo con diferentes mesh dentro de la misma malla.
Eso si es así, es estupendo, pues para asignar una zona (el brazo por ejemplo), solo seleccionas un vértices de la zona del brazo y la letra L... Esto te seleccionará todo eso de una vez.
Y si quieres borrar en ese caso, solo tienes que presionar Ctrl+i para que seleccione los vértices contrarios y borrar con Remove.
Re: Problema: Pintando huesos
Muchas gracias por la respuesta tan clara y rápida.
Ya he aprendido otra forma de pintar los huesos de manera rápida.
En esta caso la cosa no es tan sencilla como parece pues, usando un modelo base, yo tengo que replicar la influencia de los huesos desde este modelo base en el otro modelo, porque es el que tiene las animaciones la creadas, una imagen vale más que mil palabras:
http://gyazo.com/601a474ea2a39ca5f88850b790eeb56c
Ahí vemos el modelo base (derecha), cuyos huesos ya están pintados correctamente (puesto que es un modelo extraido directamente del juego). He unido el mesh del modelo original con el modelo nuevo (Sora) para ir replicando la pintura hueso a hueso y al final, cuando esté todo pintado, se borra el mesh del modelo original y queda el otro, como viste en las imagenes del primer post.
El caso, lo de seleccionar un grupo de vertices y asignarle un hueso en este caso no valdría puesto que hay que pintar distintas influencias en el mismo grupo de vértices como ves en la foto (porque el modelo está animado) entonces ya se me hace un tanto más difícil.
Te dejo adjuntos los scripts de importacion/exportacion y ambos modelos, para que veas lo que quiero decirte y puedas echarme un cable (no pido que me lo hagas por supuesto).
Ya he aprendido otra forma de pintar los huesos de manera rápida.
En esta caso la cosa no es tan sencilla como parece pues, usando un modelo base, yo tengo que replicar la influencia de los huesos desde este modelo base en el otro modelo, porque es el que tiene las animaciones la creadas, una imagen vale más que mil palabras:
http://gyazo.com/601a474ea2a39ca5f88850b790eeb56c
Ahí vemos el modelo base (derecha), cuyos huesos ya están pintados correctamente (puesto que es un modelo extraido directamente del juego). He unido el mesh del modelo original con el modelo nuevo (Sora) para ir replicando la pintura hueso a hueso y al final, cuando esté todo pintado, se borra el mesh del modelo original y queda el otro, como viste en las imagenes del primer post.
El caso, lo de seleccionar un grupo de vertices y asignarle un hueso en este caso no valdría puesto que hay que pintar distintas influencias en el mismo grupo de vértices como ves en la foto (porque el modelo está animado) entonces ya se me hace un tanto más difícil.
Te dejo adjuntos los scripts de importacion/exportacion y ambos modelos, para que veas lo que quiero decirte y puedas echarme un cable (no pido que me lo hagas por supuesto).
- Adjuntos
-
- Blender.rar
- (457.49 KiB) Descargado 142 veces
Re: Problema: Pintando huesos
Pues eso de solo se podría hacer como has comentado antes.. con la pintura de vértices, pues a mano se puede, pero sería vértice a vértice y acabarías loco.
Si tienes la armature del otro objeto, se pueden hacer dos cosas.
O ir seleccionando pieza a pieza, como te comenté antes (seleccionas un vértice de la zona y presionas letra L) y la emparentas a un Bone (Ctrl+P > BONE)
Así esa malla, quedará asignada al hueso que hayas seleccionado.
...
O bien seleccionas todas las piezas de las diferentes mallas del cuerpo de Sora y las unes en una sola malla con Ctrl+J
Eso te creará un solo mesh (malla) que puedes emparentar a la armature de una sola vez y automaticamente.
Si tienes la armature del otro objeto, se pueden hacer dos cosas.
O ir seleccionando pieza a pieza, como te comenté antes (seleccionas un vértice de la zona y presionas letra L) y la emparentas a un Bone (Ctrl+P > BONE)
Así esa malla, quedará asignada al hueso que hayas seleccionado.
...
O bien seleccionas todas las piezas de las diferentes mallas del cuerpo de Sora y las unes en una sola malla con Ctrl+J
Eso te creará un solo mesh (malla) que puedes emparentar a la armature de una sola vez y automaticamente.
Re: Problema: Pintando huesos
Si si todos los mesh de Sora ya los uní con control + j como se ve en el primer post y está emparentado también a la armature, pero al emparentar no se pintan los huesos como están pintados en el modelo original, ese es el problema, que tengo que hacerlo a mano a no ser que haya solución alternativa... porque no hay manera de saber si los has pintado todos o no e ir mirando uno por uno es un suicidio.
Gracias.
Gracias.