Genedit World
Editor
Pour ouvrir World Editor, cliquez
sur le menu Démarrer dans la barre des tâches Windows,
sélectionnez Programmes/Genesis3d11 puis cliquez sur World
Editor. La Figure 1 montre le logiciel World Editor lorsque
vous louvrez.

Figure 1 - Vue générale
de World Editor
Le haut de la fenêtre contient
la barre de menus et les barres de boutons. Le centre présente
lespace de travail où vous pouvez voir quatre différentes
vues représentant une vue 3D du monde, une vue du dessus
(Top), une vue de face (Front) et une vue de coté (Side).
La partie de droite contient les panneaux de contrôle des
formes de base et des entités (Template), des textures, des
groupes, de la console, des modèles et du ciel (Sky). La
partie inférieure de la fenêtre présente la
barre de statuts.
Le menu File
Le menu File contient les options
nécessaires pour créer un nouveau fichier (New), ouvrir
un fichier existant (Open), fermer, sauvegarder sous le nom courant
ou sous un autre nom le fichier déjà ouvert (Close,
Save, Save As). Le format des fichiers de World Editor est FICHIER.3DT.
Loption importer (Import) vous permet dintégrer
au fichier couramment ouvert, un autre fichier .3DT. Vous pouvez
quitter World Editor en cliquant sur loption Exit.
Le menu Edit
Les options du menu Edit vous permettent
deffacer (Delete) un objet précédemment sélectionné
dans une des vues du plan de travail et de sélectionner ou
de retirer la sélection de tous les objets de votre niveau
(Select All, Deselect All).
Si vous cliquez Select All en ayant un fichier
conséquent ouvert, lopération peut être
assez lourde et prendre un certain temps.
Le menu View
Dans le menu View, vous pouvez afficher
ou cacher les barres doutil (Tool Bar), de mode (Mode Bar),
de groupe (Group Bar) et de statut (Status Bar) ainsi que les panneaux
de contrôle (Command Panel).
Lorsque la vue 3D de lespace de travail est
sélectionnée, vous avez la possibilité dafficher
le monde en mode contour 3D (3D Wireframe) ou en mode texture (Textured
View). Le mode contour 3D naffichera que les contours des
objets dans la vue 3D de lespace de travail, et permet ainsi
un affichage rapide du monde 3D. Le mode texture montrera les objets
avec leurs textures ce qui rend laffichage dans la vue 3D
plus lent, spécialement avec des mondes 3D importants.
Les options Top View, Side View et Front View vous
permettent de changer la vue couramment sélectionnée
(à lexception de la vue 3D) en une vue du dessus, de
coté ou de face.
Les options Zoom In et Zoom Out vous permettent
de faire un zoom avant et arrière dans la vue du dessus,
de coté ou de face couramment sélectionnée.
Loption Show vous permet de cacher certaines
catégories ou groupes de pièce de géométrie.
Current Group correspond au groupe couramment sélectionné
dans le panneau de contrôle de groupes, Visible Brush Group
montrera tous les groupes marqués Visible dans le panneau
de contrôle de groupes et All Brushes montrera toutes les
pièces de géométrie dans votre monde 3D. Vous
pouvez aussi cacher les catégories de pièce de géométrie
Clip, Hint ou Detail (voir loption du menu Tools|Brush|Attributes).
Le menu Mode
Le mode Camera vous permet de vous
déplacer ou de faire des zooms dans les différentes
vues. Dans la vue 3D, pressez et maintenez le bouton droit de la
souris et déplacez-la afin de pouvoir voir dans toutes les
directions. Pressez et maintenez le bouton gauche de la souris et
bougez-la pour vous déplacer en avant, en arrière,
à droite et à gauche dans la vue 3D. Dans les autres
vues, si vous pressez et maintenez le bouton gauche de la souris
et que vous la déplacez, vous pouvez faire glisser le plan
2D dans toutes les directions sur les 2 axes. Si vous pressez et
maintenez le bouton droit de la souris et que vous la déplacez
vers le haut ou vers le bas, vous pouvez respectivement faire un
zoom avant ou arrière dans cette vue.
En mode Selection, cliquez sur un objet dans la
vue 3D ou sur une ligne de contour dun objet dans une des
vues 2D afin de le sélectionner. Notez que pour sélectionner
un objet dans une vue 2D, il ne faut quaucun des modes Move/Rotate,
Scale ou Shear ne soit sélectionné. Si dans une des
vues 2D, vous cliquez sur un espace vide, lobjet le plus proche
du curseur de la souris sera sélectionné.
Le mode Template vous permet de positionner et
de dimensionner une forme de base ou une entité et dactiver
le panneau de contrôle Template (voir Le panneau de contrôle
Template). Notez que lobjet Template (forme de base ou entité)
est affiché en bleu dans les vues et quil correspond
à la dernière forme de base ou entité que vous
aurai placée.
Quand le mode Template ou une pièce de géométrie
est sélectionné, vous avez 3 modes possibles pour
en modifier laspect. Sélectionnez le mode Move/Rotate
pour déplacer ou faire pivoter une pièce de géométrie
dans une des vues 2D. Pressez et maintenez le bouton gauche de la
souris et déplacer la pièce de géométrie
en bougeant la souris. Pressez et maintenez le bouton droit de la
souris et déplacez-la à droite ou à gauche
pour faire pivoter la pièce de géométrie sur
son axe central.
En mode Scale, positionnez le curseur de la souris
dans une des vues 2D afin que celui-ci représente la flèche
direction dans laquelle vous souhaitez dimensionner la forme de
base (Template) ou la pièce de géométrie. Pressez
et maintenez le bouton gauche de la souris, puis déplacez-la
afin dagrandir ou de rétrécir lobjet.
Le mode Shear sert à étirer la forme
de base ou la pièce de géométrie sélectionnée
sur laxe vertical ou sur laxe horizontal de la vue 2D
courante. Lorsque le curseur de la souris montre une flèche
horizontale à double sens, pressez et maintenez le bouton
gauche de la souris et déplacez-la horizontalement pour étirer
la forme de base ou la pièce de géométrie vers
la droite ou vers la gauche. Faites de même lorsque le curseur
de la souris montre une flèche verticale à double
sens et déplacez la souris verticalement pour étirer
la forme de base ou la pièce de géométrie vers
le haut ou vers le bas.
Face Adjustment est le mode qui sert à manipuler
les différents paramètres de chaque face de la pièce
de géométrie sélectionnée, indépendamment
(voir le menu Tools|Face|Attributes).
Brush Adjustment est le mode qui sert à
manipuler les différents paramètres de la pièce
de géométrie sélectionnée (voir le menu
Tools|Brush|Attributes). Cest le mode sélectionné
par défaut.
Le mode courant entre Face Adjustment et Brush
Adjustment est affiché dans la barre de statut au bas de
la fenêtre.
Le menu Options
Dans le menu Options, si Snap to
Grid est coché, toutes les manipulations de pièce
de géométrie, comme le positionnement, lagrandissement
ou la réduction, se feront suivant un espace en texel (unité
de mesure de World Editor) défini dans la boite de dialogue
Grid Settings. On lappelle aussi Grille magnétique.
Si cette option est décochée, tous les déplacements
ou ajustements se feront librement. Snap to Grid est pratique pour
aligner correctement des pièces de géométrie.
Loption Grid Settings (ou Configuration de
la grille magnétique) ouvre la boite de dialogue suivante :

Figure 2 - World Editor : Configuration
de la grille magnétique
La partie Grid Snap sert à
configurer lespace en texels de la grille magnétique.
Si le Grid Snap est de 8 texels, les objets se déplaceront
de 8 texels sur la grille. La partie Rotation sert à définir
une rotation en degrés sur la grille magnétique. La
case à cocher Snap/Rotate To Grid doit être cochée
afin dactiver la grille magnétique.
Auto Rebuild BSP permet de reconstruire dans la
vue 3D votre niveau automatiquement après chaque changement.
Il est conseillé de décocher cette option lorsque
vous travaillez sur un niveau de taille importante afin déviter
un temps de calcul important. Vous pouvez toujours alors recalculer
votre niveau manuellement avec loption Build Quick BSP du
menu Tools (voir loption du menu Tools|Build Quick BSP).
Loption Preferences vous permet de redéfinir
les couleurs pour le Grid Background (couleur de fond), le Grid
Color (couleur de la grille) et le Snap Grid Color (couleur de la
grille magnétique). Ceci permet dans certains cas une meilleure
lisibilité du niveau sur lequel vous travaillez.
Dans la boite de dialogue Level Options, vous pouvez
définir le chemin daccès et le nom de la librairie
de texture (fichier dextension .TXL). La librairie de texture
par défaut est ..\Genesis3d11\Levels\Gedit.txl.
Comme décris dans le chapitre 2.2.2 Texture Packer,
vous pouvez créer votre propre librairie de texture ou en
modifier une existante. Il nest pas conseillé de modifier
la liste de chemins daccès dans le champ Headers Directory
à moins que vous ayez créé votre propre jeu
dentités pour World Editor.
Le menu Tools
Lorsque le mode Template est sélectionné
(option Template du menu Mode), loption New Brush du menu
Tools vous propose de créer 6 formes de base.
La forme de base Arch.
Arch ouvre la boite de dialogue
suivante :

Figure 3 - World Editor : Créer
une forme de base de type Arch
Start Angle correspond à
langle de départ de votre arche. En regardant la vue
2D de face, langle 0 correspond à une position de 3
heures sur un cadran dhorloge. Langle de larche
croît dans le sens inverse des aiguilles dune montre
(langle 90 correspond à 12 heures, langle 120
à 11 heures, langle 180 à 9 heures,
etc.).
End Angle représente langle terminant votre arche.
Ainsi, une arche avec un angle de départ de 0 et un angle
darrivée de 180 forme un parfait demi-cercle. Thickness
représente lépaisseur de larche et Width
sa largeur. Inner Radius se rapporte au rayon intérieur de
larche exprimé en texels et sa valeur peut être
comprise entre 1 et 10000 texels. Dans le cadre ou vous créez
une arche de Style Hollow (creuse), Hollow Wall Size représente
lépaisseur des cloisons, toujours exprimé en
texels. Enfin, Num. Cross Sections défini le nombre de sections
avec lesquelles larche est construite. Cette valeur doit être
comprise entre 3 et 64 mais il est fortement conseillé de
ne pas dépasser 32 afin déviter des problèmes
de compilation ou de performances lors de lexécution
de votre application. En effet, Genesis3D nintègre
pas à la base des surfaces courbes, bien quil soit
possible de les ajouter au moteur, comme il a déjà
été fait dans certains projets. Comme toute pièce
de géométrie, vous pouvez sélectionner différents
styles. Le Style Solid correspond à une pièce de géométrie
solide, le style Hollow à une pièce de géométrie
creuse, Ring à une pièce de géométrie
tubulaire et Cut Brush à une pièce de géométrie
soustractive (pour plus de détails sur les styles de pièce
de géométrie, voir loption du menu Tools|Brush|Attributes).
La forme de base Cone.

Figure 4 - World Editor : Créer
une forme de base de type Cone
Dans la boite de dialogue Create
Cone (figure 12), le paramètre Width représente la
largeur de la base du cône exprimée en texels et Height
sa hauteur. Num. Vertical Strips correspond au nombre de cotés
du cône et ne doit pas excéder 40. Comme pour le nombre
de sections dune arche, il est cependant fortement conseillé
de ne pas entrer une valeur supérieure à 32. Wall
Size défini lépaisseur des cloisons dun
cône dans le cas où celui-ci serait de Style Hollow
ou Funnel. Pour plus de détails sur les Styles Solid, Hollow
et Cut Brush, voir loption du menu Tools|Brush|Attributes.
Le Style Funnel crée un cône creux dont Wall Size défini
lépaisseur de ses cloisons.
La forme de base Cube.

Figure 5 - World Editor : Créer
une forme de base de type Cube
Create Box vous permet de créer
une forme de base de type Cube. En modifiant la longueur des axes
X Size et Z Size des groupes Top (face de dessus) et Bottom (face
de dessous), vous pouvez déformer le cube. Les valeurs entrées
sont exprimées en texels. Dans le groupe de paramètres
Static, Y Size représente la hauteur en texels du cube. Comme
dans tous les autres types de pièces de géométrie,
Wall Thickness défini lépaisseur des cloisons
du cube dans le cas où celui-ci serait de type Hollow (creux).
Pour plus de détails sur les Styles Solid, Hollow, Cut Brush
et Sheet, voir loption du menu Tools|Brush|Attributes.
La forme de base Cylinder.

Figure 6 - World Editor : Créer
une forme de base de type Cylinder
La forme de base Cylinder vous permet
de créer un cylindre. Vous pouvez définir les dimensions
supérieures et inférieures du cylindre avec les paramètres
X Size et Z Size des groupes Top of Cylinder et Bottom of Cylinder.
Les paramètres X Offset et Z Offset vous autorisent à
étirer horizontalement le haut (Top of Cylinder) ou le bas
(Bottom of Cylinder) du cylindre. Ces paramètres sont exprimés
en texels. Dans le groupe Misc (divers), vous pouvez modifier la
hauteur du cylindre avec Y Size, le nombre de sections verticales
avec Stripes et lépaisseur en texels des cloisons du
cylindre avec Wall Thickness dans le cas où celui-ci serait
de type Hollow ou Ring. Pour les mêmes raisons quavec
une forme de base de type Arch ou Cone, il est fortement conseillé
de ne pas dépasser une valeur de 32 pour le nombre de Stripes.
Ring représente un cylindre creux, ouvert à chaque
extrémité. Pour plus de détails sur les Styles
Solid, Hollow et Cut Brush, voir loption du menu Tools|Brush|Attributes.
La forme de base Spheroid.

Figure 7 - World Editor : Créer
une forme de base de type Spheroid
Loption Radius correspond
à la taille du rayon de la sphère en texels. Vertical
Stripes et Horizontal Stripes définissent respectivement
le nombre de sections verticales et horizontales de la sphère.
Pour les mêmes raisons quavec une forme de base de type
Arch, Cone ou Cylinder, il est fortement conseillé de ne
pas dépasser une valeur de 32 pour le nombre de Stripes.
Wall Thickness représente toujours lépaisseur
des cloisons de la sphère dans le cas où celle-ci
serait de type Hollow. Pour plus de détails sur les Styles
Solid, Hollow et Cut Brush, voir loption du menu Tools|Brush|Attributes.
La forme de base Staircase.

Figure 8 - World Editor : Créer
une forme de base de type Staircase
La forme de base Staicase créé
un objet en forme de marches descalier. Vous pouvez définir
sa hauteur (Height), sa largeur (Width) et sa longueur (Length)
en texels. Le paramètre Number of Stairs vous permet de définir
le nombre de marches que contiendra votre escalier. Ce nombre ne
peut excéder 64. Loption Cut Brush vous permet de définir
la forme de base Staircase comme une pièce de géométrie
soustractive (voir loption Cut Brush du menu Tools|Brush|Attributes).
Si vous cochez loption Make Ramp, la forme de base créera
une rampe au lieu de marches descalier.
Loption Face/Attributes
du menu Tools.
Lorsquune pièce de
géométrie est sélectionnée et que le
mode Face Adjustment du menu Mode est actif, vous pouvez alors modifier
les différents paramètres de chaque face de la pièce
de géométrie sélectionnée.
Sélectionnez le mode Selection du menu Mode.
Dans une des vues du plan de travail, sélectionnez une pièce
de géométrie. Basculez en mode Face Adjustment dans
le menu Mode (ou utilisez la touche de raccourci Page Down). Les
contours de votre pièce de géométrie doivent
apparaître en mauve. A noter que toutes les faces de votre
pièce de géométrie sont sélectionnées
à ce moment. Si vous souhaitez modifier uniformément
toutes les faces de cette pièce de géométrie,
cliquez sur loption Face|Attributes du menu Tools. Si vous
souhaitez modifier certaines de ces faces ou les modifier indépendamment,
vous pouvez sélectionner la face à modifier dans la
vue 3D en cliquant dessus ou utiliser les touches du clavier flèche
à droite ou flèche à gauche afin de passer
dune face à une autre. A savoir que si dans la vue
3D vous maintenez la touche de clavier Control (Ctrl), vous avez
la possibilité de sélectionner plusieurs faces dans
cette vue. Enfin, cliquez sur loption Face|Attributes du menu
Tools afin de faire apparaître la boite de dialogue suivante :

Figure 9 - World Editor : Modifier
les attributs des faces des pièces de géométrie
Vous nêtes pas obligé
de fermer la boite de dialogue Face Attributes chaque fois que vous
voulez sélectionner une autre face. La boite de dialogue
toujours ouverte, il vous suffit de cliquer sur le plan de travail
et de sélectionner une autre face, soit en cliquant dessus
dans la vue 3D, soit en utilisant les touches de clavier flèche
à droite ou flèche à gauche. Il vous suffit
alors de revenir sur la boite de dialogue Face Attributes pour modifier
la nouvelle face sélectionnée.
Loption Mirror sert à définir
une face comme miroir. Afin dobtenir une réflexivité,
il vous faut aussi cocher la case Transparent et entrer une faible
valeur dans le champ de saisie Transparency Value (255 est opaque
et 0 est totalement clair). Une bonne valeur pour un miroir serait
de 80.
La case à cocher Sky est utilisée
pour y afficher lanimation définie dans le panneau
de contrôle Sky (voir le Panneau de contrôle Sky). Si
cette option est cochée, lanimation du panneau de contrôle
Sky remplacera, lors de lexécution, la texture que
vous voyez dans la vue 3D.
Texture Lock verrouille la texture sur les faces
sélectionnées, ce qui veut dire que même si
vous déplacez la pièce de géométrie,
la position de la texture (Texture Offset) sur ces faces restera
la même. Ainsi, la texture ne "glissera" pas sur
la face.
Loption Full Bright sert à afficher
la texture sur la face que vous modifiez avec sa luminosité
et son contraste original, indépendamment de la luminosité
ambiante. Ainsi, la face de cette pièce de géométrie
ainsi définie dans un environnement sans lumière paraîtra
le seul objet que vous pouvez voir dans une obscurité totale.
Loption Gouraud est extrêmement utile
lorsque vous créez une scène large et/ou complexe.
Elle agit sur la méthode utilisée par le moteur pour
projeter la lumière sur la face. Fondamentalement, le moteur
prends les valeurs de lumière aux angles de la face et les
appliques uniformément sur sa surface. Cela évite
un calcul complexe de la lumière à projeter et une
certaine lourdeur lors de lexécution de votre application.
Si le taux de trames par seconde est très faible lors de
lexécution de votre application, essayez de définir
les faces de surface importante, comme les sols et plafonds, de
type Gouraud, quitte à perdre en qualité.
Loption Flat produit le même effet
que Gouraud.
En cochant la case à cocher Light et en
entrant la valeur de son intensité dans le champ de saisie
Intensity, la face émettra de la lumière autour delle.
Pour ce faire, il vous faudra compiler votre niveau avec loption
Radiosity cochée (voir loption Compile du menu Tools).
Texture Offset correspond à la position
de la texture sur la face en X et Y, et est exprimée en texels.
Vous pouvez entrer directement leur valeur dans le champ de saisie
ou cliquer sur les boutons de flèche à droite des
champs de saisie. Les boutons courts feront augmenter ou décroître
la valeur de 1. Les boutons longs la feront augmenter ou décroître
de la valeur spécifiée dans la liste à droite
des boutons.
Draw Scale agrandit ou rétrécit la
taille de la texture sur la face en X et en Y. Cette option fonctionne
de la même manière que loption Texture Offset.
Light Map Scale représente le traçage
de la lumière sur la face. Des valeurs importantes rendront
votre application plus performante au détriment du contraste
et des ombres. Si votre application tourne lentement, il est conseillé
daugmenter ces valeurs. Cette option fonctionne de la même
manière que loption Texture Offset.
Loption Angle vous permet de faire pivoter,
sur son axe central, la texture sur la face. Langle de rotation
est exprimé degrés (0 à 359). Cette option
fonctionne de la même manière que loption Texture
Offset.
Cochez la case Transparent lorsque vous choisissez
de définir la face de la pièce de géométrie
sélectionnée comme Mirror (miroir) ou si vous souhaitez
créer une face transparente comme une fenêtre ou une
vitre. Il vous faudra aussi entrer une valeur correspondant à
son opacité dans le champ de saisie Tranparency Value. Cette
valeur doit être comprise entre 0 et 255, à savoir
quune valeur de 255 donnes une vitre totalement opaque et
quune valeur de 0 la rend complètement transparente.
Comme donné en exemple plus haut dans le paragraphe où
nous traitons de loption Mirror, entrez une valeur de 80 afin
davoir un assez bon effet de miroir.
Les boutons Flip Vert et Flip Horiz inversent respectivement
la texture appliquée sur la face verticalement et horizontalement.
Le bouton Defaults restaure les paramètres
de la face par défaut.
Loption Brush/Rotate
90 du menu Tools.
Cette option vous permet de faire
pivoter à 90 degrés dans le sens des aiguilles dune
montre la pièce de géométrie que vous aurez
sélectionné dans une des vues 2D.
Loption Brush/Attributes
du menu Tools.
Lorsquune pièce de
géométrie est sélectionnée et que le
mode Brush Adjustment du menu Mode est actif, vous pouvez alors
modifier les différents paramètres de la pièce
de géométrie sélectionnée.
Sélectionnez le mode Selection du menu Mode.
Dans une des vues du plan de travail, sélectionnez une pièce
de géométrie en cliquant dessus. Basculez en mode
Brush Adjustment dans le menu Mode (ou utilisez la touche de raccourci
Page Down). Le mode Brush Adjustment est le mode par défaut.
Vérifiez la barre de statuts afin dêtre certain
de savoir dans quel mode vous vous trouvez entre Brush Mode et Face
Mode. Les contours de la pièce de géométrie
sélectionnée doivent apparaître en bleu clair.
Vous pouvez sélectionner dautres pièces de géométrie
sans pour autant fermer la boite de dialogue Brush Attributes en
cliquant dessus dans une des vues ou en utilisant les touches du
clavier flèche à droite ou flèche à
gauche afin de passer dune pièce de géométrie
à une autre. A savoir que si vous maintenez la touche de
clavier Control (Ctrl), vous avez la possibilité de sélectionner
ou de retirer la sélection de plusieurs pièces de
géométrie dans les vues du plan de travail. Enfin,
cliquez sur loption Brush|Attributes du menu Tools afin de
faire apparaître la boite de dialogue suivante :

Figure 10 - World Editor : Modifier
les attributs des pièces de géométrie
Le Type de Brush Solid est une pièce
de géométrie utilisée pour construire des murs,
sols, plafonds, portes, objets solides, etc. et bloque le passage
et la visibilité.
Le Type Clip sert à construire une pièce
de géométrie invisible mais qui bloque le passage.
Les Brush de type Clip sont utiles afin dinterdire laccès
à des parties dun niveau sans pour autant être
obligé de construire un Brush Solid.
Le Type Empty défini un Brush translucide
qui ne bloque pas le passage. Il est généralement
utilisé pour créer des environnements liquides comme
de leau ou de la lave.
Le Type Window est un Brush translucide qui bloque
le passage tout en permettant à la lumière de passer
au travers. Il sera généralement utilisé pour
créer des fenêtres ou des vitres.
Le Type Hint est un Brush invisible et qui ne bloque
pas le passage. Il est uniquement utilisé pour séparer
le niveau en plusieurs parties afin daider le compilateur
de niveau à créer des niveaux plus efficaces. Globalement,
le moteur ne calculera pas les parties du niveau se trouvant après
un Brush de type Hint tant que la camera ne sera pas en position
dapercevoir ces parties. Le temps de calcul en temps-réel
ainsi sauvé accroîtra le taux de trames par seconde.
Le Type Cut est un Brush qui découpe une
pièce de géométrie existante. Il sera généralement
utilisé afin de découper un encadrement de porte ou
de fenêtre, ou même une ouverture quelconque dans un
mur ou un plafond.
Lattribut Hollow défini une pièce
de géométrie creuse. Ce type de pièce de géométrie
est utilisé pour créer une pièce dont la valeur
Hull Thickness correspond à lépaisseur de ses
murs et est exprimée en texels.
Lattribut Wavy donne à une pièce
de géométrie de type Empty un effet de vagues mouvantes.
Il est utilisé pour créer un effet de vague dans un
environnement liquide comme de leau ou comme effets spéciaux
pour un portail dimensionnel qui donnerait un effet surréaliste
assez intéressant.
Lattribut Detail est utilisé afin
daider le compilateur et daugmenter les performances
de vitesse dexécution de votre application en augmentant
le nombre de trames par seconde. En effet, une pièce de géométrie
marquée de lattribut Detail ne sera pas prise en compte
lors du calcul de la visibilité (VIS) et de la lumière
(Light). Par exemple, il est conseillé de marquer toutes
les pièces de géométrie utilisées pour
construire des meubles, des rochers, des colonnes et autres petits
objets de lattribut Detail. A noter quune pièce
de géométrie de type Window est toujours marquée
Detail.
Lattribut Area est généralement
utilisé pour les pièces de géométrie
formant les portes ou tout autre Brush solide et visible séparant
physiquement différentes parties de votre niveau. Le moteur
ne calculera pas les parties se trouvant derrière un Brush
de type Area lorsque celui-ci scelle complètement les parties
de votre niveau se trouvant derrière la pièce de géométrie.
Comme nous le verrons plus loin, il est possible dassocier
un mouvement douverture à une porte en utilisant une
entité Door et un Model. Il vous faut savoir que dès
que la porte commence à souvrir, le moteur calculera
les parties de votre niveau se trouvant derrière. Il cessera
le calcul lorsque la porte se refermera totalement. Il est donc
possible que votre application souffre dune certaine perte
de performances lorsque des portes souvrent dans votre niveau
et que les parties se trouvant derrière soit assez lourdes
à calculer pour le moteur. Il est donc important de savoir
placer stratégiquement les portes marquées de lattribut
Area dans votre niveau.
Cochez lattribut Sheet lorsque vous souhaitez
créer un plan 2D. Il vous faut pour cela créer une
forme de base de type Solid et non pas de type Hollow (voir les
différentes formes de base décrites plus haut dans
ce chapitre). Laxe Y de cette forme de base ainsi créée
sera ignoré. A noter que même si le reste de votre
forme de base 3D est invisible, elle reste cependant bloquante.
Cette option est très utile pour créer une surface
2D comme par exemple un tableau accroché au mur. Etant donné
que laxe Y est ignoré, la surface 2D sera toujours
créée horizontalement. Il vous suffira de la faire
pivoter à 90 degrés sur laxe X et/ou Z afin
dobtenir une surface 2D verticale.
Les options Contents sappliquent à
des Brush de type Empty. Ils permettent de définir le type
denvironnement contenu dans le Brush. Water est un environnement
deau et modifiera la gravité et la vélocité
des acteurs le traversant. Lenvironnement Lava applique les
mêmes modificatifs aux acteurs mais leur inflige en plus de
cela des dommages dus à cet environnement de lave. Nous verrons
plus loin comment créer de nouveaux types denvironnement
ou Contents.
Loption Build Quick
BSP du menu Tools.
Cette option permet à World
Editor de reconstruire le niveau dans la vue 3D et nest pas
à confondre avec loption Compile qui génère
le fichier BSP (le fichier binaire de votre niveau qui sera chargé
par le moteur dans votre application) que nous aborderons plus loin
dans ce chapitre. Si loption Auto Rebuild BSP du menu Options
(voir Le menu Option plus haut dans ce chapitre) est cochée,
il nest pas nécessaire dutiliser Build Quick
BSP, car léditeur le fera automatiquement pour vous
lors de chaque changement que vous opérerez sur les pièces
de géométrie de votre niveau. Il est cependant utile,
avant de compiler votre niveau, den avoir un aperçu
dans la vue 3D.
Loption Compile
du menu Tools.
Afin de générer un
fichier utilisable par Genesis3d et par votre application, vous
devrez compiler votre niveau afin de générer un fichier
.BSP. Ce fichier binaire contiendra toute la géométrie
de votre niveau ainsi que les informations nécessaires pour
léclairage, les entités, les modèles
et les acteurs. Il est possible de compiler votre niveau de différentes
façons en accord à votre objectif et aux particularités
de la construction de votre niveau. Lorsque vous aurez terminé
le design de votre niveau ou atteint certaines étapes vous
permettant de le visualiser, vous pouvez utiliser loption
Compile du menu Tools qui vous permettra aussi de charger et de
jouer votre niveau. Loption Compile fait apparaître
la boite de dialogue suivante :

Figure 11 - World Editor : Compiler
un niveau
Le champ de saisie MAP File correspond
au nom et au chemin daccès du fichier .MAP généré
pendant létape intermédiaire de la création
du fichier .BSP. Par défaut, il porte le même nom et
se trouve dans le même répertoire que le fichier .3DT
de votre niveau et que le fichier .BSP qui sera généré
après la compilation. Le répertoire par défaut
est ../Genesis3D11/levels. Il est conseillé de
ne pas modifier son nom et son chemin daccès. Néanmoins,
si vous souhaitez le modifier, cliquez sur le bouton Browse afin
de parcourir les répertoires de votre disque.
Loption Entities Only ne calculera que les
entités. Si vous comptez créer un niveau de taille
importante, il est conseillé de construire la géométrie
de votre niveau sans tenir compte, dans un premier temps, des entités
(modèles, lumière, acteurs, etc.) et de le compiler
sans cette option. Une fois que vous avez compilé votre niveau
sans cette option et obtenu un fichier .BSP ne contenant uniquement
que sa géométrie, vous pourrez y ajouter les entités
et le compiler de nouveau avec cette option cochée, ce qui
réduira dramatiquement le temps de compilation (jusquà
20 fois moins). En effet, créer une ambiance lumineuse, par
exemple, peut demander nombre de modifications, compilations et
aperçus. Noubliez pas que pour avoir un aperçu
de votre niveau ainsi compilé, il faudra que vous ayez compilé
sa géométrie dans une séquence de compilation
précédente.
Si loption Suppress Hidden Brushes est cochée,
les groupes marqués non visible (voir Le panneau de contrôle
Groups) ne seront pas inclus dans la compilation et dans le fichier
.BSP. Cela implique toutes les pièces de géométrie
et les entités de ce groupe.
Si loption Vis Detail Brushes est cochée,
le calcul de la visibilité de votre niveau (VIS) prendra
en compte toutes les pièces de géométrie de
type Detail (voir Loption Brush/Attributes du menu Tools).
Ceci peut réduire significativement le temps de compilation,
spécialement si vous avez beaucoup de pièces de géométrie
de type Detail dans votre niveau. Pour une meilleure qualité,
il est cependant conseillé de cocher cette option lors de
la compilation finale.
Loption BSP construira la géométrie
de votre niveau. Si loption Verbose est cochée, le
compilateur fournira des informations détaillées sur
le progrès de la séquence de compilation dans le panneau
de contrôle Console (voir Le panneau de contrôle Console).
Si loption Entity Verbose est cochée, il fournira des
informations supplémentaires concernant les entités
dans ce même panneau de contrôle. Cette option est indispensable
afin de pouvoir visualiser votre niveau.
Loption VIS calcule la visibilité
de votre niveau. Si loption Full Vis est cochée, le
compilateur effectuera un calcul de visibilité total. Si
elle est décochée, le calcul de visibilité
est moins efficace mais accélérera sensiblement le
temps de compilation. Si loption Verbose est cochée,
le compilateur fournira des informations détaillées
sur le calcul de la visibilité dans le panneau de contrôle
Console (voir Le panneau de contrôle Console). Cette option
est indispensable afin de pouvoir visualiser votre niveau si vous
cochez loption Light.
Loption Light calcule les effets de lumière
de votre niveau. Si cette option nest pas cochée, votre
niveau sera complètement obscur. Cette option doit être
combinée avec loption Vis, sans quoi le compilateur
générera une erreur.
Loption Radiosity effectue un calcul approfondi
de la réflexion de la lumière après que la
lumière de base soit calculée. Cette option augmente
significativement le temps de compilation. Il est donc conseillé
de faire ce calcul de la lumière lors de la compilation finale.
Si loption Extra Samples est cochée,
les effets de lumière seront beaucoup plus réalistes
au détriment du temps de compilation. Il est aussi conseillé
de ne pas utiliser cette option avant la compilation finale.
Loption Fast Patch optimise le temps de compilation
lors du calcul de la lumière. Si vous travailler sur un large
niveau et que vous éprouvez un délai important lors
de la compilation, cochez cette option pour en accélérer
le processus.
Light Scale est un multiplicateur de lintensité
de la lumière agissant sur lintégralité
de votre niveau. Plus sa valeur est importante, plus votre niveau
sera lumineux.
Reflect Scale est un multiplicateur agissant sur
la réflexivité de la lumière dans lensemble
de votre niveau. En augmentant sa valeur, votre niveau sera plus
lumineux et coloré.
Bounce Limit correspond au nombre de fois que le
compilateur calculera la réflexivité des faisceaux
lumineux. Plus sa valeur est élevée, plus les effets
de lumière seront réalistes. Cette option est néanmoins
coûteuse en temps de compilation.
Patch Size défini la taille de la grille
utilisée lors de lapplication de la réflexivité
de la lumière sur les surfaces. Une valeur faible augmente
la qualité de la projection de la lumière au détriment
du temps de compilation ainsi que de lespace mémoire
nécessaire. Si votre ordinateur na pas une quantité
de mémoire libre suffisante, il utilisera de lespace
disque, ce qui rend lopération de compilation très
lourde avec des accès disque importants.
Default Light Level (RGB) éclaire tout votre
niveau de manière uniforme en utilisant une valeur RGB (RVB
ou Rouge, Vert, Bleu). Ces valeurs varient de 0.00 à 255.00
où 0.00 est la valeur la plus sombre et 255.00 est la valeur
la plus claire. Ce type déclairage peut être
combiné avec des éclairages locaux provenant dentités.
Si cette option est cochée, Preview vous
permettra de visualiser et de jouer votre niveau en utilisant GTEST.EXE
après avoir complété la compilation.
Loption Scale World
du menu Tools.
Cette option vous permet de dimensionner
tout votre niveau en y appliquant un facteur de taille exprimé
en virgule flottante. Si vous souhaitez rétrécir votre
niveau de moitié, appliquez un facteur de 0.5. Si vous le
voulez 3 fois plus grand, entrez une valeur de 3.
Loption Texture
Scale du menu Tools.
Loption Texture Scale vous
permet de dimensionner les textures de la pièce de géométrie
ou des pièces de géométrie sélectionnées.
Comme pour loption Scale World, il vous suffit dentrer
un facteur de taille en virgule flottante.
Loption Next Brush/Face
du menu Tools.
Cette option sélectionne
la prochaine pièce de géométrie si vous êtes
en Mode Brush ou la prochaine face si vous êtes en Mode Face.
La touche de clavier touche à droite a la même fonction
que cette option.
Loption Prev Brush/Face
du menu Tools.
Cette option sélectionne
la pièce de géométrie précédente
si vous êtes en Mode Brush ou la face précédente
si vous êtes en Mode Face. La touche de clavier touche à
gauche a la même fonction que cette option.
Loption Add Template
du menu Tools.
Une fois que vous avez sélectionné
une forme de base ou une entité dans le panneau de contrôle
Template, vous devez utiliser cette option afin de lintégrer
à votre niveau. La touche de raccourci est la touche de clavier
Entrée.
Loption Toggle Brush/Face
Mode du menu Tools.
Cette option vous permet de passer
dun mode à lautre entre le mode Brush et le mode
Face. La touche de clavier Page Down (Page Suivante) en fait de
même.
Le menu Group
Loption Add Selected To Group
vous permet dajouter lobjet couramment sélectionné
(entité ou pièce de géométrie) au Group
actuellement actif (Voir Le Panneau de Contrôle Groups plus
loin dans ce chapitre). Vous pouvez aussi sélectionner plusieurs
objets dans une des vues en maintenant la touche de clavier Contrôle
(Ctrl) ou en les sélectionnant à partir dun
autre groupe afin de les ajouter au groupe courant. Lintérêt
de diviser votre niveau en plusieurs groupes se fera sentir lorsque
votre niveau commencera à prendre de limportance. Il
est conseillé de commencer à créer des groupes
dès le début du design de votre niveau. Vous pouvez
par exemple définir un groupe par salle ou par parties significatives
de votre niveau ou même par type dobjet.
Lorsque le groupe sélectionné nest
pas le groupe Default, loption Remove Selected From Group
est disponible. Cette option déplace les objets sélectionnés
vers le groupe Default (Voir Le Panneau de Contrôle Groups
plus loin dans ce chapitre). Un niveau contient au moins le groupe
Default qui en aucun cas ne peut être effacé ou renommé.
Loption Create New Group crée un nouveau
groupe auquel vous devez donner un nom. Si lors de la création
dun nouveau groupe, des objets sont sélectionnés,
ils seront inclus par défaut dans celui-ci.
Le menu Entities
Loption Entity Editor
du menu Entities.

Figure 12 - World Editor : Léditeur
dentité
Cette option vous permet déditer
et de modifier les divers paramètres des entités présentes
dans votre niveau. Lorsque vous cliquez cette option et quune
entité est sélectionnée, la boite de dialogue
ci-dessus souvre automatiquement sur les paramètres
de cette dernière. Si plusieurs entités sont sélectionnées,
elles doivent être du même type (par exemple, 3 entités
Light seraient sélectionnées) afin que loption
Entity Editor y affiche leurs paramètres dans la boite de
dialogue. Le menu déroulant dans la partie supérieure
de la boite de dialogue vous permet de sélectionner lentité
dont vous souhaitez éditer les paramètres dans la
liste au-dessous de celui-ci. Chaque type dentité possède
son propre jeu de paramètres.
Lentité BlockActor
Lentité BlockActor
sert à bloquer le passage des acteurs Bot (acteurs contrôlés
par lordinateur), ce qui vous permet de les empêcher
datteindre certaines parties de votre niveau. Pour ce faire,
il vous suffit, par exemple, de créer une pièce de
géométrie de type Hint (transparente et non bloquante),
de lintégrer dans un modèle créé
spécialement pour cette occasion (voir Le Panneau de Contrôle
Models plus loin dans ce chapitre) et dattacher ce modèle
à lentité BlockActor. Les acteurs Bot ne pourront
passer au travers mais pourront quand même tirer.
Les paramètres de cette entité sont :
Model qui correspond au nom du modèle
à attacher. Double-cliquez sur le champ Model afin de sélectionner
le modèle que vous souhaitez attacher à lentité
BlockActor. Vous aurez précédemment inclus dans le
modèle la pièce de géométrie servant
à bloquer le passage des acteurs Bot.
Position représente les coordonnées
de lentité sur les axes X, Y et Z dans votre niveau.
Lentité BotActorStart
Cette entité vous permet
dintégrer des acteurs Bot dans votre niveau. Une entité
BotActorStart créé un acteur Bot. Par défaut
dans le programme Gtest qui vous permet de visualiser votre niveau,
un acteur BotActorStart reste immobile tant que le joueur ne rentre
pas dans une zone ou il peut être vu par le Bot. Au moment
où lacteur Bot laperçoit, soit il lattaquera,
soit il tentera de fuir sil se sent en position dinfériorité.
Dans votre application, vous pourrez développer ce que lon
appelle lAI du Bot (Artificial Intelligence) afin de modifier
son comportement en accord avec les objectifs de votre concept de
jeu. Par exemple, un acteur Bot peut être un allié,
un acteur passif, un ennemi
etc.
Les paramètres de lentité BotActorStart :
IgnoreTurrets était à lorigine
sensé permettre à un acteur Bot dignorer les
acteurs de type Turrets (Tourelle à canon) en le mettant
à la valeur True (Vrai). Les acteurs Turrets nont finalement
pas été pleinement implantés dans Genesis3D,
ce qui fait que ce paramètre na pas deffet dans
la version actuelle. Vous avez néanmoins la possibilité
de les implanter, ce qui vous permettrai dutiliser ce paramètre.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Respawn permet à lacteur Bot,
lorsque vous le passez à True, de revenir à la vie
sil est tué.
SkillLevel représente le niveau de
compétence de lacteur Bot. Il est compris entre les
valeurs 1 à 4. Il vous suffit de récupérer
cette valeur dans votre application pour modifier les caractéristiques
de votre acteur Bot en rapport à son SkillLevel.
Lentité BotMatchStart
Cette entité est similaire
à lentité BotActorStart. Elle est plutôt
utilisée dans un concept de jeu que lon appelle Match,
où le but est de gagner la partie contre un jeu dacteurs
(Bots ou autres joueurs). Une entité BotMatchStart dans votre
niveau peut représenter plusieurs acteurs Bot. Par défaut,
le programme Gtest qui vous sert à visualiser votre niveau,
chargera 4 acteurs Bot à lendroit où il trouvera
lentité BotMatchStart. Si votre niveau contient plusieurs
entités BotMatchStart, Gtest ne chargera toujours quun
total de 4 acteurs Bot qui apparaîtront dans votre niveau
sur les entités BotMatchStart que vous aurez placé.
Si vous placez 4 BotMatchStart, chacun des 4 Bot apparaîtra
à une position différente. Dans votre application,
vous pourrez changer le nombre dacteurs Bot à charger.
Origin est le seul paramètre de lentité
BotMatchStart, qui par défaut revient à la vie après
avoir été tué. Vous pourrez modifier son comportement
dans votre application.
Lentité Camera
Cette entité ne peut être
créée ou modifiée. Elle sert à positionner
le champ de vision dans la vue 3D. Elle peut être cachée
comme nous le verrons plus loin dans Loption Visibility.
Lentité ChangeLevel
La plupart des jeux vidéo
3D sont composés de plusieurs niveaux et cette entité
permet au joueur de passer dun niveau à un autre. Elle
est attachée à un modèle lié à
une pièce de géométrie. Afin de déclencher
le changement de niveau, le joueur doit marcher sur cette pièce
de géométrie. Celle-ci doit donc être horizontale
comme une dalle sur le sol ou une marche descalier. Par exemple,
elle ne peut correspondre à une porte puisque le joueur doit
marcher dessus. Le moteur chargera alors le niveau spécifié
dans le paramètre LevelName.
LevelName défini le nom du nouveau
niveau à charger. Ce nom de niveau doit correspondre à
un fichier de type .BSP, par exemple NIVEAU2.BSP.
Model correspond au nom du modèle
à attacher. Double-cliquez sur le champ Model afin de sélectionner
le modèle que vous souhaitez attacher à lentité
ChangeLevel. Vous aurez précédemment inclus dans le
modèle, la pièce de géométrie sur laquelle
le joueur doit marcher afin de déclencher le changement de
niveau.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité Corona
Cette entité créée
un halo de lumière. Elle donne un effet très réaliste
sur une lumière directe de type spot, par exemple.
AllowRotation est une valeur booléenne
(0 ou 1) qui est sensée, lorsque mise à 1, faire suivre
à lentité la rotation du modèle auquel
elle est attachée. Elle nest cependant pas pleinement
implantée dans la version courante de Genesis3D.
Color défini la couleur en RVB (Rouge,
Vert, Bleu) de lentité. Ces valeurs entières
varient de 0 à 255.
FadeOut est une valeur booléenne,
0 ou 1. Lorsque lentité se trouve à la distance
de visibilité maximale (voir le paramètre MaxVisibleDistance)
ou au-delà, et que cette valeur est mise à 0, lentité
disparaît brutalement. Si elle est mise à 1, vous pourrez
observer un effet de "fondu".
MaxRadius correspond au rayon maximal du
halo de lumière ou plus précisément à
sa taille maximale qui est relative à la distance où
se trouve la caméra.
MaxRadiusDistance représente la distance
en texels entre la caméra et lentité où
le halo de lumière atteint sa taille maximale (voir le paramètre
MaxRadius).
MaxVisibleDistance est la distance en texels
entre la caméra et lentité à partir duquel
le halo de lumière disparaît (voir le paramètre
FadeOut).
MinRadius défini la taille minimum
du rayon du halo de lumière. Cette taille est relative à
la distance entre la caméra et lentité.
MinRadiusDistance représente la distance
en texels entre la caméra et lentité où
le halo de lumière atteint sa taille minimale (voir le paramètre
MinRadius).
Model vous permet de spécifier à
quel modèle vous souhaitez attacher cette entité.
Par exemple, si vous voulez attacher un halo de lumière à
un ascenseur afin que le halo suive son mouvement ascendant ou descendant.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité DeathMatchStart
Cette entité représente
le joueur lui-même. Afin de pouvoir charger un niveau dans
votre application ou dans le programme de test Gtest, il est absolument
nécessaire que cette entité soit présente.
Sans cette entité, Gtest retournera avec une erreur sans
charger votre niveau.
Origin est le seul paramètre de lentité
DeathMatchStart et représente la position de départ
du joueur dans votre niveau sur les axes X, Y et Z.
Lentité Door
Cette entité est utilisée
pour créer des portes auxquelles on attache une séquence
danimation pour louverture et la fermeture. Le principe
de base est de créer une pièce de géométrie
solide que lon définit de type Area (voir loption
Brush|Attributes du menu Tools). On crée ensuite une séquence
danimation en utilisant un modèle que lon attache
à cette entité.
Model représente le nom du modèle
contenant la pièce de géométrie de la porte
et sa séquence danimation.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité DynamicLight
Cette entité permet de créer
des lumières dynamiques comme par exemple un stroboscope
ou un effet de défaillance électrique faisant clignoter
la lumière.
AllowRotation est une valeur booléenne
(0 ou 1) qui est sensée, lorsque mise à 1, faire suivre
à lentité la rotation du modèle auquel
elle est attachée. Elle nest cependant pas pleinement
implantée dans la version courante de Genesis3D.
Color défini la couleur en RVB (Rouge,
Vert, Bleu) de lentité. Ces valeurs entières
varient de 0 à 255.
InterpolateValues est une valeur booléenne
qui, lorsquelle est mise à 1, permet à lentité
dinterpoler lintensité lumineuse entre les valeurs
du paramètre RaduisFunction. Par exemple, avec une lumière
dynamique de type stroboscopique, vous obtiendrez un effet de fondu
entre chaque changement dintensité si vous mettez ce
paramètre à 1, alors que la variation dintensité
sera brutale si vous le mettez à 0.
MaxRadius correspond au rayon maximal affecté
par la lumière dynamique, avec pour centre lorigine
de lentité.
MinRadius correspond au rayon minimal affecté
par la lumière dynamique, avec pour centre lorigine
de lentité.
Model vous permet de spécifier à
quel modèle vous souhaitez attacher cette entité.
Par exemple, si vous voulez attacher une lumière dynamique
à un ascenseur afin quelle suive son mouvement ascendant
ou descendant.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
RadiusFunction correspond à une chaîne
de caractères alphabétique où chaque élément
représente un changement de luminosité comparé
au précédant. Par exemple, la chaîne de caractères
aaaffjjsshhhtrvzz, où la valeur a
correspond à la valeur du paramètre MinRadius, z
à la valeur de MaxRadius et toutes les autres aux valeurs
intermédiaires. Si le paramètre InterpolateValues
est mis à 1, le moteur interpolera lintensité
lumineuse entre chaque valeur de la chaîne de caractères
du paramètre RadiusFunction. Dans le cas contraire, InterpolateValues
à 0, il passera brutalement à la valeur suivante.
RadiusSpeed détermine la durée
en secondes de la séquence lumineuse définie dans
le paramètre RadiusFunction. Par exemple, une valeur de 3.5
jouera la séquence lumineuse définie dans RadiusFunction
en 3 secondes et demi.
Lentité ElectricBolt
Cette entité créée
un arc électrique à décharges continues ou
intermittentes. Vous devez inclure une entité ElectricBoltTerminus
dans votre niveau, et ly attacher en utilisant le paramètre
Terminus, faute de quoi votre niveau ne se chargera pas.
Color défini la couleur en RVB (Rouge,
Vert, Bleu) de larc électrique. Ces valeurs entières
varient de 0 à 255.
DominantColor spécifie la couleur
dominante de larc électrique. Cette valeur est comprise
entre 0 et 2. 0=rouge, 1=vert et 2=bleu.
Intermittent est une valeur booléenne
(0 ou 1) qui définie si la décharge électrique
est continue ou intermittente. Si elle est mise à 0, la décharge
électrique sera continue. Si elle est mise à 1, elle
variera dans le temps entre les valeurs définies dans les
paramètres MaxFrequency et MinFrequency.
MaxFrequency correspond au temps maximum
écoulé, en secondes, entre chaque décharge
électrique lorsque le paramètre Intermittent est mis
à 1.
MinFrequency correspond au temps minimum
écoulé, en secondes, entre chaque décharge
électrique lorsque le paramètre Intermittent est mis
à 1.
NumPoints représente le nombre de
points finissant chaque secteur de larc électrique
et doit être un entier puissance de 2 (il est conseillé
dutiliser les valeurs 32, 64 ou 128). Par exemple, une valeur
de 64 créera un arc électrique de 64 secteurs.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Terminus correspond au nom de lentité
ElectricBoltTerminus qui représente la fin de larc
électrique. Cette entité doit être présente
dans votre niveau si vous souhaitez utiliser une entité ElectricBolt.
Width défini lépaisseur
de larc électrique exprimée en texels. La valeur
par défaut est 8.
Wildness spécifie le degré
de frénésie de larc électrique. Cette
valeur exprimée en virgule flottante varie de 0.0 à
1.0.
Lentité ElectricBoltTerminus
Cette entité doit être
présente dans votre niveau si vous y avez ajouté une
entité ElectricBolt et doit y être attachée.
Pour plus de détails, voir lentité ElectricBolt.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité FogLight
Cette entité est une lumière
qui simule un effet de brouillard. Selon la taille de votre niveau,
cette entité peut être coûteuse en performance.
Brightness représente lintensité
de votre brouillard. Plus cette valeur est élevée,
plus le brouillard paraîtra opaque.
Color défini la couleur en RVB (Rouge,
Vert, Bleu) du brouillard. Ces valeurs entières varient de
0 à 255.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Radius correspond au rayon en texels de
la surface que couvre votre brouillard.
Lentité ForceField
Cette entité est sensée
appliquer une force sur les PhysicsObject, comme par
exemple faire tourner une roue, mais semble ne pas avoir été
pleinement implantée dans Genesis3D (Gtest). Jusquà
présent, personne na pu la faire fonctionner avec succès
dans un niveau. Nous donnons cependant la liste des paramètres
de cette entité.
AffectsPhysicsObjects est une variable booléenne
(1 ou 0). La mise à 1 de cette valeur permet à lentité
dappliquer une force sur un PhysicsObject.
AffectsPlayers est aussi une valeur booléenne
(1 ou 0). Si cette valeur est mise à 1, la force sapplique
aussi au joueur.
FalloffType est défini dans le code
source de Gtest et peut être mis à une des valeurs
suivantes :
0 : FALLOFF_NONE = (forceMultiplier = 1.f)
1 : FALLOFF_ONE_OVER_D = (forceMultiplier
= 1 / distToFFCenter)
2 : FALLOFF_ONE_OVER_DSQUARED = (forceMultiplier
= 1 / (distToFFCenter * distToFFCenter))
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Radius correspond au rayon en texels quaffecte
le ForceField.
Strength est la valeur qui défini
la force à appliquer.
Lentité ItemArmor
Cette entité créée
une armure que le joueur peut prendre et utiliser et qui lui donne,
dans Gtest, une valeur darmure de 100. Par défaut,
elle réapparaît un moment plus tard après avoir
été prise (respawn). Dans Gtest, il sagit de
charger un acteur que vous trouverez dans le répertoire ..\Genesis3d11\actors\armor.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemGrenade
Cette entité créée
un lance-grenades que le joueur peut prendre et qui lui permet,
dans Gtest, dutiliser des grenades (lentité ItemGrenadeAmmo).
Par défaut, elle réapparaît un moment plus tard
après avoir été prise (respawn). Dans Gtest,
il sagit de charger un acteur que vous trouverez dans le répertoire
..\Genesis3d11\actors\glaunch.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemGrenadeAmmo
Cette entité créée
un groupe de 5 grenades que le joueur peut prendre et qui lui permet,
dans Gtest, dutiliser lentité lance-grenades
(ItemGrenade). Par défaut, elle réapparaît un
moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\grenade.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemHealth
Cette entité créée
un kit médical que le joueur peut prendre et qui lui permet,
dans Gtest, de regagner 25 points de santé (Health) jusquà
son maximum qui est de 100. Par défaut, elle réapparaît
un moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\medkit.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemRocket
Cette entité créée
un lance-roquettes que le joueur peut prendre et qui lui permet,
dans Gtest, dutiliser des roquettes (lentité
ItemRocketAmmo). Par défaut, elle réapparaît
un moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\rlaunch.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemRocketAmmo
Cette entité créée
un groupe de 5 roquettes que le joueur peut prendre et qui lui permet,
dans Gtest, dutiliser lentité lance-roquettes
(ItemRocket). Par défaut, elle réapparaît un
moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\rocket.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemShredder
Cette entité créée
une mitrailleuse que le joueur peut prendre et qui lui permet, dans
Gtest, dutiliser des munitions pour mitrailleuse (lentité
ItemShredderAmmo). Par défaut, elle réapparaît
un moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\shredder.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité ItemShredderAmmo
Cette entité créée
un chargeur de 50 balles pour mitrailleuse que le joueur peut prendre
et qui lui permet, dans Gtest, dutiliser lentité
mitrailleuse (ItemShredder). Par défaut, elle réapparaît
un moment plus tard après avoir été prise (respawn).
Dans Gtest, il sagit de charger un acteur que vous trouverez
dans le répertoire ..\Genesis3d11\actors\sammo.act.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité Light
Cette entité créée
une lumière simple dont vous pouvez définir la couleur
et qui contient quelques séquences prédéfinis.
Color défini la couleur en RVB (Rouge,
Vert, Bleu) du brouillard. Ces valeurs entières varient de
0 à 255.
Light correspond au rayon en texels éclairé
par la lumière.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Style est un groupe de séquences
lumineuses prédéfinis afin de créer des effets
stroboscopiques ou de défaillance électrique de la
même manière que nous le soulignions dans le paramètre
RadiusFunction de lentité DynamicLight. Sa valeur est
comprise entre 0 et 11 et correspond, dans Gtest, aux séquences
lumineuses suivantes (a savoir que a est la valeur la
plus sombre et z la plus claire) :
0 = "z" (valeur par défaut dune
lumière normale).
1 = "mmnmmommommnonmmonqnmmo".
2 = "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba".
3 = "mmmmmaaaaammmmmaaaaaabcdefgabcdefg".
4 = "mamamamamama".
5 = "jklmnopqrstuvwxyzyxwvutsrqponmlkj".
6 = "nmonqnmomnmomomno".
7 = "mmmaaaabcdefgmmmmaaaammmaamm".
8 = "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa".
9 = "aaaaaaaazzzzzzzz".
10 = "mmamammmmammamamaaamammma".
11 = "abcdefghijklmnopqrrqponmlkjihgfedcba".
Lentité ModelController
Cette entité sert à
faire jouer la séquence danimation dun modèle
automatiquement, comme par exemple une roue qui tournerai en permanence.
Il est à noter que vous ne pouvez pas combiner un ModelController
avec un PhysicsObject.
Model correspond au nom du modèle
qui contient la séquence à actionner.
Lentité ModelOrigin
Cette entité na pas
été implantée dans Genesis3D. Elle na
aucun effet et aucun paramètre.
Lentité MovingPlat
Cette entité déclenche
la séquence du modèle attaché lorsque le joueur
ou un autre Bot se place dessus. Elle est typiquement utilisée
pour créer des ascenseurs ou des plates-formes qui se déplacent
verticalement ou horizontalement.
Model correspond au nom du modèle
qui contient la séquence à actionner.
Origin représente la position de
lentité dans votre niveau en X, Y et Z.
Lentité PathPoint
Ces entités servent à
définir le chemin que doivent suivre les Bots et les actions
à entreprendre. Un chemin peut être défini par
une ou plusieurs entités PathPoint liées entre elle
et déterminant laction ou les actions à entreprendre
à chaque pas. Uniquement le premier PathPoint dun
Path doit avoir un PathType (voir plus loin). Les autres PathPoint
du Path auront un PathType dune valeur de 1. Dans la
table du paramètre ActionType (voir plus loin), les actions
marquées dune étoile * ne sont pas pleinement
implantées dans Gtest.
ActionType permet de définir une
action que le Bot doit entreprendre lorsquil atteint ce point
du PathPoint. La valeur par défaut est 1 qui signifie
NULL. Ci-dessous est la description des différentes valeurs
de ce paramètre.
|
-1
|
NULL
|
Aucune action définie.
Le Bot recherchera le prochain PathPoint.
|
|
1
|
JUMP
|
Le Bot sautera lorsquil
atteindra ce point. Le paramètre VelocityScale (voir
plus loin) par défaut est de 0.5.
|
|
2
|
WAIT_POINT_DIST
|
Le Bot attendra que le WatchPoint
(voir plus loin) soit visible. Cette valeur utilise les paramètres
Dist et Time (voir plus loin) et met Time à 20 secondes
(Timeout).
|
|
3
|
ROCKET_JUMP
|
Le Bot effectuera un saut
dune vélocité équivalente à
une poussée générée par lexplosion
dune roquette. Le prochain PathPoint détermine
la direction du saut. Le paramètre VelocityScale (voir
plus loin) par défaut est de 3.
|
|
4
|
WAIT_FOR_PLAYER
|
Le Bot attendra à la
position du PathPoint que le joueur entre dans son champ de
vision pendant une durée de 20 secondes par défaut.
Cette action est affectée par le paramètre Time
(voir plus loin).
|
|
5
|
WAIT_POINT_VISIBLE
|
Défini le temps écoulé
avant que ce WatchPoint ne devienne visible (voir laction
WAIT_POINT_DIST). Par défaut, cette action à
une durée de 5 secondes.
|
|
6
|
LOOK_FOR_ITEMS
|
En atteignant cette position,
le Bot cherchera les objets visibles autour de lui (armement,
santé,
etc.).
|
|
7
|
BLASTER_JUMP
|
Cette action est identique
à ROCKET_JUMP à ceci près que le Bot
effectuera un saut dune vélocité équivalente
à une poussée générée par
lexplosion dun Blaster (arme de base dans Gtest).
|
|
20
|
* SHOOT_BLASTER
|
Le Bot tirera sur cette position
le nombre de fois définies dans le paramètre
ShootTimes. Cette action sera utilisée pour déclencher
un mécanisme où lon doit tirer dessus
plutôt que pour attaquer un autre joueur. Elle utilise
les paramètres WatchPoint et ShootTimes.
|
|
21
|
* SHOOT_GRENADE
|
Identique à SHOOT_BLATER.
|
|
22
|
* SHOOT_ROCKET
|
Identique à SHOOT_BLATER.
|
|
23
|
* SHOOT_SHREDDER
|
Identique à SHOOT_BLATER.
|
Direction sert à définir quelle direction
le Bot doit prendre en atteignant ce PathPoint si la direction donnée
nest pas en contradiction avec le type de Path. La valeur
1 correspond à "en avant", -1 "en arrière"
et 0 "nimporte direction". Par exemple, quelles
que soient les circonstances, vous pouvez forcer un Bot à
aller de lavant avec 1 ou lautoriser à rebrousser
chemin avec 0 si cette action ne rentre pas en contradiction avec
le Path.
Dist défini une valeur en texels.
Il peut être utilisé avec laction WAIT_POINT_DIST
du paramètre ActioType.
MoveWithModel vous permet dattacher
le PathPoint à un model comme un ascenseur, afin quil
se déplace avec lui.
Next point sur le prochain PathPoint dans
la chaîne du Path.
Origin représente la position du
PathPoint dans votre niveau en X, Y et Z.
PathType défini le type du Path et
ce quil est sensé accomplir de manière générale.
Il aidera les Bots à prendre des décisions. Seul
le premier PathPoint dun Path doit avoir un PathType.
Les autres PathPoint du Path doivent être mis à 1.
Le tableau suivant décris les valeurs passées à
PathType.
|
#
|
Nom
|
Description
|
Direction
|
|
-1
|
NULL
|
Tous les points du Path après
le premier seront mis à cette valeur.
|
NULL
|
|
1
|
UP
|
Déplace le Bot vers
le haut.
|
Unidirectionnel
|
|
2
|
DOWN
|
Déplace le Bot vers
le bas.
|
Unidirectionnel
|
|
3
|
ELEVATOR_UP
|
Déplace le Bot vers
le haut par le moyen dun ascenseur.
|
Unidirectionnel
|
|
4
|
ELEVATOR_DOWN
|
Déplace le Bot vers
le bas par le moyen dun ascenseur.
|
Unidirectionnel
|
|
5
|
MOVING_PLAT
|
Déplace le Bot par
le moyen dune plate-forme. Peut avoir à attendre
la plate-forme.
|
Unidirectionnel
|
|
6
|
SCAN_PATH
|
Se déplace sur ce point
pour chercher un autre Path.
|
| |