Reflejar shape keys

angelsan - 10/08/2009 13:45
Buenas a todos, ¿hay alguna manera de reflejar las Shapes Keys de un lado de la malla al otro (ejemplo: párpados. L > párpados. R)?
He probado varios scripts que circulan por ahí, pero realizan un duplicado de la malla. ¿existe algún script que haga este reflejo sobre la misma malla?
He estado buscando y lo mejor que he encontrado es esto, pero como ya os digo realiza el mirror sobre un duplicado: [url]http://blenderartists.org/forum/showthread.php?t=162747[/url].

Bueno, a ver si alguien me ilumina sobre esta cuestión.
GEKKONIDAE - 10/08/2009 16:35
Lo único que se me ocurre es que, al crear la shape lo hagas usando el Sculpt, que sí tiene x-mirror. Aunque me imagino que quieres algo simétrico, pero que se pueda accionar por separado, como, por ejemplo, las dos comisuras de la boca.

Explica lo que quieres hacer y seguro que te dan algún consejo mejor.
angelsan - 10/08/2009 17:06
Efectivamente, las Shapes Keys las estoy realizando con Sculpt siguiendo la técnica de Pepeland (anisculpt) y como ya has deducido me gustaría poder acciónarlas por separado para tener un mayor control sobre la expresividad facial (se trata de una cara).

He seguido investigando por ahí y puede que la solución se encuentre en utilizar vertex weight groups: [url]http://wiki.blender.org/index.php/dev:ref/release_notes/animation/basic/deformation/shape_keys[/url].

Aunque en principio no quería utilizar grupos de vértices para la cara, pero puede que no quede más remedio, por cierto, ¿alguien ha utilizado las shape keys de esta manera? ¿complica mucho la historia?
En fin, seguiremos indagando.
Caronte - 10/08/2009 17:17
En el último trabajo que he hecho (para el corto: a través de ocaso) he usado vertexkeys en conjunción con huesos y ha funcionado perfecto, como no había mucha complejidad, he creado cada lado de la cara sin copiar, pero si quieres un consejo, es más cómodo y sencillo hacer cada postura facial completa, en lugar de una vertexkey para cada movimiento y tener que componer todo después.

Edito:
No he usado anisculpt, sino simples vertexkeys ajustadas con el Sculpt.
angelsan - 10/08/2009 17:41
Gracias Caronte, yo también estoy estoy utilizando huesos en combinación con las shapes (sobre todo para la cara). Al igual que tú, de la técnica de anisculpt sólo me he quedado con la parte de definir las expresiones faciales con Sculpt (aunque he estado mirando los videos de Daniel y las posibilidades desde luego son impresionantes).

Como bien apuntas, creo que los tiros van en hacer las posturas faciales completas (derecha e izquierda) y luego ajustar las shapes en vertex groups como apuntan aquí (al final): [url]http://www.blender.org/development/release-logs/blender-240/shape-keys/[/url].

El último video de Suzanne es realmente curioso, sigo con ello.
Caronte - 10/08/2009 17:50
Sí, es que el anisculpt (que es estupendo) realmente es para lo que es, para ajustar animación, pero si lo que quieres es hacer expresiones faciales reutilizables, hay que hacerlo como siempre, creando las expresiones y usándolas cuando las necesitemos.
GEKKONIDAE - 10/08/2009 18:19
Se me ocurre que podría no ser complicado tener una herramienta que permita resetear una selección de vértices de una malla con shapes.

De esta forma podrías hacer dos copias de una shape, en una reseteas la mitad izquierda de la boca y en la otra, la derecha. Y ya tienes dos shapes separadas y simétricas. Además, puedes conservar la shape original que acciona las dos mitades.

Si quieres hacer una expresión completa nueva puedes partir de una copia de alguna expresión ya echa y que sea parecida.

Aunque igual esto de resetear algunos vértices se puede hacer con los vertex keys (que no he usado) y lo que digo es absurdo.

Y la caña sería un pincel para el Sculpt que funcione como el smooth, pero su efecto sea que la malla que tienes con una shape devuelva los vértices a la posición base al pasar por encima el pincel. No sé si esto que digo es lo que hace el anisculpt.
angelsan - 10/08/2009 18:23
Bingo. Efectivamente, una posible solución al problema de las expresiones. Asimétricas consiste en la utilización combinada de las Shapes Keys.

Con los vertex groups. A continuación os detallos pasos que he seguido:
1. Crear los vertex groups:

-Seleccionar los vértices de las zonas que queremos.

Controlar y, a continuación, crear los grupos.
2. Crear las Shapes Keys y modelar con Sculpt.

Crear una shape key con la malla base.

Crear otra shape en la que esculpiremos la expresión.

Facial completa (sonrisa en este caso), a un lado y.

Otro de la cara con el eje de simetría x activado.

Ahora, teniendo seleccionada la shape key de la expresión.

Completa, crear las Shapes Keys de los lados izquierdo y.

Derecho asignando el grupo de vértices de la zona que.

Queremos afectar.

De este modo, se pueden crear asimetrías en la expresión.

Utilizando una misma shape key como base.

Os adjunto un blend rápido con un ejemplo utilizando como base a.

Suzanne.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #111423

Caronte - 10/08/2009 18:33

Y la caña sería un pincel para el Sculpt que funcione como el smooth, pero su efecto sea que la malla que tienes con una shape devuelva los vértices a la posición base al pasar por encima el pincel. No sé si esto que digo es lo que hace el anisculpt.

No, para hacer eso basta usar los vertexgroups y para pintar no es con el Sculpt, sino con el weight Paint.
GEKKONIDAE - 10/08/2009 19:00
A ver si me lo puedo mirar un rato esta noche.
Caronte - 10/08/2009 19:57
Nada, es muy fácil, aunque no lo he usado desde que lo sacaron, creo que la teoría te la puedo explicar hasta de memoria:
La cuestión es que el grado de deformación de una Shape Key lo puedes controlar con un vertexgroup, por lo tanto si creas un vertexgroup que contenga todo tu objeto, después pones su nombre en el campo para tal fin en el panel del Shape Key ejegido y a partir de ahí, ese Shape Key deformara la malla al 100% en los vértices donde hayas pintado con un 1 y afectara un 0% a los que hayas pintado con un cero y lo bonito del tema (como decías), es que puedes pintar con weight Paint en tiempo real viendo cómo se deforma la malla.

Como siempre es más difícil explicarlo, que hacerlo.
GEKKONIDAE - 10/08/2009 20:03
Lo entiendo ferpectamente, lo probaré para ver que sigo bien los pasos.