[toolbox]

morphMap < télécharger > version 0.49b

morphMap est un outil pour mapper rapidement des décors et des objets basse résolution comme ceux utilisés dans le jeu vidéo. Il fonctionne avec des objets de type poly ou mesh. Il est multi-selection: vous pouvez selectionner plusieurs objets simultanément ou même plusieurs groupes de faces dans un même objet (c'est la nouvelle option 'cluster' active par défaut).
L'interface est dockable à gauche et à droite.

Il est composé de 3 modules principaux :
+ la fonction 'morphMap'
+ la fonction 'Face Map' : une fonction évoluée de face mapping
+ un ensemble de fonction pour manipuler les UVs


La fonction morpMap :

A l'origine morphMaph a été concu pour 
créer des coordonnées de mapping sur une surface non rectangulaire comme vous le feriez à la main. Les coordonnées calculées se trouvent entièrement entre 0 et 1. Les UVs sont déformés afin de remplir tout l'espace UV.
 
Est-ce mathématiquement exact ?
Cela dépend de votre surface.

Au départ, morphMap a été conçu pour fonctionner avec des surfaces plates et convexes. Dans ce cas, il donnera une solution exacte.

Si votre surface est concave (non convexe), cela dépend de sa régularité.
Cela fonctionnera ou pas selon l'aspect des bords de votre surface.

Si un des 4 bords de votre surface forme un Z ou un S, le script ne donnera pas une bonne solution.
Cependant si vous mappez cette surface en plusieures parties, vous pourrez mapper de nombreuses formes concaves. Par exemple, une route en S pourra être mappée en plusieurs fois (voir exemples).

Visuellement vous voyez immédiatement si le résultat est correct ou pas. En cas de doute, faites afficher la grille (show grid): si elle ne présente pas d'overlapping la solution devrait être correcte.

Au départ, morphMap n'a pas été concu pour mapper des volumes. Cependant je me suis rendu compte qu'un petit nombre de surfaces présentant un volume pouvaient également être mappées avec morphMap. Il s'agit des formes dont le volume est identique entre les 2 bords opposés (voir les exemples).


La nouvelle fonction de face mapping évoluée :

Cette nouvelle fonction est destinée à remplacer le 'face mapping' présent dans le modificateur UVW mapping.
Elle est capable de mapper correctement tous les types de faces (à 3 côtés, 4, 5, 6, 7 et plus ....).

De plus, les UVs seront orientés d'une façon cohérente et pratique. Vous ne passerez plus du temps à réorienter les faces.

Un mesh peut être mappé soit comme un ensemble de faces triangulaire, soit à son niveau polygonal (grâce à la visibilité des edges).

Il y a quelques options supplémentaire :
+ la capacité de tourner l'edge invisible de vos quads sur un ensemble de faces
+ Pour les faces triangulaires, la fonction sk U/V (skew) permet de déplacer le sommet des triangles décallés
+ la fonction T (turn) permet une rotation des UV sur les faces à 3 et 4 points

Voici un exemple de Face Mapping sur une forme complexe. Au dessus, vous trouvez le résultat en utilisant l'option standart 'Face' de l'UVWmapping. Au centre et en dessous, le résultat en utilisant morphMap. Au centre le résultat sur un TRImesh et en dessous le résultat sur le même mesh mais en utilisant son niveau de visibilité polygonale. A droite, c'est un véritable poly.








morphMap interface Utilisation:
1- Sélectionnez la surface à mapper (un objet ou une sélection de faces).
2 - Quand c'est fait, cliquez sur 'morphMap' ou sur "Face Map".

Limitations connues:
- seuls les objets de type poly et mesh sont supportés.

Description des options:

General Properties
- work on channel : le channel UV sur lequel le script agit.
- use previous unwrap: lorsque c'est possible, il réutilisera le modifier unwrap déja présent en haut de la pile.
- convert to polys: convertit les objets en editable poly. Pas d'undo.

Selection Level
- selection level : le script agit soit sur l'objet soit sur une sélection de faces. En mode 'Auto', le script choisira le mode face si vous êtes en mode face. L'option 'Clusters' permet de travailler avec des groupes de faces.

morphMap
- corners recognition: en mode automatique, le script cherchera lui-même les 4 coins de la surface. S'il se trompe vous pouvez selectionner ces 4 points à la main. Ces points doivent se trouver sur le bord du contour sélectionné.
- show corners/show grid/nothing to show : par défaut le programme entoure les 4 coins d'un cercle. Vous pouvez également demander d'afficher la grille.
- aspect : gère le tilling automatique des uvw. 'full UV': pas de tiling. 'square UV': garde un aspect carré à votre mapping. 'whole square UV' : garde un aspect carré mais s'arrange pour ne créer que des uv entier.
- morphMap : lance la routine pour créer les coordonnées de mapping.


Faces Manipulation
- Face Map : mappe chaque face séparément
- poly (on/off) : permet de traiter un mesh au niveau polygonal. Cette option n'a pas d'effet sur un poly.
- Proj (on/off) :  si actif les faces arrières auront la même orientation que les faces avants. C'est une projection.
- "T" (turn) : tourne le tableau des coordonnées de mapping des faces à 3 ou 4 points.
- quadE 'S' (show) : montre/cache les edges invisibles.
-quadE 'Turn' : tourne les edges invisible des faces sélectionnées.

UVW Modifications
- 0-1 : normalise les UVs entre 0 et 1. C'est la bounding box des UVs qui sera normalisée, pour une réelle déformation il faut utiliser morphMap.
- roundoff : arrondi les UVs non-entiers de façon à ce que le tiling devienne une valeur entière. Par ex. si votre image se répète 2.8 fois, il arrondira à 3
- one : modifie le tiling du plus petit axe à 1 tout en gardant l'aspect des UVs.
- W=0 : met la coordonnée W des UV à zéro.
- Tile (U,V) : modifie le tiling de vos UVs. 1.0 = 100%, 2.0=200%, 0.5=50%
- Tile (U,V) : '2' et '3' sont des valeurs prédéfinies.
- offset (U,V) : déplace vos UVs
- Flip (U,V) : crée un mirroir sur l'axe souhaité.
- axis : vous pouvez fixer l'axe au point zéro ou au centre de la selection.
- rotations : +30, +45, -90,+90,180, +20, +10, free : fait une rotation de vos Uvs.
- UVWmap : ajoute un modificateur UVWmapping.
- Unwrap : ajoute un modificateur Unwrap.
- collap : collapse la pile des modificateurs.
 

Historique des versions:
0.49b - accepte les primitives (sans garanties) / accepte les mesh illégaux pour la fonction 'Face Map'
0.48b - multiselection / interface dockable / face mapping évolué / ....
0.28b - interface plus compacte / l'option "convert to" s'adapte au type d'objet ( évite un bug de convertion avec 3DSmax 8 si vous partez d'un mesh ) / pas d'action si aucune face n'est selectionnée en mode face
0.25b - si "convert to polys" est coché alors morphMap retourne en mode face quand c'est nécessaire
0.24b - le symbole " ° " des functions de rotation est enlévé
0.23b - ajout d'un undo utilisable.
0.22b - ajout d'un avertissement s'il n'y a aucun contour.
0.21b - première version.

Installation du macroscript:
1. Cliquez sur MAXScript dans le menu principal, choisissez 'Run Script'...
2. Cherchez et sélectionnez le script et appuyez sur 'Open'
3. Allez dans Customize > Customize User Interface et sélectionnez la catégorie désirée (Clavier, Barre d'outil, Quad ou menu)
4. Trouvez la catégorie 'UVWtoolBox' dans le group 'Main UI'
5. Cherchez dans cette catégorie après le nom 'morphMap'
6. Faites Glisser le script vers une barre d'outils, un Menu, un QuadMenu ou assignez un raccourci clavier

Si vous rencontrez des erreurs ou des problèmes qui m'ont échappés, écrivez-moi.
Toutes les suggestions seront les bienvenues.


exemple de formes acceptées:

Les formes courantes tels que les carrés, les rectangles déformées, les anneaux ouverts sont acceptés sans problème.

Chose amusante, le script fonctionne aussi avec un cercle. Dans l'espace UV le cercle est déformé régulièrement jusqu'à devenir un carré sur les bords.

La surface verticale montre un cas où le script fonctionne avec un volume. Le mur possède deux bords opposés semblables. C'est le seul cas où cela peut fonctionner correctement avec un volume.



Exemple des limitations actuelles sur les volumes:

La grille uv est crée en utilisant les bords, pas la surface. C'est pourquoi cela ne donne pas un résultat idéal avec un volume.















Exemple avec une forme concave : une route

A priori cette forme présente 2 bords en S et ne peut donc être mappée directement avec morphMap. Si vous affichez la grille, elle présente de l'overlapping. L'astuce consiste à mapper la route en 4 parties :



Chaque tournant est mappée séparément. Il sera sans doute néccessaire de tourner certains mapping pour l'unité de l'ensemble. Utilisez les fonctions de rotations. (astuce: forcez le mode face, c'est plus facile)


Cette dernière image montre pourquoi la route doit être mappée en plusieures étapes.













menu | english version