PLUGIN D’EXPORT MAX 3 ET MAX 4

Version 4

Septembre 2001

Ce document rassemble toutes les informations utiles à l’élaboration des éléments graphiques d’un site SCOL fait à partir du logiciel de modélisation 3D Studio Max (version 3 et 4). Cette exportation est possible grâce au plugin d’exportation de Max vers SCOL.

Il s’adresse aux graphistes 3D et contient les principes de modélisations sous Max, des conseils et règles de constructions des objets 3D (principes fondamentaux de création, avatars, étagères pour le e-commerce).

Ce document est découpé en trois paragraphes. Tout d’abord, nous verrons comment installer le plugin d’exportation pour 3D Studio Max. Puis, comment exporter les scènes réalisées avec 3D Studio Max vers le format M3d de SCOL (V1 et V2) : les règles à suivre ainsi que le paramétrage de 3D Studio Max. Le troisième paragraphe, quant à lui, montrera comment modéliser en 3D pour SCOL : nous détaillerons les principes de modélisation à suivre pour correspondre au format SCOL. Chacun des paragraphes de ce document est indépendant. Le lecteur pourra alors passer certaines parties, voir même lire uniquement les paragraphes qui le concernent.

§ Installation du plugin

§ Fonctionnement du plugin

§ Comment modéliser en 3D pour SCOL

SOMMAIRE

1. INSTALLATION DU PLUGIN.. 4

1.1. Désinstallation du plugin version 3.5. 4

1.2. Installation du plugin : 4

1.2.1. Désinstallation du plugin : 5

1.2.2. Sauvegarde des préférences : 5

2. FONCTIONNEMENT.. 6

2.1. Nouveautés : 6

2.2. Lancement du plugin et choix de la version d’exportation : 6

2.2.1. Atteindre le plugin d’exportation : 6

2.2.2. Choix de la version d’exportation : 7

2.3. Exportation des éléments de base : 8

2.4. Exportation des animations : 9

2.5. Exportation des matériaux : 10

2.6. Configuration du fichier M3d : 10

3. Comment modéliser en 3D pour SCOL.. 11

3.1. Préparation d’un projet : 11

3.2. Rappel de base sur la 3D : 12

3.2.1. Les objets. 12

3.2.2. Les sous-objets. 12

3.2.3. Edition des sous-objets. 13

3.3. Conseils et règles de modélisation : 14

3.3.1. Conseils de modélisation : 14

3.3.2. Règles de modélisation : 17

3.4. Matériaux et textures : 20

3.4.1. Les matériaux. 20

3.4.2. Les textures en SCOL. 24

3.4.3. Le mapping. 26

3.5. Les caméras : 26

3.6. Les Lights : 28

3.7. Les boites de collision : 30

3.8. Les avatars : 32

3.9. Techniques de modélisation des étagères pour le e-commerce. 33

3.9.1. Directives de modélisation. 33

3.9.2. Les étagères. 33

3.9.3. Les produits. 36

3.9.4. Exportation du produit 37

3.9.5. Résolutions des problèmes de remplissage de l’étagère. 38

# 1. INSTALLATION DU PLUGIN

## 1.1. Désinstallation du plugin version 3.5

Cette partie décrit les opérations à effectuer pour désinstaller l’ancien plugin d’exportation de Max vers SCOL. Bien que sa présence ne gène en rien le fonctionnement du nouveau plugin, il est préférable de le désinstaller pour éviter les erreurs lors du choix du format d’exportation. En effet, ces deux plugins offrent le format « M3d » comme format de sortie dans la fenêtre d’exportation.

La désinstallation est simple, il suffit de supprimer ou de mettre dans un autre répertoire les fichiers suivants :

« Chemin vers 3ds »\Plugins\Cryo_export.dle

« Chemin vers 3ds »\M3dexport.dll

Aucune modification n’est à faire au niveau de 3D Studio Max.

## 1.2. Installation du plugin :

3D Studio Max est construit de manière à pouvoir accueillir simplement des plugins moyennant qu’ils suivent quelques règles de construction. Notre outil entre tout à fait dans ce cadre. Ainsi, son installation est très simple.

Il a été développé pour 3D Studio Version 3, est n’est certifié que pour cette version.

Le plugin d’exportation de Max vers SCOL est constitué d’un fichier : ExportToM3d.dle

Pour son installation il suffit de le copier dans le répertoire contenant tous les plugins de Max. Habituellement ce répertoire se trouve à :

« Chemin vers 3ds »\plugins

Notes : Ces opérations doivent être effectuées lorsque 3D Studio Max est fermé.

Normalement, le plugin est automatiquement reconnue par 3D Studio Max lors de son lancement. Un nouveau champ d’exportation est alors ajouté dans la commande « File / Export… » ou « File / Export Selected… », le champ « M3d »

Attention : Si l’ancien plugin est encore installé, deux champs « M3d » seront visibles dans la commande « Export… ». Dans ce cas voir la méthode de désinstallation de l’ancien plugin dans ce chapitre.

Si le plugin n’est pas reconnu directement par Max, c’est parce que le fichier standard dans lequel Max va chercher les plugins n’est pas celui où nous avons copié le nôtre.

Deux solutions s’offrent à nous :

1 – Copier le plugin dans le répertoire connu par Max

Pour connaître ce répertoire, il faut aller dans :

§ « Customize / Configure Path… »

§ Onglet « Plug ins »

§ Sélectionner le champ « Additional 3D Studio Max® plugins »

§ Cliquer sur le bouton « Modify… » -> On obtient alors le chemin de ce répertoire, il suffit d’aller copier « ExportToM3d.dle » dans ce répertoire.

2 – Ajouter un répertoire contenant des plugins à Max

Pour ajouter un nouveau répertoire de plugin il faut :

§ « Customize / Configure Path… »

§ Onglet « Plug ins »

§ Cliquer sur le bouton « Add… » et sélectionner le répertoire où se trouve le plugin.

### 1.2.1. Désinstallation du plugin :

La désinstallation du plugin est aussi simple que son installation. Il suffit d’effacer ou de déplacer le fichier suivant :

« Chemin vers 3ds »\plugins\ExportToM3d.dle

Aucune modification n’est nécessaire au niveau de Max.

### 1.2.2. Sauvegarde des préférences :

Le plugin actuel gère la sauvegarde des préférences de l’utilisateur. Ainsi, à la première utilisation du plugin, un fichier de sauvegarde est créé contenant la configuration par défaut. A chaque utilisation du plugin, ce fichier est remis à jour avec les nouvelles préférences de l’utilisateur. Ce fichier se trouve à l’emplacement :

« Chemin vers 3ds »\plugcfg\ExportToM3d.cfg

Note : La réinitialisation des préférences par défaut peut être effectuée par la suppression de ce fichier.

# 2. FONCTIONNEMENT

Nous allons dans ce chapitre, détailler le fonctionnement du nouveau plugin d’exportation.

Bien que son but soit principalement d’exporter les scènes Max vers le format de la version 2, ce plugin permet encore d’exporter les scènes dans le format version 1 M3d. Nous détaillerons ce point dans ce chapitre. Nous verrons également l’utilisation générale de ce plugin ainsi que les configurations possibles.

## 2.1. Nouveautés :

La principale nouveauté de ce plugin est d’ordre technique. La version 3.5 du plugin était la réunion de deux programmes. Le premier de ces programmes venant de Cryo-Interactive. Il permet de récupérer les informations contenues dans les scènes Max et de les convertir dans le format 3D utilisé par Cryo-Interactive. La seconde partie, est un ajout de Cryo-Networks permettant de convertir le format 3D d’Interactive vers le format M3d que nous utilisons.

Limités par ce format temporaire, et n’étant pas maître de la totalité du code de la version 3.5 du plugin, il a été décidé de réaliser le présent développement : un nouveau plugin exportant les scènes Max (version 3 et 4) vers le format M3d sans utiliser de programmes externes. Nous augmentons par ce choix la précision des exportations, et nous ne sommes plus limités dans les futures évolutions du plugin.

De plus, ce plugin permet d’exporter de nouveaux éléments depuis les scènes Max (sources de lumières, caméras…).

Enfin, il est compatible avec format version 2 des fichiers M3d du moteur 3D version 4.0.

## 2.2. Lancement du plugin et choix de la version d’exportation :

### 2.2.1. Atteindre le plugin d’exportation :

Comme son nom l’indique, ce plugin permet l’EXPORTATION des données de Max. Sa place logique est donc dans le menu déroulant « File / Export… » pour l’exportation de la scène dans sa totalité, et « File / Export Selected… » pour l’exportation des objets sélectionnés uniquement.

Moyen d’accès au plugin

Une fois le plugin lancé, une fenêtre de dialogue demande d’indiquer le nom et l’endroit de destination du fichier M3d résultant.

La dernière étape consiste à sélectionner les types d’éléments à exporter, ainsi que d’autres éléments que nous allons détailler dans ce chapitre.

### 2.2.2. Choix de la version d’exportation :

Les composants qui constituent l’interface graphique sont organisés de la façon suivante :

§ Zone éléments à exporter

§ Zone animation

§ Zone matériaux

§ Zone de configuration du fichier M3d

L’interface contient également une case à cocher permettant de sélectionner le format du fichier m3d de sortie (en haut à droite de la fenêtre de sélection du plugin). En effet, il est toujours possible dans ce plugin d’exporter les scènes Max dans la version 3.5 M3d. Tous les éléments non gérés par le moteur graphique version 1 ne sont donc plus exportés. Au niveau de l’interface graphique, les zones non exportées sont grisées pour empêcher la sélection.

Les photos d’écran ci-dessous montrent successivement l’interface graphique en mode d’exportation dans le format M3d 4.0 puis dans lle format 3.5 M3d.

Exportation pour version supérieure à 3.5 de SCOL

Exportation pour version 3.5 et inférieure de SCOL

Certaines fonctionnalités n’étaient pas disponibles dans la version 3.5 du plugin (le choix de la frame à exporter par exemple), mais n’apparaissent pas grisées lors de la sélection de l’exportation dans la version 3.5 M3d. En fait, la version 3.5 M3d contient ces informations, mais elles n’étaient pas directement exportées depuis Max auparavant.

## 2.3. Exportation des éléments de base :

Si la case d’un des types d’élément est cochée, cela signifie qu’il sera exporté s’il existe dans la scène Max.

Note : La demande d’exportation des boites de collision créera un fichier « .box » si au moins une boite de collision est trouvée.

En mode d’exportation dans la nouvelle version des fichiers M3d, les éléments exportables depuis Max sont :

§ Les dummies

§ Les géométries 3D

| - Possibilité d’écrire les faces à 4 vertices en une seule ligne avec l’option « Face 4 vertices ». Cette fonction permet de réduire de façon significative la taille des fichiers M3d qui possèdent principalement des faces rectangulaires. - Possibilité d’économiser de la place également par la fonction « Topologies ». Cette fonction permet de n’écrire qu’une seule fois chaque objet. Dans le cas où un objet apparaîtrait plusieurs fois dans la scène, dans sa définition, seules les coordonnées de son pivot sont écrites. A la place du détail de la construction de son Mesh, le nom de la topologie correspondante est indiqué.

§ Les lumières

§ Les caméras

§ Les boites de collision

Dans le mode d’exportation de la version 3.5 du format M3d, les éléments à exporter sont les mêmes que ceux que nous venons de lister excepté :

| § Les topologies : - Dans cette version du format M3d, les Meshs des géométries 3d sont exportés sous forme de triangles (3 vertices) ou sous forme de rectangles (4 vertices). Toutefois, si une géométrie est répétée plusieurs fois dans la scène Max, elle sera recopiée autant de fois dans le fichier M3d. § Les lumières § Les caméras

## 2.4. Exportation des animations :

| L’utilisateur peut, dans cette version, choisir d’exporter ou non les animations présentes dans la scène Max. Si la case correspondante aux animations est cochée, toute l’animation (de la première à la dernière frame) sera exportée. Dans le cas contraire, deux choix s’offrent à l’utilisateur. Soit il exporte la frame où il se trouve actuellement dans l’interface de travail de Max, soit il spécifie le numéro de la frame qu’il désire exporter.

L’utilisateur peut donc sélectionner ou non cette fonctionnalité. Si celle-ci est active, il est également possible de spécifier la précision utilisée. Plus ce chiffre est grand, plus les points à souder doivent être proches l’un de l’autre. Toutefois, même avec une précision au minimum, il faut que les points soient confondus (visuellement au moins) pour que le soudage ait lieu.

## 2.5. Exportation des matériaux :

Il est également possible d’exporter ou non les matériaux. Si on demande que les matériaux soient exportés et qu’un ou plusieurs d’entre eux ne soient pas définis, un matériau générique est alors créé. Il contient uniquement la couleur de l’élément dans l’espace de travail de Max.

Si au contraire l’exportation des matériaux n’est pas demandée, même si des matériaux sont définis dans la scène Max, aucun ne sera exporté. Des matériaux génériques ne contenant que la couleur des éléments dans l’espace de travail de Max seront créés.

Si l’exportation des matériaux est demandée, il est possible d’affecter certains paramètres à ces matériaux. Ces paramètres sont ceux qui ne sont pas exportables directement depuis Max : Gouraud et Light.

Gouraud indique que le lissage Gouraud est utilisé lors du rendu de l’objet. Ce type oblige le type Light.

Light indique que les faces de l’objets sont éclairées.

## 2.6. Configuration du fichier M3d :

La dernière zone d’influence de l’utilisateur concerne le format du fichier M3d (que ce soit la version 3.5 ou 4.0 de ce format).

Le premier champ permet d’indiquer le format des nombres à virgules flottantes. C’est-à-dire le nombre de chiffres après la virgule qui doivent être écrits dans le fichier résultat.

Le second champ permet d’indiquer l’indentation du fichier. C’est-à-dire le nombre d’espace au début de chaque ligne. Si le fichier est destiné à être lu, ce nombre peut être important pour augmenter la lisibilité. Dans le cas contraire, il peut être nul.

# 3. Comment modéliser en 3D pour SCOL

L’objectif de ce chapitre est de vous donner des informations pratiques expliquant le fonctionnement du plugin.

Une fois le plugin installé, la phase de modélisation peut commencer.

Ce chapitre rassemble toutes les données sur la modélisation avec 3D Studio Max pour SCOL

§ La première partie de ce chapitre décrit les réglages à faire avant de commencer un projet pour SCOL. Ces principes sont définis pour Max, mais pourraient être appliqués à tous les autres modeleurs.

§ La seconde partie de ce chapitre fait un bref rappel des bases de la 3D.

§ Dans la continuité de la seconde partie, la troisième donne quelques conseils de modélisation, mais surtout quelques règles à appliquer pour modéliser pour SCOL. Cette partie traite également des particularités de la modélisation sous Max pour SCOL.

§ Nous traiterons dans la quatrième partie des matériaux et des textures. Nous verrons ainsi les matériaux exportables depuis Max, ainsi que les techniques de Mapping utilisables.

§ La partie cinq décrit l’exportation des caméras. Nous détaillerons ici les paramètres exportables et les outils utilisables.

§ Très similaire à la partie précédente, nous verrons dans la sixième partie l’exportation des lumières.

§ Nous verrons ensuite l ‘exportation des boites de collision dans la partie sept.

§ La partie huit, quant à elle, décrit la modélisation spécifique des avatars pour les sites SCOL,

§ Enfin, la partie neuf décrit les techniques de modélisation des étagères en 3D nécessaires pour la mise en place de votre boutique 3D avec ACTIV Shop.

## 3.1. Préparation d’un projet :

Avant de commencer un projet, il est nécessaire de configurer certains paramètres de 3DSmax :

§ Passer en 1 unité = 1cm

§ Paramétrer la grille en fonction de l’échelle de la scène (centimètres pour les objets, mètres pour l’architecture).

§ Rendre visibles toutes les faces de l’objet (all lines) : par défaut, 3DSmax ne montre que des quadrilatères, ce n’est pas suffisant pour travailler un objet dans le détail.

§ Ne pas afficher le dos des objets (no backface), offrira plus de lisibilité.

§ S’assurer que l’on commence à travailler au centre de l’univers, à l’origine du repère (X=0, Y=0, Z=0).

§ Les objets modélisés seront « posés » au niveau du sol : Y=0 => sol de référence pour SCOL.

§ Activer le « Snap Grid » pour que les objets créés soient automatiquement positionnés sur la grille. Tout au long de l’élaboration de la scène, veiller à ce que le snap reste activé pendant tous les déplacements d’objets, ceci permettra un positionnement très précis des volumes. De plus, SCOL arrondit les coordonnées des vertices au centimètre, ce qui assurera une fidélité des formes entre SCOL et 3Dsmax.

§ Pour les modélisations nécessitant un respect très fidèle du design, afficher l’image de référence (design) en background et s’assurer (avec les subdivisions de la grille) que le niveau de zoom correspond bien à l’échelle de l’image.

§ Paramétrer les quatre vues de manière à avoir trois vues planes (face, profil et dessus) qui seront les vues de création et d’édition des objets. La vue utilisateur ou la vue perspective ne servant qu’à visualiser le résultat de vos opérations.

## 3.2. Rappel de base sur la 3D :

Cette partie décrit brièvement les bases de la 3D. Les photos d’écran illustrant les propos sont faites à partir du Modeleur 3D Studio Max. Toutefois, les principes énoncés ici sont applicables à de nombreux autres modeleurs du marchés.

### 3.2.1. Les objets

Toute structure polygonale est appelée un objet, chaque objet est composé de sous-objets : les éléments, les faces, les edges et les vertices. Un objet peut être composé de plusieurs autres objets, dans ce cas, les objets de base deviennent des éléments.

### 3.2.2. Les sous-objets

Ce sont les différents composants qui constituent les objets 3D :

§ Les éléments : Les groupes de faces qui ont été désolidarisés du reste de l’objet ou qui n’ont pas été soudés. Si tous les vertices d’un objet sont soudés, 1 objet = 1 élément.

§ Les faces : Les triangles qui constituent l’enveloppe polygonale de l’objet (maillage).

§ Une face est caractérisée par sa normale (vecteur perpendiculaire au plan de la face). Une face n’est visible que d’un côté (son dos est transparent), la normale est orientée vers ce côté visible.

§ Les edges : Les côtés de chacune des faces triangulaires, un edge peut être commun à 2 faces

§ Les vertices : Les sommets des faces, un vertex peut être commun à plusieurs faces.

### 3.2.3. Edition des sous-objets

| Pour chacun de ces sous-objets, certaines actions sont disponibles (voir photo d’écran ci-contre). Voici la liste des plus utilisées. § pour les éléments - détacher : permet de détacher un élément à un objet, cet élément devient alors un nouvel objet. - effacer : permet d’effacer l’élément ou le groupe d’éléments sélectionnés. - extruder : permet d’extruder un élément dans le sens de la résultante des normales qui le composent ; la valeur d’extrusion peut-être une valeur négative, dans ce cas, l’extrusion sera opposée au sens de la normale. § pour les faces - attacher : permet d’attacher une face à un objet. - détacher : permet de détacher une face (ou un groupe de faces sélectionnées) d’un objet. Les faces ainsi détachées peuvent être soit un nouvel élément (qui appartient toujours au même objet), soit un nouvel objet (au choix). - créer : permet de créer une face en cliquant successivement sur ses trois sommets dans le sens inverse horaire. - sélectionner : permet de sélectionner des faces pour pouvoir agir sur la sélection ainsi crée. - effacer : permet de supprimer la ou les face(s) sélectionnée(s). - extruder : permet d’extruder une face dans le sens de l’axe de sa normale (vecteur perpendiculaire au plan de la face), la valeur d’extrusion peut-être une valeur négative, à ce moment là, l’extrusion sera opposée au sens de la normale. § pour les edges - effacer : lorsqu’un edge est effacé, les deux faces qui lui sont adjacentes le sont aussi. - diviser : permet de créer un vertex sur l’edge qui divise aussi les faces adjacentes. Le fait d’ajouter un vertex permet de détailler une zone précise en ajoutant localement de la définition au maillage.

- tourner : permet de changer l’orientation d’un edge. Pour un quadrilatère (deux faces triangulaires avec un côté commun), l’edge relie 2 sommets opposés, s’il est tourné, il reliera les deux autres sommets.

- visible/invisible : Le fait de changer la visibilité d’un edge ne change en rien la structure de l’objet. La visibilité d’un edge permet uniquement de modifier son affichage dans les vues de travail et de faciliter la lecture du volume.

§ Pour les vertices

- créer : permet de créer un vertex supplémentaire n’importe où dans l’espace de travail, ce vertex est isolé mais appartient automatiquement à l’objet en cours (celui qui est en train d’être édité).

- effacer : le fait de supprimer un objet supprime aussi toutes les faces auxquelles il appartient.

- détacher : détacher un groupe de vertices sélectionnés revient à détacher un groupe de faces sélectionnées.

- souder : permet de fusionner deux 2 vertices de deux éléments différents pour n’en créer qu’un seul. Permet aussi de fusionner deux vertices du même élément.

## 3.3. Conseils et règles de modélisation :

Cette partie énonce un certain nombre de conseils afin de facilité la modélisation pour SCOL. Cette partie est décomposée en deux sous-partie. La première traite de points généraux qui sont applicables avec tous les modeleurs du marché (les photos d’écran de cette partie étant tirées de 3D Studio Max). La seconde partie traite plus spécifiquement des règles à suivre pour modéliser avec 3D Studio Max des objets ou des scènes pour SCOL.

### 3.3.1. Conseils de modélisation :

Le projet étant prêt, vous pouvez commencer à modéliser la scène :

§ Se fixer un nombre limite de faces pour toute la scène en fonction du nombre d’avatars à accueillir.

- Ex : décor : 4000 faces + avatars : 200 faces chacun => scène avec 10 avatars = 6000 faces. De même pour la scène entière, partager le budget de faces entre l’architecture et les objets.

- Ex : archi : 3000 faces + objets : 1000 faces => environ 10 objets de 100 faces ou 20 objets de 50 faces…

§ Se fixer un niveau de détail de la modélisation qui sera applicable à toute la scène : vous pouvez décider que tous les objets que vous allez modéliser ne possèdent pas de détails en dessous de 10cm par exemple, ce sera la résolution de votre maillage. En général, pour une scène d’intérieur, la limite de 10cm est une bonne limite qui offre beaucoup de possibilités sans trop contraindre la modélisation. Les objets à représenter qui font moins de 10cm figureront sur la texture de l’objet (une clé posée sur une table par exemple).

§ Commencer par placer les plus gros volumes de manière à avoir une idée très tôt de l’espace général et ainsi du résultat final. Dès ce moment-là, vous pouvez commencer à valider le volume sous SCOL en exportant la scène avec un matériau temporaire. Pour éviter trop de va-et-vient entre 3Dsmax et SCOL, placer une caméra à 1m60 du sol avec une focale de 29,7 ° dans 3DSmax, c’est un bon moyen d’avoir une idée précise du cadrage final.

§ Avant de concevoir chaque partie de la modélisation, essayer de repérer quelles zones sont plus ou moins identiques pour ne pas avoir à les modéliser plusieurs fois, une copie suffira.

§ Avant de modéliser un objet, essayer de le décomposer en plusieurs volumes simples (sur papier) qui correspondront aux primitives de bases de l’objet 3D (cube, cylindre, sphère, cône…) cette méthode est applicable dans la majorité des cas et permet une approche très simple des volumes les plus complexes.

| § Une fois que les différents volumes qui composent l’objet sont créés et positionnés, il vous reste à les fusionner les uns avec les autres, pour cela, il existe une fonction dans 3Dsmax qui s’appelle l’opération booléenne mais le résultat est rarement satisfaisant : l’objet ainsi obtenu ne sera pas « propre ». § Pour fusionner les objets, commencer par les attacher. Une fois attachés, il suffit de souder les vertices d’un objet à l’autre en ajoutant des vertices par division d’edges sur l’objet de destination. § Une fois les objets fusionnés, il reste à supprimer toutes les faces superflues, c’est à dire les faces qui se trouvent à l’intérieur du volume et qui ne font donc pas partie de l’enveloppe polygonale. Cette partie est assez délicate et vous aurez besoin d’un certain temps d’adaptation pour habituer votre œil à déceler ce genre d’erreur.

§ S’assurer que toutes les faces soient visibles de l’extérieur (toutes les normales orientées vers l’extérieur) en utilisant le mode de visualisation « gouraud » (smoothed + highlights) dans la vue utilisateur et en faisant pivoter la vue. Si une ou plusieurs faces sont mal orientées, sélectionnez-les et inversez leurs normales (flip normals).

§ Dans une image, l’œil humain détecte avant tout le contour des objets, celui-ci peut être plus détaillé que le centre de l’objet : lorsque c’est possible, optimiser les faces qui ne constituent pas le pourtour de l’objet.

§ Après nettoyage, penser à tourner les edges de manière à obtenir un objet parfaitement symétrique (dans la mesure du possible), ce qui rendra le gouraud plus uniforme. Attention, souvent, le fait de tourner les edges d’un objet modifie sa forme, s’assurer que l’orientation donnée à l’edge correspond bien à la forme souhaitée.

L’edge est mal orienté, la forme n’est pas symétrique | L’edge est bien orienté

§ Eviter toutes les faces trop petites ou de rapport longueur/largeur trop important, elles ne donnent pas de résultat satisfaisant en gouraud. Toujours par souci de symétrie et d’homogénéité du maillage, dans un même quadrilatère, faire en sorte que les superficies des 2 faces soient très proches.

§

§ Il existe dans SCOL un système d’optimisation qui permet d’économiser des polygones et qui consiste à traiter deux faces coplanaires (et ayant leur edge commun invisible) comme un seul polygone. Si toutes les faces d’un même espace 3D sont des quadrilatères (ayant toujours leur edge commun invisible), alors le nombre de polygones dans 3Dsmax sera divisé par 2 dans SCOL. Pour cela, il est important d’essayer au maximum de créer des objets composés de quadrilatères. Si ce n’est pas le cas, vous pouvez jouer sur l’orientation et la visibilité des edges.

Pas de quadrilatères, 8 triangles tous les edges sont invisibles (objet par défaut de 3Dsmax) 8 faces dans SCOL | 2 quadrilatères, 2 triangles seules les diagonales des 2 quadrilatères sont invisibles (objet corrigé) 4 faces dans SCOL

§ Une fois tous les objets attachés et soudés, il ne reste plus qu’à modifier et ajuster la forme pour obtenir précisément celle que vous vous étiez fixé.

### 3.3.2. Règles de modélisation :

Cette partie est essentielle pour que l’exportation de scènes ou d’objets depuis Max se passe sans encombre. Il est important de respecter ces quelques règles pour éviter d’importantes erreurs lors de la visualisation des objets avec SCOL.

§ Orientation des pivots

Ce point est sans doute un des plus délicat. Les utilisateurs de l’ancienne version du plugin d’exportation pour Max vont sans doute trouver dans cette explication la réponse à de nombreux problèmes qui leurs sont arrivés. En effet, le non respect de cette règle de modélisation entraîne une rotation de l’objet exporté de 90° par rapport à sa position dans Max. De plus, dans le cas où une scène contiendrait plusieurs objets, si certains de ces objets ont été modélisés sans suivre cette règle alors que d’autres l’appliquent, le résultat de l’exportation comporte certains objets qui ne sont pas dans l’alignement des autres lorsqu’on les visualise avec SCOL.

§ La règle à suivre :

La règle est simple. Les valeurs d’angle sont calculées entre le repère global de Max et le repère local des objets. Lors de la création de l’objet, son repère local doit être aligné sur le repère global de Max. Ainsi, les modifications de position et d’angle appliquées à l’objet seront exactement celles visualisées dans SCOL.

§ Explication :

La vue de création de l’objet joue un rôle important dans l’orientation initiale du pivot. La photo ci-dessous montre sphères identiques mais créées dans deux vues distinctes. La sphère de gauche a été créée dans la vue de dessus alors que celle de droite dans la vue de face.

L’orientation initiale du pivot suit la règle suivante :

- Position du pivot d’un objet :

On peut facilement voir que les pivots des deux sphères ne sont pas orientés de la même manière.

La règle d’orientation initiale des pivots utilisée par Max est la suivante : Quelle que soit la vue de création, l’axe des Z est toujours dirigé vers l’utilisateur. Le repère étant direct, les autres axes sont orientés en fonction de ce premier.

§ Technique 1 :

Le repère global de Max est constamment affiché en bas à gauche de chaque vue. On remarque ainsi qu’il correspond à l’orientation initiale du pivot de la sphère créée dans la vue de dessus (la sphère au second plan).

Ainsi, la création des objets dans la vue de dessus oriente automatiquement les pivots de ceux-ci.

§ Technique 2 :

Il est également possible dans Max de réorienter les pivots des objets par les outils de rotation et de translation. Toutefois, il est difficile d’orienter exactement ceux-ci comme le repère global. De plus, cette tâche peut être longue sur un nombre important d’objets.

L’onglet « Hierarchy » de Max permet d’atteindre les pivots des objets. Le bouton « Affect Pivot Only » permet de modifier les pivots d’un ou plusieurs objets sélectionnés. Nous verrons l’utilisation du bouton « Center to Object » plus loin dans cette partie. Enfin, c’est le bouton « Align to World » qui nous intéresse.

La commande « Align to World » de l’onglet « Hierarchy » oriente le pivot d’un objet comme le repère global de Max.

Attention, cette commande aligne exactement le pivot de l’objet sur le repère global de Max. Toute modification d’angle faite sur ce pivot sera définitivement perdue.

§ Position initiale du pivot

Après avoir traité de l’orientation initiale du pivot, nous allons nous attarder sur la position initiale de celui-ci dans l’objet. En effet, selon le type d’objet, la position du pivot peut varier. Par exemple, pour une boite, le pivot est placé au centre de sa première face. Donc sur la base de la boite comme le montre la photo ci-dessous.

Ce repère étant le point de pivot de l’objet, sa position et son orientation sont très importants. Il est donc possible de modifier sa position par le bouton « Affect Pivot Only » de l’onglet « Hierarchy » et les outils de déplacement et de rotation de Max.

Toutefois, cet onglet propose également la commande « Center to Object » qui donne au pivot la position du Barycentre de l’objet. Cette commande ne change en rien l’orientation du pivot.

§ L’échelle des objets

Ce point tient plus lieu d’information que de règle. Sous 3DS Max, il est possible de déformer un objet par le modificateur « Scale » selon les axes ou selon un vecteur spécifié. En SCOL, il n’est possible de changer l’échelle d’un objet qu’uniformément selon toutes les directions.

De plus, il n’est pas utile pour les graphistes d’exporter cette valeur, celle-ci n’étant plus utilisée par la suite. Seul les programmeurs peuvent avoir besoin de modifier la taille d’un objet M3d, et cette taille est modifiée directement dans le fichier ou par l’éditeur du SCS.

La valeur d’exportation de l’échelle est toujours 1. C’est l’objet déformé qui est exporté et non l’objet initial avec un indice d’échelle.

§ Reset XForm et Collapse

Ces deux commandes sont importantes avant d’utiliser le plugin d’exportation. Elles permettent d’éviter de nombreuses erreurs de visualisation des scènes en SCOL.

Reset XForm : Cette commande demande à Max de recalculer les véritables dimensions de l’objet 3D. En effet, lors de modifications, les informations stockées par Max sont :

§ l’objet initial

§ la matrice de transformation appliquée à l’objet

Reset XForm applique donc la matrice de transformation aux vertices de l’objet, et stocke le résultat.

Collapse : Cette commande écrase la pile des modificateurs. En effet, pour permettre un retour simple en arrière, et pour pouvoir modifier les paramètres de modificateurs déjà appliqués sur l’objet, Max stocke encore une fois l’objet initial, ainsi que la pile de tous les modificateurs qui lui sont appliqués.

Cette commande applique donc tous ces modificateurs à l’objet et stocke le résultat de ces opérations. Après cette commande la pile est vide, et le retour en arrière n’est plus possible.

§ Les copies instances et les topologies

Pour un gain de place dans le fichier M3d, il est possible de créer des topologies (équivalence des copies instances dans Max). Cela permet de définir une seule fois les vertices et polygones du Mesh dans une topologie, et de la réutiliser dans la définition de plusieurs objets.

Définition des termes Max :

§ Copy : Copie indépendante de l’élément

§ Instance : copie de l’élément. Si l’original est modifié, la copie est modifiée. Si la copie est modifiée, l’original est modifié.

§ Référence : copie de l’élément. Si l’original est modifié, la copie est modifiée. Si la copie est modifiée, l’original n’est pas modifié.

On entend par modifier, l’application d’un « modifier » selon Max. Si les paramètres de tailles de base de l’objet sont modifiés, que ce soit des instances ou des références, original et copies sont modifiés.

Dans les fichiers M3d, seules les copies par instances seront écrites sous la forme de topologies. Les copies par références seront écrites sous la forme de deux objets.

Attention : Dans Max, il est possible d’attribuer différents matériaux entre l’objet d’origine et son instance. Lors de l’exportation, seule la texture de l’original sera exportée et attribuée aux deux objets.

## 3.4. Matériaux et textures :

Dans cette partie, nous allons détailler les matériaux exportables depuis Max vers SCOL. Nous donnerons également leurs règles d’utilisation en énonçant les paramètres qui sont exportés.

Nous ferons également un petit rappel sur l’utilisation des textures pour SCOL ainsi que sur les techniques de mapping offertes par Max.

### 3.4.1. Les matériaux

La version 2 du moteur 3D de SCOL apportant de nouvelles fonctionnalités au niveau des matériaux, l’exportation de ceux-ci à évoluée depuis la version 3.5 du plugin.

Nous allons donc voir dans cette partie les fonctionnalités de 3D Studio Max exportables en SCOL.

§ Aucun matériau n’est définit sous Max

Dans le cas où aucun matériau ne serait attribué un à objet 3D dans une scène Max, c’est la couleur de celui-ci dans le modeleur qui est exportée. Cela permet de pouvoir exporter facilement des objets dont les matériaux et textures ne sont pas encore finies.

Il est possible de modifier cette couleur en cliquant sur la case colorée qui figure à côté du nom de l’objet.

Bien entendu, cette couleur n’est plus visible lorsqu’un matériau est attribué à l’élément.

Attention : Même lorsqu’un matériau est attribué à l’élément, cette couleur est exportée. En effet, elle est utilisée lors de l’affichage de l’objet 3D dans le moteur SCOL quand les textures ne sont pas encore téléchargées. Il faut donc toujours veiller à ce que cette couleur corresponde à la fonction de l’objet 3D dans la scène.

§ Le type de matériau simple

Le matériau le plus simple attribué à un objet 3D ne comporte qu’une couleur. Celle-ci est définie par la couleur diffuse du matériau. Les autres couleurs ne sont pas prises en comptes.

§ Le type de matériau texturé

Il est également possible d’exporter des matériaux possédant une texture. La texture prise en compte lors de l’exportation est celle appliquée sur la couleur diffuse (voir photo ci-dessus). A l’ouverture de la boite de dialogue « Material/Map Broser » le mode texture est référencé par « Bitmap » comme le montre la photo ci dessous.

Une fois la texture sélectionnée, l’éditeur de matériaux se modifie pour faire apparaître les paramètres de la texture. Seul le paramètre « Map Channel » est utilisé pour l’exportation. Les valeurs des autres paramètres n’ont aucune importance. L’exportation des réglages de « tile » par exemple, est faite au niveau du mapping, et non de la texture.

Type Bitmap

§ Le type de matériau « Blend » pour le multi-texturing

Le type de matériau peut être fixé à « Blend » (voir la photo de la page précédente). Il est ainsi permis de mélanger deux sous-matériaux. Ces sous-matériaux peuvent être des deux types que nous venons d’énoncer, mais aussi du type « Blend ».

Cette commande est utilisable de plusieurs façons :

§ pour mélanger deux textures

§ pour ajouter un filtre de couleur à une texture

§ pour mélanger deux textures et ajouter un filtre de couleur à une des deux

§ pour mélanger deux textures et ajouter des filtres de couleur à chacune d’entre elles

Pour obtenir les deux derniers matériaux que nous venons d’énoncer, il faut utiliser la commande « Blend » récursivement. Le tableau ci-dessous résume l’utilisation de cette commande.

Attention : Sous Max, il est possible d’obtenir le même résultat avec le type de texture Mix. Ce type effectue en amont l’addition des deux textures avant de les appliquer sur l’objet. SCOL travaillant sur les matériaux, nous n’exportons pas ce type de texture.

Niveau 0 | Niveau 1 | Niveau 2 | Matériau final
Blend | Sous-matériau 1 : Texture 1 |  | Multi-texturing
| Sous-matériau 2 : Texture 2 |  |
Blend | Sous-matériau 1 : Texture |  | Filtre de couleur sur une texture
| Sous-matériau 2 : Couleur |  | (L’ordre des sous-matériaux n’a pas d’importance)
Blend | Sous-matériau 1 : Texture 1 |  | Multi-texturing avec filtre de couleur sur
| Sous-matériau 2 : Blend | Sous-matériau 1 : Texture 2 | l’une des textures. (L’ordre des
|  | Sous-matériau 2 : Couleur | sous-matériaux n’a pas d’importance)
Blend | Sous-matériau 1 : Blend | Sous-matériau 1 : Texture 1 | Multi-texturing avec deux filtres de
|  | Sous-matériau 2 : Couleur | couleurs. (L’ordre des sous-
| Sous matériau 2 : Blend | Sous-matériau 1 : Texture 2 | matériaux n’a pas d’importance)
|  | Sous-matériau 2 : Couleur |

Le pourcentage de mixage des deux sous-matériaux est récupéré du champ « Mix Amount » (voir photo ci-dessous).

Pourcentage de mixage

Sous-matériaux

Important : Les autres paramètres ne sont pas pris en compte au moment de l’exportation.

§ Le type multi-matériaux

| Ce type de matériau est très utilisé dans la modélisation pour SCOL. En effet, il comporte plusieurs sous-matériaux appliqués à certaines facettes de l’objet uniquement en fonction de leur numéro d’Id. L’Id des facettes est modifiable par le « Modifier Editable Mesh ».

Les sous-matériaux peuvent alors être de toutes les formes que nous venons d’énoncer et leur nombre est illimité.

Sous-matériaux

§ La transparence du matériau

Dernier paramètre exporté directement depuis l’éditeur des matériaux, l’opacité de la texture est fixée par le champ « Opacity » dans Max.

### 3.4.2. Les textures en SCOL

En SCOL, la taille des textures est limitée à 256x256 pixels au format JPG. Il est nécessaire de les compresser, si le site est en ligne, ces textures seront téléchargées. En général la limite est fixée à 300 ou 400Ko par espace, ce qui offre des temps de téléchargement acceptables.

En 3D temps réel, les textures sont très importantes, les objets n’étant pas très détaillés, ce sont elles qui donneront tous les effets de lumière et de relief. Pour le cas de plusieurs petits objets, leurs textures peuvent être rassemblées dans une seule de 256x256 ; ces objets seront alors mappés avec le même matériau et la même texture mais seule une certaine partie de la texture sera utilisée pour chacun d’eux.

Le format JPG est un système de compression par comparaison de blocs de pixels de 8x8 pixels. Selon les détails de l’image, la compression sera plus satisfaisante si les différentes parties de la texture sont des multiples de 8.

Pour rentabiliser au maximum l’espace de la texture, essayer d’utiliser toutes les zones de l’image. Les zones qui resteront vides occuperont de la place inutilement. Dimensionner les zones en fonction de la résolution souhaitée : pour un personnage, le visage mérite la résolution la plus élevée, pour l’exemple ci-dessus, il se trouvera dans la plus grande zone (celle de 192x128). Les autres zones serviront aux autres parties du corps ; si des objets sont symétriques ou identiques, n’hésitez pas à utiliser la même partie de la texture pour le même objet.

(2 bras => même partie de la texture).

La texture d’un objet doit se concevoir comme un déroulé de volume :

Pour économiser des textures, ne pas hésiter à réutiliser certaines parties.

Si l’objet est complexe, il sera difficile de créer un déroulé, la solution est de faire des captures d’écrans (ou des rendus en filaire) des différentes vues (face, profil, dessus) et de les assembler dans une (ou plusieurs) images en 256x256. Eviter de modifier le rapport hxL de chacune des vues (mais vous pouvez changer la taille). Prenez garde aux raccords entre les différentes vues.

Dans SCOL, il est possible d’attribuer un lien à une texture, si cette texture est utilisée sur plusieurs objets, ils possèderont tous le même lien ; sinon, il faudra créer autant de matériaux que d’objets, faisant appel à la même texture (il ne faudra la télécharger qu’une seule fois)

Lors de l’exportation, le chemin d’accès des textures est le chemin complet de la racine jusqu’au fichier image. Si dans ce chemin, le mot « \Partage\ » est détecté (ce répertoire correspondant au répertoire de SCOL), le chemin exporté commence alors à ce mot.

Notes : Pour SCOL, les textures doivent obligatoirement figurer dans le répertoire Partition ou un de ses sous-répertoires. Il est donc conseillé de placer directement les textures dans leur répertoire SCOL.

### 3.4.3. Le mapping

§ Le mapping en simple-texturing

En temps 3D temps réel, les objets faisant très peu de polygones et les textures étant de faible résolution, il est nécessaire d’utiliser un outil qui permette de mapper avec précision : Unwrap UVW.

Le mapping se fait en 2 deux parties :

- Un premier mapping grossier avec UVWmap

- Un calage plus précis des coordonnées avec Unwarp UVW

Le premier mapping (UVWmap) sert à placer les coordonnées principales, choisir l’icône de mapping qui correspond le mieux à la morphologie de l’objet : cylindre, plan, sphère…

Le deuxième permet d’agir ponctuellement sur les coordonnées de chacun des vertices en ayant une précision maximum. Pour cela, sélectionner les faces à ajuster (elles apparaîtront en blanc sur la texture de l’éditeur de mapping) puis repositionner les vertices.

Si la texture a été élaborée à partir d’un rendu filaire de la 3D, elle s’appliquera parfaitement à l’objet.

Si un objet se trouve en grande quantité dans une scène, mappez-le avant de le dupliquer.

§ Le mapping en multi-texturing

Dans le cas du multi-texturing, il est possible de définir différentes coordonnées de mapping (une par texture). Ainsi, les champs « Map Channel » de l’éditeur de matériaux (nous en avons déjà parlé) ainsi que celui des modificateurs : « UVWmap » et « Unwarp » sont pris en compte au moment de l’exportation.

## 3.5. Les caméras :

L’exportation des caméras depuis Max est une nouveauté du plugin. Toutefois, les paramètres utilisés entre Max et SCOL pour définir les caméras sont différents.

Dans cette partie, nous allons expliquer comment utiliser les caméras de Max pour SCOL, et quels paramètres nous intéressent.

§ La modélisation des caméras

L’orientation initiale du pivot de la source d’une caméra est la suivante : la caméra pointe vers « -Z ». L’orientation du pivot de la cible n’a pas d’importance.

Il est possible d’utiliser les deux types de caméras proposés par Max.

§ Les paramètres des caméras

Les paramètres des caméras dans SCOL sont différents de ceux utilisés par Max. Les zones de réglage de l’utilisateur sont donc :

ð La dimension de l’écran

Ces paramètres sont définis à partir de la fenêtre de réglage paramètres de rendu.

| - La focale : La focale de la caméra est exportée depuis le panneau de configuration de la caméra - Les distances de clipping : Les distances de clipping sont également exportées depuis le panneau de configuration de la caméra. Pour qu’il soit pris en compte au moment de l’exportation, il faut que la case « Clip Manually » soit sélectionnée. Dans le cas contraire, les valeurs par défaut (0 et 1000) sont exportées. - Le brouillard : Seul le brouillard standard est exporté. Il est accessible dans Max dans le menu Rendering->Environment. Dans Max, les réglages du brouillard se trouvent à plusieurs niveau. Dans la zone de réglage de la caméra, par les variables : « Environment Ranges -> Near Range et Far Range » ainsi que dans le fenêtre de réglage des environnements, par les pourcentage « Far et Near ».

Dans notre cas, nous n’utiliserons que les réglages propres à la caméra : Near Range = 0 et Far Range = la valeur exportée. Dans les paramètres du brouillard, near et far % doivent être à 0 et 100%

Aucune couleur n’est gérée pour le brouillard

Notes : Ce sont les paramètres de la frame 0 qui sont exportés si une animation existe. Les modifications ultérieures de ces paramètres ne sont donc pas prises en compte.

## 3.6. Les Lights :

L’exportation des lights est également une nouveauté du plugin. Mais une fois encore, les paramètres utilisés dans SCOL diffèrent de ceux utilisés dans Max.

Seul les lights allumées seront exportées. Il est donc important de vérifier l’état de la case à cocher « On » du panneau des paramètres des lights.

Dans SCOL, il est possible de définir trois couleurs pour les lights : Ambient, Diffuse et Specular. Dans Max, ces trois couleurs n’existent pas.

Pour les paramètres de couleurs des lights nous utiliseront donc :

§ Ambient : Récupération de la couleur Ambient du menu « Rendering / Environment ».

§ Diffuse : Couleur de la light réglable dans le panneau de paramètres à la création ou à la modification de la light.

§ Spécular : Couleur de la light (sous Max il n’existe pas de couleur spéculaire sur les lights, seule une couleur diffuse est paramétrable).

Couleur ambiante des lights

| L’angle d’ouverture du cône des spots est spécifié par le paramètre :Falloff (panneau de configuration des lights). Cet angle n’a de sens que dans le cas de spots. Pour les sources omnidirectionnelles, une valeur par défaut est exportée. Le facteur d’atténuation des lights en SCOL se calcule de la façon suivante : § Facteur d’atténuation = (kc + kq x x²) § Avec x : distance de la light au point éclairé. § Kc : l’atténuation constante ; Kq : l’atténuation quadratique SCOL n’utilise pas la variable kl, correspondant à l’atténuation linéaire. Toutefois, nous avons prévu son éventuelle exportation dans une prochaine version du plugin. Les variables accessibles dans Max sont : § La distance jusqu’à la cible § Le type de l’atténuation : Decay -> Type L’information que l’atténuation est utilisée Si type = None : Kc = Multiplier Kl = kq = 0 Si type = Inverse Kc = Multiplier Kl > luminescence Initiale – 1 / x Kq = 0 Si type = Inverse Square Kc = Multiplier Kl = 0 Kq = luminescence – 1 / x² Comme pour les caméras, les paramètres des lights sont exportés à la frame 0.

## 3.7. Les boites de collision :

Il y a deux types de collisions dans SCOL :

§ Des collisions par boites de déplacement crées dans 3Dsmax.

§ Des collisions par boites englobantes (autour d’un objet) assignées dans le C3D3.

Les boites de déplacement sont des primitives standard de 3Dsmax qui sont nommées et numérotées suivant une nomenclature précise :

§ box_01

§ box_02

§ …

Les majuscules du termes « Box_ » n’ont plus d’importances contrairement à l’ancienne version du plugin d’exportation.

Ces boites représentent les zones dans lesquelles l’avatar peut se déplacer, elles peuvent être éditées et modifiées pour avoir n’importe quelle forme mais doivent conserver 12 faces triangulaires et 6 vertices.

Les faces des boites de déplacement ne sont pas comptabilisées dans le budget de faces de la scène (puisqu’elle ne sont pas affichées).

Exemple pour un escalier :

Les boites de collisions sont assignées dans le C3D3, à l’inverse des boites de déplacement, elles créent des zones d’exclusion dans lesquelles on ne peut pas se déplacer. Ces boites englobent les objets auxquels elles sont assignées.

§ Liaison des boites de déplacements

Pour faire la liaison entre deux boites de déplacement, celles-ci doivent se chevaucher de quelques dizaines de centimètres. En aucun cas une boite ne doit transpercer un objet de part en part, ces boites ne fonctionneraient pas.

Pour qu’il y ait collision entre la caméra (l’avatar) et les boites de déplacement, la caméra possède deux sphères de 1m de diamètre : une à 60cm du sol et une à 150cm du sol, ce sont elles qui viennent heurter les boites de déplacement. Par conséquent, les boites de collision devront mesurer au moins 200cm de hauteur et 100cm de largeur.

§ Exportation des boites de collision

Lors de l’exportation, un fichier « .box » est automatiquement créé si l’utilisateur veut exporter les boites de collision, et si il en existe dans la scène Max. Ce fichiers contient toutes les informations utiles à SCOL pour gérer les collision de déplacements avec les avatars.

Aucunes animations ne peuvent être attachées à une boite de collision. Elles sont donc exportées à leur positions à la frame 0.

## 3.8. Les avatars :

Pour éviter l’apparition de trous entre les différents éléments d’un avatar lors de l’animation, les points communs des éléments à la position 0 sont soudés ensemble. Ainsi, les faces se déforment, mais aucune cassure n’apparaît. Ces soudures ne sont possibles que si les deux éléments ont un lien de hiérarchie directe (père ó fils).

Par exemple, lorsque le bras de l’avatar se plie, une cassure dans le mesh peu apparaître entre le bras et l’avant bras :

Pour résoudre ce problème, les points communs du bras et de l’avant bras à la position 0 sont soudés ensemble pour ne former plus qu’un seul et même point. Lorsque le bras se plie, les faces se déforment, mais aucune cassure n’apparaît :

## 3.9. Techniques de modélisation des étagères pour le e-commerce

Ce document décrit le principe de modélisation, sous 3D Studio Max©, des étagères utilisées dans les magasins virtuels du e-commerce, ainsi que des produits à insérer dans les étagères.

### 3.9.1. Directives de modélisation

Afin de pouvoir agir sur le contenu des étagères et la position des produits à l’intérieur de l’étagère, il est très important de :

§ Confondre le repère du monde de 3DS© (World) avec le pivot de l’objet que l’on créé (Etagères ou Produits). Pour cela déplacer le pivot de l’objet à l’origine du monde (0,0,0) et effectuer l’action Pivot - Align To World (en cas de problème lors du remplissage de l’étagère, il faut vérifier que le pivot de l’objet est bien placé).

§ Nommer le mesh principal de l’objet du même nom que le fichier (ainsi que le material modifiable du produit, cf. nommage Produit).

### 3.9.2. Les étagères

Une étagère c’est :

§ un mesh représentant le meuble,

§ trois dummies pour le rayonnage automatique des produits sur chaque planche de l’étagère.

Le mesh et tous les dummies peuvent être créés au même moment sous 3DS©. Ils seront exportés séparément au format m3d (cf. Exportation de l’étagère et des dummies).

Un fichier sera donc créé pour le mesh de l’étagère et 3 par planche de rangement de l’étagère (une étagère à 3 planches aura 9 fichiers contenant un dummy chacun et un fichier contenant le mesh).

§ Modélisation du mesh de l’étagère:

Commencer par placer le pivot à l’origine du monde et par l’orienter comme le monde (Align to World), puis modéliser l’étagère.

FIGURE (1) Etagère

§ Position et orientation des dummies :

Les dummies servent de repères pour le rayonnage automatique des produits dans l’étagère. Leurs positions permettent donc de décrire l’espace disponible pour le rangement.

Il y en a 3 par planche.

Les points d’ancrage de chaque produit seront alignés le long d’un segment de droite défini par les dummies 1 et 2. Le dummy 0 est un autre point du plan contenant la droite sur laquelle seront posées les produits.

Il est conseillé de placer le segment d’ancrage à l’avant de la planche (cf. Produits).

| (0) : Dummy 0 (1) : Dummy 1 (2) : Dummy 2 (3) : Segment d’ancrage

FIGURE (2) Les dummies

L’orientation des pivots doit être la même que celle de l’étagère, c’est à dire Align To World.

§ Exportation de l’étagère et des dummies:

Afin d’exporter la modélisation d’une étagère avec ces dummies, il faut utiliser le plugin d’export disponible pour 3D Studio Max 3 et 4.

Il faut sauver séparément l’étagère et les dummies. Pour cela il suffit de sélectionner ces éléments les uns après les autres et de faire Fichier – Export Selected – Format m3d (cf. Nommage des étagères et Nommage des dummies)

Les paramètres à sélectionner pour l’exportation sont :

§ Pour l’étagère :

- Exportation dans l’ancienne version

- Type d’objets : Géométries (Face 4 vertices)

- Animation : Non

- Fusion : Non

- Matériaux : Oui

- Préférence : Précision 2, Indentation 1

§ Pour chaque dummy :

- Exportation dans l’ancienne version

- Type d’objets : Dummys

- Animation : Non

- Fusion : Non

- Matériaux : Non

- Préférence : Précision 2, Indentation 1

§ Dénomination des étagères:

Le nom du fichier de l’étagère doit être le même que celui du mesh.

§ Dénomination des dummies:

Le nommage des dummies de l’étagère est très important. Les étagères sont regroupées en type d’étagère ayant le même set de dummies. Le nom de ces dummies est alors :

she<n° du type de l’étagère>_mark_1_<n° de la planche>_<n° du dummy>.m3d

Ce qui donne par exemple she1001_mark_1_2_1.m3d pour le dummy 1 sur la 2ème planche d’une étagère de type 1001.

Ainsi deux étagères dans lesquelles le placement des produits sera le même (mêmes coordonnées des espaces pour placer les produits) pourront utiliser les mêmes dummies.

### 3.9.3. Les produits

Les produits sont les types d’éléments qui vont être placés à l’intérieur des étagères. Ils devront s’inscrire dans une boite (X,Y,Z) dont les côtés seront parallèles aux axes de l’étagère du pivot de l’étagère.

FIGURE (3) Boite dans laquelle le produit doit s’inscrire

Le pivot de chaque produit doit se trouver à l’origine du monde 3DS, c’est à dire à la position 0,0,0.

La modélisation du produit dépendra du placement des dummies qui définit la ligne de point d’ancrage de ces produits. Lors du positionnement du produit sur l’étagère, le point d’ancrage du produit est calculé (grâce aux dummies et à la taille de la boite pouvant entourer le produit). Le pivot du produit est alors placé sur ce point. Ainsi, si le produit est dessiné derrière le pivot, il sera placé derrière le point d’ancrage et donc le produit sera donc aligné derrière le segment défini pour placer les produits. Dans l’autre sens, s’il a été dessiné devant le pivot, il sera aligné devant le segment et s’il a été centré sur son pivot, il sera centré sur le segment.

FIGURE (4) Les produits

Il est fortement conseillé de respecter la même logique pour toutes les étagères. Ex : toujours définir le segment d’ancrage sur l’avant des planches et les produits derrière leur pivot, et ne modifier cette logique que pour des cas exceptionnels et après avoir déjà manipulé quelques produits et étagères.

### 3.9.4. Exportation du produit

Il suffit de sélectionner le produit à exporter et faire Fichier – Export Selected – Format m3d (cf. Nommage)

Les paramètres à sélectionner pour l’exportation sont :

§ Exportation dans l’ancienne version

§ Type d’objets : Géométries (Face 4 vertices) et Dummys si nécessaire.

§ Animation : Non

§ Fusion : Non

§ Matériaux : Oui

§ Préférence : Précision 2, Indentation 1

§ Dénomination :

Le nom du fichier doit être le même que celui du mesh du produit. De plus, une des textures est paramétrable lors de la création du produit pour le site (création en base de donnée) afin de pouvoir personnaliser les produits. Le nom du « material » correspondant à cette texture doit aussi être le même que celui du fichier.

FIGURE (5) Texture paramètrable

### 3.9.5. Résolutions des problèmes de remplissage de l’étagère

Différents problèmes de remplissage des étagères peuvent apparaître dus à quelques erreurs de modélisations ou de paramétrage des étagères ou des produits. Ce chapitre va énumérer ces différents problèmes et proposer des solutions adaptées.

§ Problème : Les produits s’affichent mais sont décalés par rapport aux dummies définis

- Vérifier que les dummies sont bien placés sur les étagères.

- Vérifier que le pivot de l’étagère est bien à l’origine du monde lors de la sauvegarde de l’étagère.

- Vérifier que le pivot du produit est bien à l’origine du monde lors de la sauvegarde du produit.

§ Problème : Les produits s’alignent bien sur la ligne définie par les dummies mais sont placés au mauvais endroit (devant alors que l’on voulait derrière, …)

- Vérifier que le pivot du produit est bien à l’origine du monde lors de la sauvegarde du produit.

- Vérifier que le pivot du produit est bien Align To World (orienté sur le repère du monde).

- Le point d’ancrage du produit est calculé sur la ligne des dummies 1 et 2. Le pivot du produit est alors placé sur ce point d’ancrage. Si le produit est modélisé derrière son pivot, il sera placé derrière la ligne. Si le produit est centré sur son pivot, il sera centré sur la ligne. Il est conseillé de suivre toujours les mêmes consignes de modélisation : toujours derrière le pivot avec les dummies sur l’avant de l’étagère par exemple pour que les produits soient alignés sur l’avant de l’étagère. Pour les cas particuliers (ex : sur une table pour centrer les produits), modéliser des produits ayant la même forme mais placés différemment par rapport à leur pivot (ex : centré en bas du produit).

§ Problème : Les produits ne se posent pas correctement sur la planche de l’étagère

- Les produits se placent toujours suivant leur position lors de leur modélisation. Pour une planche inclinée (style présentoir), il faut modéliser des produits inclinés de l’angle de la planche.

§ Problème : Les produits ne s’affichent pas

- Ils peuvent être modélisés à un endroit où ils ne se voient pas. Désactiver les boites de collisions et vérifier qu’ils ne se trouvent pas à des endroits cachés. Le cas échéant, il faut alors se référer aux points précédents de mauvais placement des produits.

- Vérifier que l’étagère est bien définie avec le bon nom du plugin Fillin (cf. Création des étagères ; cf. module ShelfDBeditor).

- Les produits sont peut-être trop larges pour être placés dans l’étagère : Choisissez une autre taille de produit et ré-essayez de l’insérer dans cette étagère.

- Vérifier qu’il y a bien tous les dummies (3 dummies par planches) de l’étagère dans le répertoire défini lors de l’initialisation du plugin (éditeur du plugin Fillin).

- Vérifier que le plugin Fillin est bien défini avec le bon type de marques (set de dummies).

§ Problème : Seulement les premiers produits n’affichent

- Le plugin Fillin place les produits les uns après les autres, si un produit est trop large pour être inséré les produits suivant n’apparaîtront pas sur l’étagère.

- L’étagère est remplie. Il n’y a plus de place disponible définie par les dummies dans l’étagère. Vous pouvez diminuer l’espace minimal entre les produits dans l’éditeur du plugin Fillin.

§ Problème : Les produits s’affichent n’importe comment par rapport à l’étagère

- Vérifier que le plugin Fillin est bien défini avec le bon type de marques.

- Vérifier que le pivot de l’étagère est bien à l’origine du monde.

- Vérifier que le pivot des produits est bien à l’origine du monde.