 [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.
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
|