From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Modificateur “MeshDeform”

Mode: Tous les modes

Panneau: Modifiers (contexte Editing, F9)

Description

Exemple de cage de déformation – appliquée à une sphère.

Le modificateur MeshDeform (“déformer un mesh”) permet à un mesh fermé quelconque (de n’importe quelle forme, pas seulement les formes “cuboïdes” d’un modificateur Lattice) d’agir comme une cage de déformation autour d’un autre mesh.

L’illustration ci-contre est un exemple d’objet déformé (en gris), confiné à l’intérieur d’une cage mesh deform (en fil-de-fer noir). La cage de déformation du mesh peut être un mesh de n’importe quelle forme, pour peu qu’il soit fermé. Ci-contre, il s’agit d’une simple UVsphère, altérée par l’outil d’édition proportionnelle, ce qui entraîne l’objet déformé à altérer sa forme en réponse. L’objet déformé s’est vu ajouté un modificateur MeshDeform, auquel on a indiqué d’utiliser la cage de déformation comme mesh de contrôle de sa propre déformation.

Options

Panneau du modificateur MeshDeform.

Le modificateur MeshDeform est raisonnablement facile à utiliser, mais il peut être très lent dans ses calculs pour “attacher” correctement, faire correspondre la cage de déformation à l’objet déformé.

Ob
Le champ texte Ob est utilisé pour indiquer quel objet le modificateur MeshDeform devrait utiliser comme cage de déformation.
VGroup
Le champ texte VGroup est utilisé pour indiquer que seuls les vertices du vertex group spécifié seront affectés par la cage de déformation.
Inv
Inverse l’influence définie par le groupe de vertices du réglage précédent (c-à-d que cela inverse les valeurs des poids de ce groupe).
Bind
Le bouton Bind permet de “lier” effectivement la cage de déformation à l’objet déformé, de façon que toute altération de la forme de la première modifie réellement celle du second.
Attention : en fonction des réglages du modificateur MeshDeform et de la complexité de la cage de déformation et/ou de l’objet déformé, cette opération peut être assez longue. Blender peut alors ne plus répondre à vos sollicitations jusqu'à ce qu’il ait fini ces calculs – il est même possible qu’il manque de mémoire et se “crashe”. À mesure que Blender progresse dans cette opération, vous devriez voir son indicateur de progression (la barre de couleur, dans l’en-tête de la fenêtre User Preferences, normalement tout en haut à droite) progresser et changer de couleur.
Unbind
Quand un objet déformé a été associé à une cage de déformation, vous pouvez les dissocier avec le bouton Unbind qui a remplacé le bouton Bind.
Quand vous cliquez sur Unbind, la cage de déformation conservera sa forme courante, elle ne reviendra pas à son état de départ. Si vous avez besoin de cette forme originale, vous devrez conserver une copie de la cage de déformation avant d’altérer celle-ci. Par contre, l’objet déformé reviendra à sa forme originale, avant “liaison” avec la cage de déformation.
Precision
Le champ numérique Precision contrôle avec quelle précision la cage de déformation altère l’objet déformé, quand les vertices de la cage sont déplacés.
Les valeurs de Precision sont comprises entre 2 et 10, avec une valeur par défaut de 5. Augmenter ce réglage peut fortement allonger le temps nécessaire aux opérations de “liaison” (“binding”), mais permettra d’obtenir une meilleure “liaison” (“mapping”) entre la cage de déformation et l’objet déformé. L’augmentation des temps de calcul induite peut “figer” Blender pendant quelques temps – les situations extrêmes (grande précision, cage de déformation et/ou objet déformé très complexe(s)) peuvent utiliser énormément de mémoire, et même faire “crasher” Blender. Par mesure de sécurité, enregistrez votre fichier .blend avant de procéder (de cliquer sur Bind) !
Ce réglage n’est plus disponible une fois qu’une cage a été “liée”.
Dynamic
Le bouton Dynamic indique au modificateur MeshDeform qu’il devrait également prendre en compte les déformations et autres modifications de l’objet déformé ne résultant pas directement des altérations de la cage de déformation.
Quand le bouton Dynamic est activé, d’autres sources d’altération (comme d’autres modificateurs, ou des clés de forme) sont prises en compte lors de la “liaison” de la cage de déformation à l’objet déformé, augmentant la qualité des déformations. Il est désactivé par défaut, pour économiser mémoire vive et temps de calcul lors de la “liaison”…
Comme pour Precision, ce réglage n’est plus disponible une fois qu’une cage a été “liée”.


Autres caractéristiques du modificateur “MeshDeform”

Il y a des caractéristiques du modificateur MeshDeform qui ne sont pas directement visibles dans son panneau de contrôle. Cette partie liste certains de ces problèmes et fonctionnalités.

Mode d’opération

Les altérations infligées à la cage de déformation ne seront effectives sur l’objet déformé que lorsque la cage est en mode Edit – en mode Objet, réduire/agrandir ou déformer la cage n’aura aucun effet sur l’objet déformé.

Position de la cage de déformation après “liaison”

Durant le processus de “liaison”, une cage de déformation doit englober toutes les parties de l’objet que vous souhaitez affectées par cette cage. Une fois la “liaison” effectuée, la cage de déformation peut être déplacée où vous voulez (en mode Objet !). Quand vous repassez en mode Edit et modifiez sa forme, les altérations correspondantes sont appliquées à l’objet déformé, quelles que soient leurs positions respectives.

Distance entre cage de déformation & objet déformé

La distance entre la cage de déformation et l’objet à déformer a une influence sur l’importance de l’altération de ce dernier quand la forme de la cage est modifiée (en mode Edit). Plus la cage déformante est éloignée de l’objet déformé, plus son influence est faible et diffuse. Et donc, plus les (surfaces des) deux objets sont proches, plus l’influence de la cage est forte et localisée.

Sphère non-déformée.
Distance réduite entre cage de déformation & objet déformé.
Grande distance entre cage de déformation & objet déformé.
Animation montrant la différence entre chaque déformation de sphère dans une cage de déformation (cliquez pour voir l’animation).

Les exemples ci-dessus illustrent les effets de différentes distances entre cage de déformation et objet déformé. L’image en haut à gauche montre une UVSphere normale, non-déformée. Celle d’en haut à droite montre cette même sphère, avec un modificateur MeshDeform et une cage de déformation très rapprochée, ce qui entraîne une déformation assez importante de notre pauvre sphère. L’image en bas à gauche illustre une déformation quand la cage est plus éloignée de l’objet déformé – vous pouvez constater que la déformation subie par celui-ci est bien plus discrète, bien que la modification de la cage déformante soit exactement la même que précédemment. L’image d’en bas à droite est une animation des trois autres images, montrant les modifications de l’objet déformé pour différents éloignements de la cage de déformation.

Support du “Multires”

Blender 2.49 peut maintenant gérer à la fois le modificateur MeshDeform et la fonctionnalité Multires – avec comme limitation que MeshDeform ne fonctionnera que quand le niveau de multires avec lequel il a été “lié” est actif. Cela signifie que quand vous ne travaillez pas sur le niveau de multires que vous avez utilisé au moment du binding, le modificateur (et donc toute modification de la cage) n’aura aucun effet sur l’objet déformé. Évidemment, vous pouvez ajouter autant de modificateurs MeshDeform que vous avez de niveaux de multires.

Notez cependant que le modificateur MeshDeform ne semble pas tirer parti de l’augmentation du niveau de détails due aux niveaux supérieurs de multires

Contrôle intérieur

En plus de la cage proprement dite, vous pouvez avoir d’autres faces, qui peuvent former un “sous-mesh” ouvert ou fermé, et permettent un contrôle plus précis de certaines zones de l’objet déformé. Ces sous-meshes peuvent être reliés ou pas à la cage principale, peuvent la recouper, etc. Par exemple, vous pouvez utiliser une grande cage déformant l’ensemble d’un visage (pour obtenir des effets “cartoon”), avec deux petits sous-meshes sphères englobant les deux yeux, pour mieux contrôler ceux-ci.

Sphère non-déformée, avec une cage déformante comportant un petit sous-mesh.
Sphère déformée de façon contradictoire par les deux sous-meshes de la cage.

Dans l’exemple ci-dessus, bien plus modeste, nous retrouvons nos deux sphères, la petite déformée par la grande. Mais cette fois, un petit sous-mesh ouvert (un plan légèrement concave) a été ajouté à la cage déformante, beaucoup plus près de l’objet déformé (illustration de gauche). Dans l’image de droite, le vertex de la sphère-cage a été déplacé vers le centre, provocant un enfoncement assez large de la sphère déformée, puisque que la cage en est à l’origine assez éloignée. Cependant, la zone de l’objet déformé sous le “contrôle” du petit sous-mesh ajouté (dont le vertex central a été déplacé dans le sens opposé) ressort en une petite protubérance centrale.

Caractéristiques de MeshDeform
Le modificateur MeshDeform fonctionne en prenant en compte les faces englobantes de la cage autour du mesh déformé, lors de ses calculs de “liaison” de la cage à l’objet déformé, influençant l’objet implicite (par ex. implicitement les vertices et arêtes), en utilisant leurs faces voisines pour ses calculs de binding. (Info de Greylica).
NdT : Je ne comprends pas très bien cette note… Texte original : “The MeshDeform modifier works by taking into account bounding faces of the cage to the deformed mesh when doing it’s calculations to bind the cage to the deformed object, influencing the implicit object (e.g. vertices and edges implicitly), using their boundary faces to do it’s bind calculations. (Info from Greylica)”.


Implémentation

Le modificateur Mesh Deform est implémenté (dans Blender v2.46) par la méthode de déformation de volume « Harmonic Coordinates (for Character Articulation) » de Pushkar Joshi, Mark Meyer, Tony DeRose, Brian Green et Tom Sanocki, des studios Pixar Animation. Cette méthode a été présentée lors de la conférence Siggraph 2007. Elle présente beaucoup d’avantages dans le contrôle des déformations de meshes.

Une copie du document PDF d’implémentation peut être téléchargée depuis graphics.pixar.com

Une vidéo illustrant certaines des fonctionnalités importantes de l’implémentation est visible ci-dessous :


Exemples


Voir aussi