C3D3 2.0

Catégorie / Domaine : | 3D
Compatibilité Scol Engine : | V3.1 et supérieure
Mise à jour : | 09/2000

# Fonction

Le module C3D3 est le module central de SCS. Il est indispensable au fonctionnement d’un site Scol/SCS. C’est à partir de son éditeur que sont gérés objets, textures, effets (par le biais des instances) et paramétrages qui seront détaillés dans les pages qui suivent.

Lorsqu’on appelle le module, deux fenêtres apparaissent (voir figure 1) :

- Une interface traditionnelle éditeur du module pour paramétrer la cellule : le C3D3 Editor ; à partir de lui, il est possible d’accéder à 8 rubriques au moyen du menu déroulant :

§ Objects : gestion des objets et textures de la cellule 3D

§ Links : pour créer des liens sur des objets ou textures

§ Positions : pour enregistrer des positions des objets et des avatars

§ Anchors : permet de regrouper des liens ou positions

§ Observator : pour fixer les paramètres généraux de la cellule

§ Instances : pour choisir des effets ou animations sur, ou bien, à partir d’objets ; plusieurs instances sont disponibles :

· 3Dsound

· AV3d

· ChatFilter

· ChatLimiter

· DigiClock

· Distance

· Hide

· QuickTime

· PlayAnim

· RealVideo

· Rotate

· Shift

· SlideT2

· SnapAV

· SnapShot

· SoundDialog

· Target

· Trajectory

§ Plugins : ce sont à l’origine des modules à part entière ou bien des plugins nouveaux qui ont été intégrés au module C3D. Ils apparaissent en tant qu’ Instances.

§ Advanced : paramètres avancés

- une fenêtre de visualisation de la scène 3D dans laquelle il est possible de se déplacer en utilisant la souris et les touches shift ( basculement avant et arrière)et ctrl (monte et descend) du clavier : le 3D Editor. Il permet de visualiser la scène et les objets mais pas les effets. Quand on déplace le curseur, celui-ci se transforme en main quand on passe sur une texture ou un objet sur lequel un lien a été défini.

Figure 1 : Interface principale du module C3D3 : éditeur 3D et éditeur du C3D3

# Configuration de l’éditeur 3D

Un clic droit sur une texture ou un objet de la scène affiche les menus suivants :

Modify | Texture | Lance l’éditeur de textures
| Flat Color | Permet d’affecter une couleur en flat
| Texture Filter | Lance la fenêtre de paramètrage des filtres
| Transparency | Paramètre le degré de transparence de la texture sélectionnée
| Enlightened | Permet de choisir si la texture sélectionnée doit être éclairée ou pas
| Gouraud | Effet appliqué sur un objet représenté en flat : effectue un dégradé entre les trois sommets de chaque triangle composant l’objet
| Environmental Mapping | Permet de créer un effet de reflet sur une texture en flat
| Collision Box | Paramètre la boite de collision
Open Object Editor |  | L’éditeur d’objet se compose de deux fenêtres : Une barre d’outils flottante : L’éditeur 3D (3D Editor) avec quatre fenêtres de visualisation : - Top View : vue des objets par le dessus - Left View : vue latérale gauche

- Back View : vue par l’arrière

- Avatar View : vue à partir de l’avatar

Cet éditeur permet de déplacer les objets, de les faire pivoter et de les agrandir ou les réduire.

###### Déplacement des objets

- Faire un clic droit sur l’objet puis cliquer sur

- Sélectionner un des trois axes (devient jaune) puis cliquer avec le bouton gauche et déplacer l’objet

###### Rotation des objets

- Faire un clic droit sur l’objet puis cliquer sur

- Sélectionner un des trois axes (devient jaune) puis cliquer avec le bouton gauche et déplacer l’objet

###### Redimensionnement des objets

- Faire un clic droit sur l’objet puis cliquer sur

- Sélectionner l’axe vertical (devient jaune) puis cliquer avec le bouton gauche et agrandir l’objet (vers le haut) ou bien le réduire (vers le bas)

Les vues Top View, Left View et Back View offrent deux options supplémentaires :

- Pan : Permet de déplacer toute la scène

- Deep : Permet de changer la profondeur de la vue (effet de zoom)

De plus, les paramètres peuvent être directement entrés manuellement en changeant les valeurs de Positions, Size, Angles et Scale.

Copy Material |  | Copie la texture sélectionnée
Paste Material |  | Colle une texture sur la texture sélectionnée
Take Object |  | Prend l’objet sélectionné
Link Object |  | Lie l’objet sélectionné
Add Object |  | Ajoute un nouverl objet dans la scène 3D
Add Object Position |  | Ajoute une nouvelle position de l’objet (AddObjPos)

#

# Configuration de l’éditeur du C3D3

Il faut obligatoirement commencer par insérer une scène 3D avant toute chose.

Il suffit de cliquer le bouton Apply pour sauvegarder et appliquer directement les changements effectués de façon dynamique.

##

## Etude de chaque rubrique en détail

## Objects

1- Add | Ajoute un objet M3D
2- Del | Supprime l’objet sélectionné
3- Rename | Change le nom de l’objet
4- Light | Permet la création d’un objet « AMBIENT_x » destiné aux effets de lumières dans le cellule. Diriger la flèche à l’aide du bouton « Move » (voir ci-dessous) pour définir l’orientation de la source lumineuse. Pour régler l’intensité lumineuse,utiliser le bouton « Rename » et changer l’échelle lumineuse allant de 0 à 31 (par défaut, l’échelle lumineuse de l’objet AMBIENT est fixée à 8, soit « AMBIENT_8 »). On peut aussi définir un objet PARA, OMNI ou bien SPOT en renommant l’objet et en lui donnant une valeur de 0 à 31.
5- Collision Box | Pour créer une boîte de collision par exclusion de l’objet sélectionné : à chaque insertion d’un nouvel objet dans une cellule 3D, il faut également insérer sa boîte de collision. (Box) apparaît alors à droite du nom de l’objet dans la rubrique Objets. Sans boite de collision, les avatars pourront se mouvoir en passant à travers l’objet.
6- Scale | Permet de modifier la taille de l’objet sélectionné ; faire attention néanmoins à ne pas trop agrandir les objets de façon à ne pas entraver la circulation des avatars. Par défaut la taille est fixée à 100% ; entrer une valeur et valider par OK.

7- Dummy | Objet non texturé invisible avec action sur lumière et orientation de celle-ci.
8- Texture | Permet de modifier la texture affectée à l’objet sélectionné, par le biais de la fenêtre « Edit Texture »

###### 9- Edit Texture

- « Sizes » : permet de ne pas appliquer de filtre

- « OK » : Confirme la sélection de la texture
- « Cancel » : Annule la sélection de la nouvelle texture
- « Change » : Permet le changement de texture ; une fenêtre permettant de prévisualiser les textures s’ouvre alors.
- « à JPEG » : Permet de changer un fichier .BMP en fichier .JPG

10- Flat | Permet d’affecter une couleur et non une texture à l’objet.
11- Filt | Offre la possibilité de paramétrer des filtres sur la couleur, la rotation, la saturation et la couleur d’attraction.
12- Transparency | Active ou désactive la propriété de transparence de la texture sélectionnée.
13- Light | Active ou désactive l’effet de lumière principal sur la texture sélectionnée.
14- Gouraud | Applique un rendu « Gouraud » à la texture sélectionnée
15- Env (environmental mapping) | Applique un mapping d’environnement à la texture sélectionnée.
16- Start 3D Modeler | Lance le modeleur d’intérieur (voir fin de cette fiche)
17- Disable Collision | Désactive la boite de collision

##

##

##

## Links

##

### 1- Add

Sélectionner un objet avec ou sans sa texture. Cette fonction permet de créer un lien sur l’objet ou la texture,dans le module C3D3 ; lorsque ce lien sera cliqué, il déclenchera une action, par exemple.

Les modules et/ou instances tels que Target, trajectory, SlideT2, Shift, Rotate, Distance…utilisent ce lien pour fonctionner.

2- Remove | Supprime le lien sélectionné
3- Rename | Permet de changer le nom du lien
4- Visibility | Active ou désactive la visibilité du lien : si le lien est visible, le pointeur de la souris se change en main quand il passe sur le lien. S’il est inactif, le curseur ne change pas d’apparence. Cette fonction permet, par exemple, de cacher un passage secret, ou bien de forcer les avatars à chercher un lien.

##

## Positions

1- AddCamPos | Permet d’enregistrer les coordonnées spatiales (x,y,z) de la position choisie dans la fenêtre 3D Editor. Cette position pourra, par exemple, définir le point d’entrée dans une pièce, dos à la porte. Se déplacer dans la scène 3D et définir une position, puis appuyer sur « AddCamPos » et entrer un nom explicite comme pos_int-start, par exemple, ce qui correspondrait en l’occurrence à la position de départ de la cellule intérieur.
2- UpdateCamPos | Permet de mettre à jour les coordonnées de la position sélectionnée : déplacer l’objet et appuyer sur « UpdateCamPos » pour réactualiser ses coordonnées ;cela évite donc d’ajouter une nouvelle position, par exemple.
3- SetCamPos | Permet de visualiser la position d’un objet : sélectionner la position dans la liste, puis appuyer sur « SetCamPos » et la caméra se déplacera sur la position sélectionnée.
4- AddObjPos | Permet d’enregistrer la position de l’objet sélectionné : déplacer l’objet puis appuyer sur « AddObjPos » et lui donner un nom, chaise_1(si l’objet en question est une chaise, par exemple), et valider par OK.

### 5- UpdateObjPos

Déplacer l’objet et cliquer sur ce bouton pour enregistrer les nouvelles coordonnées.

6- SetObjPos | Selectionner un objet et une position existante, puis cliquer sur « SetObjPos » pour visualiser l’emplacement de l’objet dans la scène 3D.
7- Remove | Supprime la position sélectionnée
8- Rename | Permet de changer le nom de la position

##

## Anchors

1- Add | Permet de créer une ancre dans la cellule C3D. une fenêtre « Define new anchor » apparaît alors : Une ancre est composée d’un ou plusieurs liens et/ou de une ou plusieurs positions définies dans la cellule : double-cliquer sur un des éléments de Links, puis double-cliquer chacune des positions qui doivent être associées à ce lien.

Dans Anchors, nous voyons donc >>start, le lien et les positions. Par exemple ici, nous avons le lien buffet et 3 positions de l’objet buffet.

Valider par OK. Maintenant cette ancre pourra être utilisée conjointement avec une Instance Rotate ou Trajectory du module C3D3.

Pour éditer une ancre déjà définie, il suffit de la double-cliquer.

2- Remove | Permet de supprimer une ancre.
3- Rename | Permet de renommer une ancre.

## Observator

##

1- Back Clipping | Distance (exprimée en cm) à partir de laquelle les objets disparaissent. Par défaut, sa valeur est de 1000 mètres.
2- Focal | Définit l’angle de vue de la caméra de l’utilisateur. L’angle minimum est de 6, l’angle maximum est de 85. l’angle par défaut est de 29.7
3- Gravity | Gravité affectée à la cellule dont le minimum est 0 ; le maximum n’est pas défini.
4- Buffer size | Taille de la mémoire tampon ; sa valeur par défaut est de 512.
5- Background | Permet de définir la couleur utilisée comme fond par défaut quand il n’y a pas de texture apparente ; la couleur utilisée apparaît dans un petit cadre à droite
6- Collision (.box) | Appelle la boîte de collision de la scène 3D sélectionnée, par inclusion de la cellule
7- Fog Starting (cm) | Distance à partir de laquelle le brouillard se matérialise. La valeur par défaut est 80 000.
8- Kbd Speed (cm/s) | Permet de paramétrer la vitesse de déplacement des avatars dans la cellule. La valeur par défaut est 1000.

## Instances

1- Add | Permet de créer une nouvelle instance : ouvre la fenêtre Define New Instance
2- Remove | Permet de supprimer l’instance sélectionnée
| Pour éditer et modifier une instance déjà établie, il faut la double-cliquer

###

###

### Fenêtre Define New Instance :

Cette fenêtre se compose de 3 zones : Name, Class et Anchor.

Name : Permet de renommer l’instance.

Class : Liste déroulante pour choisir l’instance.

Anchor : Liste déroulante des ancres disponibles créées par vous.

La partie inférieure de la fenêtre varie selon l’instance choisie.

Pour avoir la description complète de chaque instance, reportez-vous à leurs fiches respectives.

## Plugins

#### 1- Add

Permet d’ajouter un nouveau plugin : ouvre la fenêtre AddNewPlugin.

Sélectionner le plugin désiré dans la liste et valider par OK.

2- Remove | Permet de supprimer un plugin existant
3- Param | Permet d’entrer des paramètres spécifiques pour un plugin donné

##

##

##

## Advanced

1- Avatar Ressource |
2- Default Avatar | Permet de définir la classe d’avatar : -av3d -snapshot -default
3- Force Default | Force l’apparence de l’avatar définie par défaut.
4- Rights ressource | Le module C3d3 détermine les droits de l’avatar de la manière suivante : - on définit sous l’éditeur C3d3 (menu advanced) la variable de ressources gérant les droits. - Lorsque l’avatar est créé, on lit cette variable de ressource, qui doit avoir le format suivant :

- Format strbuild : ((itoa commut) : :rights : :nil) : :nil

Où le paramètre rights est un chemin de type : a.b.c (le point est le séparateur). La chaîne vide correspond au sommet de l’arbre. (a.b.c est le fils de a.b).

Pour les tests, il y a un cas particulier : si on définit dans l’éditeur C3d3 la variable de ressources gérant les droits comme ‘altern’, les avatars seront successivement placés dans le chemin “ 0 ” et le chemin “ 1 ”.

5- Table Size | Permet de paramétrer le nombre maximal d’avatars (64 par défaut)
6- C3d Ressources | Sert à entrer des paramètres supplémentaires comme la gestion des vues des avatars 3D par exemple ou bien des ressources programmées
7- Compute Download size | Permet de calculer la taille (en octets) de la scène à télécharger pour les clients. Celle-ci ne tient pas compte des plugins éventuels utilisés dans la scène.
8- LightBase | Détermine la valeur de la lumière ambiante. Par défaut, la valeur est 31. La valeur minimum est 0 et le maximum est 63. Ce paramètrage n’est visible qu’une fois le site lancé.

#

#

# Mise en œuvre

# Actions

Module.event à C3D3. !chgCursor | Prend en compte les changements de curseur
Module.event à C3D3. !addPlugin | Ajout d’un plugin sur le client
Module.event à C3D3. !addPluginS | Ajout d’un plugin sur le serveur
Module.event à C3D3. !C3D positionSize | Redimensionne la fenêtre 3D cliente
Module.event à C3D3. !centerOnPlayer | Centre sur une personne donnée
Module.event à C3D3. !ChgAV | Prend en compte le changement d’avatar
Module.event à C3D3. !ChgLogin | Prend en compte le changement de pseudonyme
Module.event à C3D3. !control | N/A
Module.event à C3D3. !speak | Force le C3D3 à afficher une commande
Module.event à C3D3.broad | Permet à un module Bot d’envoyer un message à tous les utilisateurs présents dans un module C3D3 donné (exemple)
Module.event à C3D3.out | Entraîne la sortie de l’utilisateur de la cellule

# Evénements

C3D3.entering à module.action | Le démarrage du client engendre une action
C3D3.hear à module.action | Le C3D3 se met en position d’écoute et engendre une action à chaque message reçu
C3D3.getFocus à module.action | Idem (à utiliser avec Term ou colorterm)
C3D3.in à module.action | L’entrée dans la cellule engendre une action
C3D3.out à module.action | Sortir de la cellule engendre une action
C3D3.log à module.action | Joint au module Log, permet d’enregistrer les événements relatifs au module C3D3
C3D3.spy à module.action | Joint à un module Bot, filtre les dialogues des utilisateurs
C3D3.select0 à module.action | N/A
C3D3.select1 à module.action | Un clic gauche sur un avatar engendre une action
C3D3.select2 à module.action | Un clic droit sur un avatar engendre une action
C3D3.select3 à module.action | N/A
C3D3.avatarList à module.action | La sélection d’un avatar dans la vue 3D génère une action
C3D3.contextHelp à module.action | La sélection (souris au-dessus d’un lien) d’un objet génère une action
C3D3.setPositions à module.action | La modification de la position d’un avatar génère une action

##### Zone

Fonction

Interface

Affectation

C3D3.view | Affiche la scène 3D | Client | Non
C3D3.info | Affiche le nom des liens | Client | Non
C3D3.list | Affiche le nombre et le nom des personnes connectées | Client | Non

# MODELEUR D’INTERIEUR

Il permet de créer une pièce (fichier .m3d) dont la forme peut être facilement modifiable.

Le modeleur d’intérieur se compose d’une fenêtre de visualisation/création de la pièce et d’une barre d’outils flottante.

Procédure :

1- cliquer sur pour créer une nouvelle pièce ; une fenêtre s’ouvre :

Renseigner le nom de la pièce, sa hauteur (en cm) , le nombre de case verticalement et horizontalement, puis sélectionner le fichier .m3d, appuyer sur OK pour valider. A noter qu’à tout moment, il est possible d’éditer cette fenêtre de propriétés en cliquant sur .

Il est aussi possible d’enregistrer la pièce (format .srf) de façon à l’ouvrir ultérieurement pour la modifier.

2- A l’aide du curseur carré rouge évidé, dessiner la pièce : clic gauche pour créer un espace (carré blanc), clic droit pour créer un mur (carré noir). A noter que le mur ou bien l’espace ira du sol au plafond.

3- Appliquer une texture au sol ou bien créer un « trou » dans le sol (bouton ), aux murs ou bien ajouter/supprimer des murs (bouton ) et au plafond ou bien créer un « trou » dans le plafond (bouton ) ; cliquer sur pour retourner au mode Creusement.

4-Quitter le modeleur en cliquant sur la croix en haut à droite de la barre d’outils flottante.

5-Appelez le fichier m3d ainsi modifié à partir de la rubrique Objects du C3D3.