Vous êtes sur la page 1sur 42

Machine Translated by Google

GHOST RECON : WARFIGHTER AVANCÉ 2

­ L'ÉDITEUR ­

­ v1.04 ­

Par:
Grin_Wolfsong

Assisté par:
Grin_Ichabod
Machine Translated by Google

Contenu des documents

Chapitre 1 : Mise en route .................................................. ................................................3


Exigences .... .................................................. .................................................. .3
Préparatifs.................................................. .................................................. ...........3
Chapitre 2 : Interface.................................. .................................................. ..................5
Rendu .................................. .................................................. ..................................5
Couches.............. .................................................. ..................................................6 Sous
­Couches................................................ .................................................. ...........6 Liste
des unités .................................... .................................................. ................................7
Commandes ................ .................................................. ..................................................7
Chapitre 3 : Couche statique . .................................................. ..................................................9
Paysage ..... .................................................. .................................................. .....9
Statique ................................................ .................................................. .......................10
Petit Statique ................................ .................................................. ..................................10
Chapitre 4 : Couche dynamique............ .................................................. ..................................11
Couverture.............................. .................................................. ..................................................11
Véhicule ..... .................................................. .................................................. ........11
Chapitre 5 : Couche électrique ...................... .................................................. ...........13
Chapitre 6 : Couche sonore .................................. .................................................. ........14
Chapitre 7 : Props Brush Layer................................... ..................................................15
Chapitre 8 : Couche graphique AI ................................................ .......................................16
Génération de graphes AI ...... .................................................. .......................................17
Génération de points de couverture.......... .................................................. ..................................17
Chapitre 9 : Couche humaine ................ .................................................. ..................18
Chapitre 10 : Couche Emplacements.............. .................................................. ..............21
Chapitre 11 : Calque des marqueurs .................................. .................................................. ......22
Chapitre 12 : Supplémentaires Fonctions de l'éditeur .................................................. ..................24
Mode première personne.............................. .................................................. ..................24
Génération de mini­cartes .................................. .................................................. ............24
Génération de Cubemap .................................. .................................................. ......25
Génération Lightmap ................................................ .................................................. 26
Génération de silhouettes.................................................. ..................................................27
Outils d'optimisation... .................................................. .......................................27
Chapitre 13 : Dernières corrections... .................................................. .......................................29
Changement d'environnement ....... .................................................. ..............................2
9 Infos sur le monde .................................................. .................................................. ...........30
Portée des textures .................................. .................................................. ................36
Cordes.................................. .................................................. ................................37
Conclusion .................. .................................................. ..................................................
37 Annexe 1 : Indices sonores environnementaux ......................................... ......................38
Signaux sonores .................................. .................................................. ..................................38

2
Machine Translated by Google

Chapitre 1 : Prise en main Ce didacticiel


couvrira les bases de l'éditeur. Pas tous les petits détails, mais les éléments de base que vous
devez connaître pour créer un nouveau niveau à partir d'unités existantes.

L'éditeur fourni au public est exactement la même version qui a été utilisée par Grin lors du
développement de GRAW2. Il n'est pas conçu spécialement pour un usage public, comme le sont de
nombreux autres éditeurs rendus publics, et en tant que tel, il a une interface un peu grossière sur les
bords et pas totalement logique en raison des changements constants et des ajouts aux fonctions du
jeu pendant le développement, mais je vais couvrir tout cela et essayer de redresser un peu les choses.
Il n'est pas non plus complètement stable, alors jouez en toute sécurité et sauvegardez souvent.

Exigences Les seules


exigences lorsque vous travaillez dans l'éditeur, outre le fait que vous ayez le matériel pour
exécuter le jeu bien sûr, c'est que vous ayez une souris à 4 boutons. Le bouton du pouce [souris
4] est important pour placer les unités, et vous ne pouvez pas relier les touches dans l'éditeur,
vous devez donc l'avoir.

Préparations La
façon la plus simple de garder les choses propres est de commencer par définir un nouveau niveau.
Si vous ne le faites pas, un niveau par défaut appelé « world_xml » sera utilisé. Dans ce cas, vous
devrez alors déplacer vos fichiers dans un nouveau dossier lorsque vous souhaitez partager votre
niveau, sinon tous les niveaux exportés avec le nom de dossier par défaut se remplaceront et créeront
des problèmes pour les joueurs, donc ma suggestion est que vous créez un nouveau niveau depuis le
début. Dans ce document, le niveau personnalisé sera appelé "tutoriel".

L'endroit où les dossiers de niveaux seront automatiquement créés, lorsque vous démarrez l'éditeur
avec un nom défini, varie selon que vous utilisez XP ou Vista. Dans XP, ils sont créés là où votre jeu
est installé sous GRAW2/data/levels/custom_levels. Dans Vista, tous les fichiers sont créés sous votre
profil, où un dossier GRAW2 doit être situé avec une structure de dossiers sous­jacente similaire.

Remarque : N'utilisez que des lettres minuscules pour tous les noms de dossier et de fichier dans GRAW2, et aucun caractère spécial.

Exemple de nouveau dossier de niveau personnalisé appelé "tutoriel" créé sous XP :

3
Machine Translated by Google

Pour créer ce nouveau niveau, la meilleure façon à long terme est d'éditer le
fichier "GRAW2_Editor.bat" pour lui dire avec quel niveau vous voulez travailler. Si vous connaissez
un peu la programmation BATCH, vous remarquerez en l'ouvrant que vous n'avez pas besoin de
modifier ce fichier. Il utilise un caractère générique qui prend la chaîne écrite après le nom de fichier et
l'utilise comme niveau avec lequel travailler.

Néanmoins, je vous suggère de créer une copie de "GRAW2_Editor.bat" , puis d'effectuer ces
modifications à l'intérieur de la copie, car cela vous aidera à l'avenir à démarrer plus rapidement et plus
facilement l'éditeur avec le bon niveau ou si vous souhaitez en créer plus un niveau, vous pouvez avoir
un fichier de démarrage pour chacun d'eux. Donnez simplement à la nouvelle copie un nom descriptif,
comme "GRAW2_Editor_Tutorial.bat" par exemple car le niveau que j'utilise s'appelle "tutoriel", afin que
vous puissiez le trouver facilement. À l'intérieur de la copie, vous devez modifier la dernière partie afin
qu'elle contienne le nom de votre niveau, qui sera le nom du dossier de niveau qui sera créé, après la
balise "­path" et cela devrait fonctionner correctement.

Contenu de GRAW2_Editor_Tutorial.bat :
graw2.exe ­o context­editor.xml ­path tutorial

Cela fait, vous êtes maintenant prêt à commencer à construire votre niveau. Exécutez le
nouveau fichier de démarrage "GRAW2_Editor_Tutorial.bat" et examinons les premières étapes à
l'intérieur de l'éditeur.

4
Machine Translated by Google

Chapitre 2 : Interface Une fois


l'éditeur lancé, vous êtes face à un monde vide avec un environnement par défaut et rien d'autre dedans.
Dans le coin supérieur gauche, vous pouvez trouver les menus d'options "calque" et "rendu" . Sur le côté
droit, vous trouverez la fenêtre "liste des unités" , qui affiche les unités disponibles à placer dans certaines
couches et les unités qui ont été placées dans d'autres.

Astuce : Toutes les fenêtres à l'intérieur de l'éditeur peuvent être déplacées en utilisant le bouton gauche de la souris, en cliquant sur la partie
supérieure de la fenêtre, en maintenant enfoncé et en déplaçant.

Rendu Le menu
"rendu" décide de la façon dont vous regardez actuellement le niveau dans l'éditeur. Cela peut être utile
car vous pouvez par exemple passer à "albédo" et ainsi tourner l'éclairage et les ombres de l'environnement
pour mieux voir la disposition du niveau même lorsque les cartes de lumière n'ont pas encore été rendues.

Options de rendu présentes dans l'éditeur :


Albédo Affiche le niveau uniquement dans les textures diffuses.
Ambiant Affiche le niveau en gris avec uniquement les ombres ambiantes.

Éclairage Affiche le niveau avec l'environnement assigné, comme il apparaîtra à l'intérieur


du jeu.
Normal Affiche le niveau uniquement dans les textures de carte normales.

Exemples d'options de rendu :

5
Machine Translated by Google

Couches

Le menu "couche" décide quelles unités sont affichées dans la liste des unités sur le côté droit de l'écran. Il masque
également automatiquement les unités des autres couches que celle sur laquelle vous travaillez, à quelques
exceptions près pour les unités statiques et dynamiques, afin de faciliter le travail. De plus, seules les unités de la
couche actuelle peuvent être sélectionnées et modifiées.

Calques présents dans l'éditeur :


Statique Contient des unités telles que des paysages et des accessoires. Même les accessoires
qui peuvent être détruits se trouvent sous statique, à l'exception des accessoires de véhicule
destructibles.
Dynamique Contient des véhicules de travail ainsi que des versions d'accessoires de véhicules qui
peuvent être détruits, appelés couvertures.
Marqueurs Contient des marqueurs utilisés pour définir les bordures de la mini­carte,
la direction nord de la boussole, les points cinématiques et d'autres choses.
Lumière Contient des sources lumineuses supplémentaires.

Du son Contient des points sonores utilisés pour placer des sons d'environnement.

Lightmap

Électrique Contient tous les fils.

Props Brush Contient des brosses pour l'herbe, les petits débris, les décalcomanies et similaires.
Humain Contient toutes les IA humaines.

AI Graph Contient les graphiques de l'IA humaine et du véhicule.


Emplacements Contient toutes les zones.

Sous­couches

Certaines couches ont également des sous­couches, ce qui lui permet de n'afficher qu'une partie du
contenu de la couche dans la liste des unités à ce moment­là. Comme pour les couches, seules les unités de
la sous­couche actuelle peuvent être sélectionnées et modifiées.

Touches pour basculer entre les sous­couches statiques :


Ctrl+1 Statique (par défaut)
Ctrl+2 Petit statique (comprend les objets destructibles)
Ctrl+3 Paysage

Touches pour basculer entre les sous­couches dynamiques :


Ctrl+1 Couverture (par défaut)

Ctrl+2 Véhicules

La couche AI Graph a une fonction de basculement et n'affichera qu'un seul graphique à la fois, car travailler avec deux
graphiques affichés serait très ennuyeux.

Clé pour basculer entre les sous­couches AI Graph :


M Basculer entre les graphiques Humain (par défaut) et Véhicule.

6
Machine Translated by Google

Liste des unités

Le contenu de la "liste d'unités", et son existence, varient en fonction de la couche dans laquelle vous vous trouvez actuellement.

Elle possède un champ de saisie "masque" qui peut être utilisé pour filtrer le contenu de la liste actuelle. Le filtrage ne peut être
effectué qu'à partir du début du nom de l'unité et ne fonctionne pas avec des caractères génériques tels que "*" ou "?".

Dans les couches "Lumière", "Son" et "Emplacements" , la liste des unités contient des unités qui ont déjà été placées dans le
niveau, mais dans toutes les autres couches où elle est disponible, elle contient toutes les unités que vous pouvez sélectionner pour
créer.

Commandes L'éditeur

est contrôlé uniquement par des raccourcis clavier, à l'exception des deux menus abordés précédemment. Il n'y a
aucun moyen de les utiliser, vous devez donc simplement apprendre à les utiliser comme Grin l'a fait.

Alt + F4 Quitter l'éditeur

Ctrl + S Enregistrer le niveau

Ctrl + L Charger la dernière sauvegarde

Ctrl + Retour arrière Générer des lightmaps

Alt + Retour arrière Générer des silhouettes

Ctrl + K Calculer le graphique AI

Ctrl + F Calculer les points de couverture (après calcul du graphique AI)

L Spawn Player (à l'emplacement actuel de l'indicateur d'outil)

LES
Générer une mini­carte orthographique (nécessite des marqueurs)

Maj + O Générer une carte de cube (nécessite un marqueur)

F6 Basculer la lumière de l'éditeur ­ On / Off (par défaut)

F8 Basculer le mode ­ Éditeur (par défaut) / Première personne (nécessite un spawn)

F12 Afficher la console de l'éditeur (fournit des commentaires)

Pavé numérique ­ Basculer le mode d'information de l'unité (utilise les commandes FFM)

Pavé numérique / Basculer la fenêtre de statistiques de la vue de rendu

Alt + 1 (ou 2) Couche statique

Tout + 3 Couche électrique

Tout + 4 Couche de pinceau d'accessoires

Tout + 5 Couche humaine

Alt + 6 (ou 7) Couche dynamique

Tout + 8 Couche de marqueurs

Tout + 9 Couche graphique AI

7
Machine Translated by Google

Espace Entrer / Quitter le "Mode Vol Libre" (FFM)


Dans
Avancer en FFM (coordonnées de la caméra)
S
Reculer en FFM (coordonnées de la caméra)
UN
Déplacer vers la gauche en FFM (coordonnées de la caméra)
R
Déplacer vers la droite en FFM (coordonnées de la caméra)
ET
Déplacer vers le haut dans FFM (coordonnées mondiales)

Q Descendre en FFM (coordonnées mondiales)


Mouvement de la souris Faire pivoter la caméra

Défilement vers l'avant


Augmenter la vitesse de déplacement FFM
Faire défiler vers l'arrière
Diminuer la vitesse de déplacement FFM

N
Basculer l'alignement des lieux ­ Normal (par défaut) / Grille
g Augmenter la taille de la grille

Maj + G Diminuer la taille de la grille

Maintenez la touche TAB Afficher le plan de la grille

Souris 1 Sélectionnez l'unité

Souris 2 Placer l'unité

Souris 3
Snap Rotate Selected Unit (45 degrés ccw par clic)
Souris 4
Déplacer l'unité sélectionnée (le long de la normale ou sur la grille)

B
Choisissez le type d'unité sélectionné (à utiliser pour "placer l'unité")
Domicile Réinitialiser la rotation X et Y de l'unité

Du Supprimer l'unité sélectionnée

Flèche vers le haut Rotation libre de l'unité sélectionnée, axe Y (coordonnées de l'objet)
Flèche vers le bas
Rotation libre de l'unité sélectionnée, axe Y (coordonnées de l'objet)
Flèche gauche
Rotation libre de l'unité sélectionnée, axe Z (coordonnées de l'objet)

Flèche droite Rotation libre de l'unité sélectionnée, axe Z (coordonnées de l'objet)

Maj + flèche vers le haut Rotation libre de l'unité sélectionnée, axe X (coordonnées de l'objet)

Maj + flèche vers le bas Rotation libre de l'unité sélectionnée, axe X (coordonnées de l'objet)

Ctrl + flèche vers le haut Déplacer l'unité sélectionnée vers le haut (coordonnées mondiales)

Ctrl + flèche vers le bas Déplacer l'unité sélectionnée vers le bas (coordonnées mondiales)

Ce sont les contrôles à utiliser. Sur ce, je pense qu'il est temps de passer à la création d'un niveau en examinant de plus près la

couche statique .

8
Machine Translated by Google

Chapitre 3 : Couche statique Les


parties principales de tout niveau sont des unités statiques. Les paysages, les bâtiments, les plantes
et les accessoires sont tous inclus dans cette catégorie. Certains ont des versions destructibles ou
dynamiques qui sont plus chères à utiliser en termes de performances, alors essayez d'utiliser leurs
homologues statiques aussi souvent que possible sans sacrifier le jeu pour gagner de meilleurs FPS.

Lors de la combinaison d'unités statiques, il y a toujours le problème que vous ne pouvez pas
charger toutes les textures en mémoire en même temps. Pour cette raison, GRAW2 utilise des portées
de texture dans GRAW2, qui sont définies par niveau et décident des atlas de texture à utiliser lors
de la lecture de chaque niveau spécifique. Contrairement à GRAW1, ceux­ci ne seront pas prédéfinis
pour vous. L'éditeur a accès à toutes les textures, vous ne serez donc pas averti de ce problème, mais
une fois que vous aurez testé le niveau dans le jeu, vous obtiendrez un motif en damier bleu et jaune où
les textures manquent. Si cela se produit, vous avez la possibilité de supprimer ces accessoires et peut­
être de les remplacer par autre chose ou d'étendre la portée de la texture. J'expliquerai comment modifier
la portée de la texture plus tard dans le chapitre 13.

Paysage La
première chose que vous devrez ajouter à n'importe quel niveau est une unité statique de paysage, qui
agira comme le sol sur lequel les joueurs marcheront. Les unités de paysage disponibles se trouvent
dans la couche Statique [Alt+1] sous la sous­couche Paysages [Ctrl+3].

De nombreux paysages SP/Campaign Coop d'origine ont une toile de fond low­poly intégrée
qui ne peut pas être supprimée. Ces maisons low­poly ont également une faible qualité de texture
et manquent de collision, évitez donc de concevoir un niveau entre elles. ;) Les paysages ont
également des routes et d'autres déformations du sol spécialement conçues pour la conception
originale du jeu, qui ne peuvent évidemment pas être supprimées non plus, mais en plus de cela,
elles peuvent être utilisées pour construire des niveaux entièrement nouveaux. Certains paysages,
comme pour mission01 et mission07, ont des objets qui sont construits pour s'intégrer très exactement
au paysage, mais qui ne sont pas générés avec lui lorsque vous placez le paysage dans l'éditeur. Si
vous souhaitez utiliser un tel paysage, je vous suggère de copier les fichiers du niveau utilisant ce
paysage et de le nettoyer des unités que vous ne voulez pas, ce qui est le plus rapide dans le monde.xml
avec un éditeur xml, comme par exemple essayer d'aligner le pont dans le paysage mission01 à
l'intérieur de l'éditeur est pratiquement impossible.

Les moddeurs pourront créer leurs propres unités paysagères. Ils doivent être modélisés et UV­
Mappés dans 3DS Max, puis exportés et configurés avec les fichiers XML requis, sur lesquels ils
apparaîtront dans la liste parmi les autres paysages. Ce processus ne sera pas couvert dans ce tutoriel.

Une fois que vous avez sélectionné le paysage que vous souhaitez utiliser, passons aux autres
sous­couches.

9
Machine Translated by Google

Statique
De retour dans la sous­couche Statique [Ctrl+1] , vous trouverez toutes les grandes unités statiques comme
par exemple les maisons et les immenses panneaux d'affichage. Ce sont les principaux blocs de construction utilisés
pour former le niveau et créer des chemins que le joueur peut utiliser. Il n'y a rien de vraiment spécial à ce sujet, il suffit
donc de choisir ce que vous voulez dans la liste et de commencer à construire.

Petit statique
Dans le sous­niveau Small Static [Ctrl+2] , vous trouverez tous les accessoires plus petits qui peuvent être utilisés pour
ajouter des détails à votre niveau. Ici, vous pouvez également trouver des effets placables (utilisez un masque avec
"efx"), de la végétation (utilisez un masque avec "vgt") et des outils de conception de niveau utiles comme les collisions
de déménageurs pour empêcher les joueurs d'aller quelque part (utilisez un masque avec "mov") , les mannequins de
couverture pour les points de couverture supplémentaires de l'IA (utilisez le masque avec "cov") et le mannequin
ambiant pour les points d'échantillonnage ambiants supplémentaires autour des accessoires qui apparaissent en noir
(utilisez le masque avec "amb").

Il existe également des versions statiques de certains véhicules ici. La différence entre ceux­ci et ceux trouvés dans la

couche dynamique est qu'ils ne peuvent pas être détruits ou déplacés dans le jeu, et en tant que tels peuvent être utilisés
pour bloquer les chemins vers lesquels vous ne voulez pas que le joueur aille ou pour ajouter plus d'atmosphère où le le
joueur peut regarder dans les environs proches à l'extérieur du niveau et il serait inutile d'avoir un véhicule dynamique
coûteux en performances.

Bien qu'il n'y ait pas de véhicules dynamiques dans cette couche qui ne s'applique pas aux autres accessoires.
De nombreux petits accessoires existent en deux versions, mais lorsque c'est le cas, la convention de
dénomination varie un peu. L'un d'eux a toujours son type défini s'il existe deux versions. S'il y a une version
appelée "_dynamic", qui est évidemment dynamique et l'autre est statique, et s'il y en a une appelée "_static", celle­ci
est évidemment statique et l'autre dynamique. N'utilisez pas d'accessoires dynamiques là où le joueur ne peut pas se
rendre ou là où vous voulez empêcher le joueur d'aller. Les accessoires dynamiques sont beaucoup plus coûteux à utiliser
et doivent être évités aux niveaux MP autres que Campaign Coop où il y a peu de joueurs car ils doivent être synchronisés
entre les joueurs et de nombreuses unités dynamiques prendront beaucoup de bande passante.

Outre les unités dynamiques destructibles, il existe également des unités non destructibles qui sont affectées
par la physique du jeu, notamment le vent et la collision avec les personnages.
Lorsqu'il existe des versions optionnelles, celles­ci ont "_cloth_high", "_cloth_low" ou "_wind" dans leurs noms.
Comme d'autres objets dynamiques, essayez de les éviter dans les niveaux MP autres que Campaign Coop.

Enfin, il existe des accessoires matériels AGEIA (utilisez un masque avec "xag"). Celles­ci sont très coûteuses en CPU
et doivent être évitées à moins que la carte ne soit conçue pour les utilisateurs de matériel AGEIA. Les personnes
disposant d'un processeur haut de gamme peuvent probablement les gérer de toute façon, mais assurez­vous de tester
le niveau sur un tel ordinateur si vous souhaitez essayer de les utiliser sans carte AGEIA.

Cela devrait couvrir toute la couche statique . Passons à Dynamique.

dix
Machine Translated by Google

Chapitre 4 : Couche dynamique Dans la couche

dynamique [Alt+6] , vous trouverez tous les véhicules.

Lorsque vous placez des unités dynamiques, vous remarquerez qu'elles interagissent avec l'environnement.
Frapper des unités statiques les fera tourner et elles pousseront également d'autres unités dynamiques.
D'après mon expérience, la meilleure façon de placer un objet dynamique est d'utiliser FFM et de se rapprocher
le plus possible de la position à laquelle vous souhaitez placer l'unité, de quitter FFM, de sélectionner l'unité dans
la liste et de la placer soigneusement un peu au­dessus de la terrain. Il tombera et s'adaptera aux formes sur
lesquelles il se tient maintenant. Évitez de sélectionner d'abord l'unité dans la liste et essayez de la faire voler
avec FFM.

Couvrir
Dans la sous­couche Cover [Ctrl+1] , tous les véhicules dynamiques qui n'ont pas d'IA ou de séquences
animées peuvent être trouvés. La plupart sont simplement utilisés comme accessoires normaux, mais il existe
également des versions spéciales ici.

Certains d'entre eux ont construit des effets de feu, qui sont bien sûr plus coûteux à utiliser que les versions
sans feu. Ceux­ci ont "brûler" dans leurs noms. N'en utilisez pas trop à un niveau.

Il existe également des versions physiques lourdes du camion M1078, dont les capots sont affectés par le vent.
Ceux­ci ont "_high" et "_low" dans leur nom et doivent être utilisés avec précaution comme toutes les autres
unités pour les paramètres physiques plus lourds.

Sinon, utilisez simplement ces unités dynamiques comme des unités statiques, mais assurez­vous que le joueur
peut les déplacer depuis la position où vous les avez placées.

Véhicule
Dans la sous­couche Véhicule [Ctrl+2] on trouve tous les véhicules qui ont une IA ou qui sont des
séquences pré­animées. Pour utiliser les véhicules IA, vous devez avoir un graphique IA des véhicules sur la
carte.

Les véhicules ont également besoin d'espace pour se déplacer, alors pensez­y lorsque vous placez vos
accessoires et concevez votre niveau. Ils nécessitent un dégagement d'environ leur double largeur pour être
tout à fait sûrs de pouvoir passer des passages étroits. Ils nécessitent également un dégagement vers le haut qui
est calculé par le plus gros véhicule du jeu, alors ne placez pas trop de détails en surplomb là où vous voulez
que les véhicules IA puissent se déplacer.

Il est important de noter que les véhicules disposent de quelques options qui affectent leur utilisation dans le jeu.

Tout d'abord, ils ont besoin d'un nom unique afin que vous puissiez l'appeler depuis votre script de mission
pour les générer s'ils ne sont pas générés depuis le début, les supprimer du monde du jeu, les détruire ou
les utiliser dans les conditions pour les déclencheurs.

11
Machine Translated by Google

Deuxièmement, ils doivent être dans le bon emplacement d'équipe, "ami", "hostile" ou "neutre"
afin qu'ils interagissent correctement avec le joueur et les hostiles.

Enfin, ils doivent être préparés à la manière dont ils vont être utilisés, un peu plus précisément
comment ils vont démarrer la mission et si le joueur va pouvoir interagir avec. "Sequence spawn" démarre
le véhicule caché du monde et il doit être activé via le script de mission. "Séquence mort" démarre le véhicule
comme détruit lors de son apparition. "Enter_exit" définit si le joueur pourra entrer ou sortir du véhicule et il
apparaîtra dans le jeu en affichant les messages "appuyez sur x pour entrer" ou "appuyez sur x pour sortir"
au joueur une fois à proximité d'une entrée ou d'une sortie point.

Ordres

Vous remarquerez que vous ne pouvez pas placer de chemins pour que les véhicules se déplacent dans
l'éditeur. Toutes les commandes de véhicules doivent être ajoutées dans le script de mission. Certains
d'entre eux nécessiteront des coordonnées, qui peuvent être obtenues de différentes manières.

La première consiste à utiliser la fenêtre de statistiques [pavé numérique /], qui affiche entre autres les
coordonnées auxquelles se trouve actuellement la caméra. Cela peut être utilisé pour avoir une idée
approximative des coordonnées souhaitées.

La seconde consiste à placer des unités sur la carte et à leur donner un nom spécifique comme
"vehcile1_waypoint_a" et ainsi de suite, puis à enregistrer la carte. Quittez l'éditeur et ouvrez le world.xml dans
votre éditeur XML et faites une recherche sur le nom que vous avez donné à l'unité. Dans ses données, vous
trouverez les coordonnées exactes sur lesquelles il a été placé, que vous pourrez ensuite utiliser dans le script
de mission. N'oubliez pas de retirer ces unités factices plus tard.

C'est à quel point vous voulez que les coordonnées soient exactes, ainsi que s'il s'agit d'un véhicule
volant ou d'un véhicule au sol bien sûr. Vous devrez toujours tester les chemins dans le jeu pour faire les
derniers ajustements à la fin. Lorsque vous faites cela, rappelez­vous que les mouvements du véhicule
dépendent du FPS. Ils fonctionnent comme ils le devraient à environ 35 FPS et plus.
En dessous de cela, ils commenceront à s'écarter de la trajectoire définie car ils n'atteindront pas les
waypoints donnés à temps.

C'est toute l'information que je peux vous donner ici. Examinons la couche électrique .

12
Machine Translated by Google

Chapitre 5 : Couche électrique Lorsque

vous arrivez à la couche électrique [Alt+3] vous ne verrez… rien ! Pas de "liste d'unités" ou d'autre fenêtre
qui nous donne la moindre idée de ce qu'il faut faire. Eh bien, ne vous inquiétez pas parce que c'est vraiment
simple. La seule chose qui peut être faite dans cette couche est de placer des fils pour rendre le niveau plus
habité, pour simuler des fils électriques ou des fils téléphoniques par exemple.

Pour ce faire, faites un clic droit [Souris 2] à l'endroit où vous souhaitez que le fil commence, puis cliquez
avec le bouton droit [Souris 2] à l'endroit où vous souhaitez que le fil se termine. Pendant que le fil est
toujours sélectionné, vous pouvez régler le mou du fil en utilisant [Flèche vers le haut] pour diminuer le mou
et [Flèche vers le bas] pour augmenter le mou. Si vous souhaitez ajuster le jeu ultérieurement sur un fil,
sélectionnez simplement le fil avec un clic gauche [Souris 1] et utilisez les commandes fléchées. Vous ne
pouvez pas déplacer les points de début et de fin une fois qu'ils sont placés, donc si vous voulez les déplacer,
sélectionnez et supprimez simplement l'ancien fil [Supprimer] et créez­en un nouveau.

N'ayant plus rien à couvrir ici, passons au calque Son .

13
Machine Translated by Google

Chapitre 6 : Calque Son Lorsque vous

arrivez au calque Son (qui n'a pas de raccourci clavier), nous trouvons une « liste d'unités » vide. En effet, il n'y a
qu'un seul type d'unité à placer dans cette couche et la "liste d'unités" est plutôt utilisée pour répertorier toutes les
unités sonores placées actuellement dans le niveau.

Pour placer une nouvelle unité sonore, faites simplement un clic droit [Souris 2] et elle apparaîtra à l'endroit
où se trouve actuellement la caméra. Pour supprimer une unité sonore, sélectionnez­la dans la "liste des
unités" en cliquant dessus avec le bouton gauche [Souris 1] et en appuyant sur [Supprimer].

Pour chaque son que vous placez, vous avez la possibilité de lui donner un "nom", qui n'est utilisé que si vous
voulez pouvoir l'atteindre dans le script de mission afin qu'il ne soit pas couramment utilisé, et un "indice". Le «
cue » doit recevoir le nom du son que vous voulez jouer. Pour une liste complète des signaux sonores disponibles
dans le jeu original, consultez l'annexe 1 à la fin de ce didacticiel. En plus de tous les signaux sonores, il
répertorie également les banques de sons auxquelles chaque son appartient.

Maintenant que le niveau a reçu plus de sensations d'environnement, passons au calque Props Brush .

14
Machine Translated by Google

Chapitre 7 : Calque Props Brush Le calque Props Brush contient

de l'herbe ; petites unités de débris et décalcomanies utilisées pour ajouter la touche finale aux niveaux. Celles­ci sont utiles pour

supprimer les répétitions dans les unités plus grandes du niveau et ajouter également une sensation plus utilisée dans le niveau.

Ces unités sont "peintes" sur le niveau et ne se trouvent pas dans le "world.xml" comme les autres. Ils sont stockés dans un "massunit.bin"

crypté, donc si vous voulez supprimer toutes les unités placées avec cet outil, supprimez simplement ce fichier avant de démarrer l'éditeur

(ou pour être sûr, enregistrez toujours une copie quelque part au cas où vous changeriez d'avis) , et ils disparaîtront tous une fois l'éditeur

lancé.

Comme ce calque a un outil pinceau spécial, il a également des paramètres d'outils spéciaux pour le contrôler.

Contrôles du pinceau :
Souris 1 Unités de peinture.

Souris 2 Effacer les unités.

Paramètres de l'outil :
Roulement aléatoire Rotation aléatoire autorisée des unités peintes.

Rayon Taille du pinceau pour peindre ou effacer des unités.

Densité Quantité d'unités à peindre par mètre carré.

Pression Pression de la brosse. La pression maximale peint directement toute la densité.

Réduisez la pression des peintures progressivement jusqu'au réglage de la

densité.

Utiliser la pression lors de l'effacement Basculez pour utiliser la valeur de pression lors de l'effacement des unités.

Hauteur Définit la hauteur du pinceau pour créer un volume lors de l'effacement.

Remplacement d'angle Verrouille l'angle de rotation de la caméra.

Dans cette couche, la liste des unités contient toutes les unités qui peuvent être peintes sur la carte avec l'outil pinceau. Le champ

de saisie du masque fonctionne exactement de la même manière que dans les autres calques pour vous permettre de limiter les unités

affichées, par exemple, saisissez "vgt" pour obtenir de petits buissons et de l'herbe. Vous pouvez sélectionner autant d'unités que vous le

souhaitez en même temps en maintenant la touche [Ctrl] enfoncée pendant la sélection. Lorsque vous avez sélectionné plus d'une unité,

le pinceau les placera au hasard dans la taille de pinceau donnée et chacun d'eux recevra la rotation aléatoire définie dans les paramètres

de l'outil.

Une chose importante à noter est qu'il existe trois versions de chaque type d'herbe. Ceux­ci se clipsent à différentes distances du lecteur.

Il est préférable de les combiner là où vous voulez de l'herbe afin qu'elle devienne plus épaisse à mesure que vous vous rapprochez de

la pelouse. Néanmoins, vous devez faire attention à ne pas abuser de l'herbe longue portée car cela réduira la fréquence d'images de

quelques pas. Essayez de ne pas peindre l'herbe pour penser en général, équilibrez­la.

Maintenant, le niveau devrait être suffisamment détaillé, alors jetons un coup d'œil à la couche AI Graph au cas où le niveau serait utilisé

dans un mode de jeu avec des soldats ou des véhicules IA, sinon vous n'avez pas besoin de les placer.

15
Machine Translated by Google

Chapitre 8 : Couche AI Graph La couche AI Graph

[Alt+9] se compose de deux sous­couches. La sous­couche par défaut est la sous­couche Human AI Graph qui est la plus courante

à utiliser, mais elle contient également la sous­couche Vehicle AI Graph que vous pouvez également basculer en appuyant sur [M].

Remarque : les graphiques IA ne sont nécessaires que sur les cartes qui utilisent des unités IA humaines ou terrestres, donc pour les
modes de jeu MP normaux, aucun graphique IA ne doit être placé.

Un AI Graph est un réseau de nœuds, ou points de navigation pour l'IA, reliés par des chemins que l'IA peut utiliser pour se
déplacer entre les nœuds. Un seul de ces réseaux de chaque type est autorisé sur chaque carte. En d'autres termes, tous les nœuds

du Human AI Graph doivent se connecter les uns aux autres, et tous les nœuds du Vehicle AI Graph doivent se connecter les uns
aux autres. Les chemins de connexion ont une plage limitée, indiquée par le cercle entourant le pointeur de la souris dans cette

couche. C'est pour qu'ils n'essayent pas de se connecter à des nœuds trop éloignés. Lorsque vous placez chaque nœud, notez
comment il connecte automatiquement les nœuds environnants et assurez­vous que chacun des nouveaux chemins ne traverse aucun
objet sur la carte, sinon l'IA pensera qu'il peut y aller même s'il ne peut pas et finira par marcher vers l'objet et rester coincé.

Contrôles du graphique AI :
Souris 1 Sélectionnez le nœud.

Souris 2 Créer un nœud.

Souris 4 Déplacer le nœud.

Supprimer Supprimer le nœud sélectionné.

Le graphique de l'IA du véhicule permet une distance plus longue entre chaque nœud car les véhicules ont besoin de plus
d'espace pour se déplacer. Lorsque vous placez leur graphique AI, vous devez vous assurer qu'il y a suffisamment d'espace
autour de tous les chemins entre les nœuds pour au moins 2 véhicules de largeur. Assurez­vous également qu'il n'y a rien qui
pende bas sur le chemin car les véhicules ont besoin d'un bon dégagement pour passer.

La densité requise du Human AI Graph dépend de la zone environnante. L'IA utilisera les points de nœud comme points d'arrêt
principaux lors de l'exécution des ordres donnés, donc dans les zones ouvertes, la distance entre les nœuds doit être plus longue
pour permettre à l'IA de se déplacer plus rapidement dans cette zone. À proximité des objets, la densité devrait être plus élevée, en
particulier près des coins où il devrait y avoir un nœud de navigation de chaque côté en raison du système de couverture. Le système
de couverture est construit par des points de couverture placés dans les unités avant qu'elles ne soient exportées de Max. Chaque
point de couverture qui n'a pas de nœud de navigation dans un rayon défini par le moteur sera retiré de l'utilisation, tous les autres
sont automatiquement connectés au point de navigation dans leur rayon au début du niveau afin que l'IA puisse les utiliser.

Le graphique de l'IA du véhicule ne devrait jamais avoir une densité élevée, comme mentionné précédemment, les véhicules
ont besoin de plus d'espace pour tourner et se déplacer, et ils n'utilisent pas non plus de points de couverture.

16
Machine Translated by Google

Assurez­vous que le graphique de l'IA humaine et le graphique de l'IA du véhicule couvrent toutes les zones de
la carte où l'IA amie ou hostile de l'un ou l'autre type peut se déplacer. L'IA doit trouver des nœuds proches d'eux
afin qu'ils sachent où ils sont autorisés à aller, sinon ils ne bougeront pas. Flying AI n'utilise pas les graphiques
AI.

Génération de graphes AI Une

fois que vous avez placé votre graphe, il doit être calculé et crypté dans les fichiers ai.gph et
ai_course.gph que le jeu utilisera. Cela se fait en appuyant sur [Ctrl + K]. Maintenant, vous penserez que
votre ordinateur s'est verrouillé, mais ce n'est pas le cas.
Le calcul des graphiques AI prend un peu de temps et il n'y a actuellement aucun retour sur le chemin
parcouru, pas même dans la console de l'éditeur [F12]. Mais une fois que vous pouvez à nouveau déplacer le
curseur de la souris, c'est fait et prêt à être utilisé dans le jeu.

Assurez­vous que les fichiers créés en calculant les graphiques AI sont connectés au niveau à l'intérieur du
fichier world_info.xml , qui est traité au chapitre 13, sinon ils ne seront pas utilisés.

Génération de points de couverture

Une fois le graphique AI calculé, vous pouvez également générer des points de couverture
supplémentaires [Ctrl + F] basés sur le paysage lui­même, qui se retrouveront dans un fichier appelé
coverpoints.xml dans votre dossier de niveau. Cela n'est pas nécessaire sur les villes comme les cartes qui
sont assez plates et ont de nombreux bâtiments, car les bâtiments ont déjà des points de couverture intégrés
à tous les coins et d'autres bonnes positions de couverture, qui seront utilisées automatiquement tant qu'il y aura
des nœuds de graphique AI relativement proches à eux afin qu'ils puissent les trouver.

Cette fonction est créée pour générer des points de couverture sur des paysages plus ouverts comme les
milieux ruraux, et doit avoir un graphique d'IA calculé pour fonctionner et en tant que tel n'est pas nécessaire
sur des niveaux qui ne sont pas conçus pour être joués sans unités d'IA.

Remarque : Ce que fait l'éditeur, c'est rechercher des variations dans la géométrie de niveau autour des nœuds du
graphique de l'IA et envoyer des rayons à partir de ces positions pour vérifier les bons points de couverture que l'IA peut
utiliser.

Tout comme avec les graphiques AI, vous devez vous assurer que les points de couverture supplémentaires
sont connectés au niveau à l'intérieur du fichier world_info.xml , sinon ils ne seront pas utilisés.

Sur ce, je pense que nous devrions passer à la couche humaine .

17
Machine Translated by Google

Chapitre 9 : Couche humaine La couche humaine

[Alt+5] contient toutes les IA humaines, hostiles et amicales selon l'unité que vous utilisez. Chaque nœud humain placé représente un

groupe d'unités IA, dont le nombre de soldats varie en fonction du groupe sélectionné et est indiqué par les petits globes rouges au­

dessus de leur nœud. Les unités et les équipements dont ils disposent, ainsi que si le groupe est amical ou hostile, sont définis dans un

fichier appelé "group_manager.xml", et ne peuvent pas être modifiés dans l'éditeur. Une fois qu'un nœud humain a été placé ou

sélectionné, vous obtenez une boîte d'options pour celui­ci, dans laquelle vous sélectionnez les caractéristiques du groupe.

Cette couche réutilise les mêmes contrôles pour différentes choses selon le type de commande que le groupe a reçu et le mode dans

lequel vous vous trouvez.

Contrôles humains :

Souris 1 Sélectionnez le nœud.

Souris 2 Créer un nœud.

Souris 4 Déplacer le nœud.

Supprimer Supprimer le nœud sélectionné.

Contrôles d'ordre Sniper, SniperKneeling et SniperStanding :


Souris 3 Placer le cône du couvercle au centre.

Contrôles d'ordre de garde :

P Placez la zone de garde.

Souris 3 Placer le rayon de la zone de garde (après avoir appuyé sur P)

Souris 4 Déplacez le nœud humain.

Contrôles d'ordre de patrouille :

Insérer Basculer en mode chemin de patrouille.

P Placer le premier nœud du chemin de patrouille

Souris 1 Placer le nœud du chemin de patrouille

Souris 3 Supprimer le dernier nœud du chemin de patrouille dans la chaîne.

Souris 4 Déplacez le nœud humain.

18
Machine Translated by Google

Options de nœud humain :


Nom Nom du groupe (pas nécessaire).

ID de groupe L'ID du groupe qui est utilisé pour l'appeler dans les scripts de
mission. Ceci est important car vous ne pourrez pas activer le groupe
à moins que vous ne connaissiez le nom et tous les groupes portant
le même nom répondront aux mêmes appels de script, y compris les
vérifications de condition.
Ordre Comment le groupe se comportera une fois créé. "Patrouille" activera
les options "type de patrouille" .
Équipage Définissez si le groupe est l'équipage d'un véhicule. S'ils le sont,
ils apparaîtront avec ce véhicule et aucune commande de script
supplémentaire ne sera nécessaire.
ID transport Si le groupe est défini comme équipage, vous devez donner l'ID
du transport auquel il appartient.
Type de groupe Définit le modèle de groupe à utiliser. Le modèle définit le nombre
d'unités dans le groupe, l'équipement et l'apparence de chaque
unité ainsi que l'alignement du groupe.
Type de patrouille Lorsqu'un groupe est réglé sur "patrouille" dans "ordre", vous
définissez ici de quel type de patrouille il doit s'agir.

Type de commande :
Garder Se déplacera à l'intérieur d'une zone donnée.
Patrouille Utilisera le type de patrouille donné.

Tireur d'élite Couvrira une zone de cône donnée.

Tireur d'éliteS'agenouiller Couvrira une zone de cône donnée toujours à genoux.

Tireur d'élitedebout Couvrira une zone de cône donnée toujours debout.


Aucun Restera juste immobile sur place.

Types de patrouille :

Loop_Idle Suivez les nœuds de patrouille dans l'ordre et lorsque vous êtes
à la fin, recommencez avec le premier nœud pour créer une
boucle infinie. L'IA agira détendue.
Loop_Recon Suivez les nœuds de patrouille dans l'ordre et lorsque vous êtes
à la fin, recommencez avec le premier nœud pour créer une
boucle infinie. L'IA agira alerte et prête.
Moveguard_Idle Suivez les nœuds de patrouille dans l'ordre, qui se terminent par
une zone de garde dans laquelle l'IA se déplacera au hasard.
L'IA agira détendue.
Moveguard_Recon Suivez les nœuds de patrouille dans l'ordre, qui se terminent par
une zone de garde dans laquelle l'IA se déplacera au hasard.
L'IA agira alerte et prête.
Pingpong_Idle Suivez les nœuds de patrouille dans l'ordre et, à la fin, suivez­
les dans l'ordre inverse pour créer un chemin oscillant infini.
L'IA agira détendue.
Pingpong_Recon Suivez les nœuds de patrouille dans l'ordre et, à la fin, suivez­
les dans l'ordre inverse pour créer un chemin oscillant infini.
L'IA agira alerte et prête.

19
Machine Translated by Google

L' ordre de garde utilise une zone de garde, qui est par défaut la position des groupes avec un rayon
défini. Il peut être facilement déplacé en appuyant sur [P] pour définir le nouveau centre de la zone, puis
en utilisant le bouton central de la souris [souris 3] pour définir la limite extérieure de la zone. Vous
pouvez également éloigner le groupe de la zone en utilisant le bouton de la souris [mouse 4] à l'endroit
où vous souhaitez placer le groupe. Lorsque le groupe commence à l'extérieur de la zone de garde, il
commencera par courir vers la zone aussi vite que possible. Si vous voulez qu'ils ralentissent et suivent
un chemin spécifique, vous devez plutôt leur donner un ordre de patrouille "moveguard" .

Les ordres Sniper, SniperKneeling et SniperStanding permettent de définir un cône à couvrir par l'IA.
Ce cône de tireur d'élite peut être ajusté en appuyant sur le bouton central de la souris [souris 3] au point
où le centre du cône, que le tireur d'élite doit se concentrer pour couvrir, doit se trouver. La différence
entre les différents ordres de tireur d'élite est seulement que vous pouvez forcer l'IA à adopter une position
debout ou accroupie pour éviter les positions indésirables dans les situations où elles créeraient un
écrêtage d'objets. Si l'ordre normal est donné, l'IA agira d'elle­même.

L' ordre None laissera simplement l'IA debout à l'endroit où vous la placez.

L'ordre de patrouille vous permet de définir un chemin de patrouille que l'IA essaiera toujours de suivre
à moins qu'elle n'ait détecté l'équipe du joueur. Cela se fait en passant en mode chemin de patrouille
[Ins] avec l'unité sélectionnée et en plaçant des nœuds de patrouille qui se connectent automatiquement
à un chemin de patrouille. En définissant le type de patrouille, vous pouvez décider comment l'IA utilisera
le chemin de patrouille. Soit ils le suivront jusqu'à la fin puis le suivront jusqu'au début, et continueront
comme ça pour toujours, ce qui est la version "pingpong" . Vous pouvez également leur faire «boucler» le
chemin, qui relie les premier et dernier nœuds dans un chemin sans fin. La dernière option consiste à faire
voyager l'IA le long du chemin jusqu'à la fin, puis à y installer une zone de garde, qui est la version
"moveguard" .

Assurez­vous lors de la création de chemins de patrouille qu'ils ne traversent pas d'objets sur lesquels l'IA
peut se coincer. Tous les types de patrouilles sont effectués à peu près à la même vitesse. Dans les
versions alert, "recon", ils se déplacent un peu plus vite qu'en relax, "idle", mais comme ils se mettent
aussi à l'abri très souvent ce qui aboutit à une vitesse de déplacement assez égale.

Il n'y a pas grand­chose de plus que cela impliqué dans le placement des humains, alors passons à la
couche Emplacements .

20
Machine Translated by Google

Chapitre 10 : Couche Emplacements La couche

Emplacements est utilisée pour placer des zones ou des zones qui peuvent être utilisées pour détecter des choses et à
travers cela agir comme des déclencheurs, ou pour pointer des cibles pour certains des événements de script.

Dans cette couche, la "liste des unités" est utilisée pour répertorier tous les emplacements actuellement placés sur le
niveau pour un accès rapide à ceux­ci. Il existe également une fenêtre de paramètres spéciaux dans cette couche où vous
pouvez sélectionner l'outil de forme d'emplacement que vous souhaitez utiliser lors du placement de l'emplacement, ainsi
que d'autres paramètres pour les emplacements eux­mêmes.

Les paramètres de localisation:

Forme Définissez l'outil de forme à utiliser lors du dessin de l'emplacement actuel.

Altitude Utilisé pour ajuster l'altitude de l'emplacement une fois qu'il a été placé.

Nom Le nom de l'emplacement qui est utilisé dans les scripts de missions

pour l'utiliser.
Hauteur Hauteur au­dessus du plan inférieur de l'emplacement.
Utilisé pour les formes "boîte", "cylindre" et "polygone" .

Formes d'emplacement :
boîte sphère Cercle

cylindre carré Polygone

"Carré" et "Cercle" sont des emplacements 2D qu'il est préférable d'utiliser sur des surfaces planes.

« Sphère » est un volume 3D de même hauteur que largeur. « Boîte », « cylindre » et « polygone » ont
une variable « hauteur » qui définit la hauteur au­dessus de la zone placée que leur volume 3D doit couvrir.

Contrôles de localisation :
Souris 1 Emplacement du lieu.

Souris 2 Finaliser l'emplacement sélectionné et créer un nouvel emplacement.

Souris 4 Déplacer l'emplacement.

Supprimer Supprimer l'emplacement sélectionné.

La sélection d'emplacements déjà placés ne peut se faire que via la fenêtre "liste d'unités" en utilisant le bouton
gauche de la souris [souris 1].

Avertissement

L' outil de localisation « polygone » est très instable. Évitez de l'utiliser si possible. Si vous devez l'utiliser, enregistrez dès
que vous avez terminé de placer un emplacement car les probabilités que l'éditeur se bloque peu après ou pendant sont très
élevées.

C'est tout pour les emplacements; passons au calque Makers .

21
Machine Translated by Google

Chapitre 11 : Couche Marqueurs La couche Marqueurs

[Alt+8] est utilisée pour placer des marqueurs afin de définir les bordures de la mini­carte, la direction nord de la boussole,
le point de rendu de la carte cubique et les points de caméra cinématiques. Une fois que vous avez placé un marqueur, vous
obtiendrez une fenêtre de paramètres qui contient une liste des versions disponibles afin que vous puissiez facilement définir le
marqueur sur le type souhaité.

Contrôles des marqueurs :


Souris 1 Sélectionnez le marqueur.

Souris 2 Créer un marqueur.

Souris 4 Déplacer le marqueur.

Supprimer Supprimer le marqueur sélectionné.

Paramètres des marqueurs :


Nom Nom du marqueur, qui est important pour les marqueurs
d'animation et de cinématique afin qu'ils puissent être référencés à partir
du script de mission.
Taper À quoi doit servir le marqueur.

Altitude Les marqueurs d'altitude dans le monde.

Types de marqueur :
Animation_Point Utilisé avec l' élément de script "PlayCustomAnimation" . Voir le tutoriel
de script.

Caméra_Cinématique Utilisé pour positionner la caméra en cinématique.

Camera_Team_Select_A

Camera_Team_Select_B

Boussole_Nord Coordonnez­vous au cap nord sur la carte.

carte cubique Coordonner pour générer cubemap à partir de.

Minicarte Définit les bordures de la carte pour la mini­carte.

Cible Utilisé pour viser la caméra en cinématique.

L'utilisation la plus courante sur cette couche est la définition des bordures de la "minicarte" . Ces coordonnées sont importantes
car elles sont utilisées pour calculer les emplacements des icônes sur les mini­cartes multijoueurs. Ils sont également utilisés par
la génération de mini­carte car cela correspond également aux bonnes coordonnées. Vous pouvez placer n'importe quel nombre
de marqueurs de mini­carte autour du bord ou de la zone que le joueur peut utiliser, mais il n'utilisera que les extrêmes lors de la
création de la mini­carte. En d'autres termes, les coordonnées x et y les plus hautes et les plus basses parmi les marqueurs de la
mini­carte. Ces valeurs doivent également être entrées dans les cartes world_info.xml , qui seront couvertes plus tard dans le
chapitre 13, afin que les positions des caractères puissent être calculées.

La deuxième utilisation la plus courante des marqueurs est de définir la direction "nord de la boussole" . Ceci est

nécessaire pour que la boussole sur le HUD du joueur fonctionne correctement.


Placez­le simplement en dehors de la carte dans la direction souhaitée.

22
Machine Translated by Google

Le marqueur « cubemap » est utilisé pour définir la position à partir de laquelle les niveaux cubemap doivent
être générés. Le cubemap des niveaux est utilisé par tous les shaders où l'environnement se reflète sur les
surfaces, comme les fenêtres et les lunettes d'arme.

Les marqueurs "point d'animation" sont utilisés pour définir des points pour jouer des animations personnalisées
à travers le mission.xml pendant les cinématiques.

Enfin, il y a les types de marqueurs utilisés par les scripts cinématographiques dans le fichier mission.xml.
"target" est utilisé pour pointer la caméra vers quelque chose, tandis que "camera_cinematic" est utilisé pour
définir les chemins et les emplacements de la caméra. Pour plus d'informations sur les endroits où ils sont
nécessaires, recherchez les événements cinématographiques dans le didacticiel "GRAW2 : Scripts pour
débutants" .

Cela couvre toutes les couches de l'éditeur. Pensez à sauvegarder souvent dans l'éditeur car c'est un peu
instable. Chaque fois que vous enregistrez, un nouveau fichier incrémentiel "world_X.xml" est créé auquel
vous pouvez toujours revenir en l'utilisant pour remplacer le fichier "world.xml" dans votre dossier de niveau,
de sorte que chaque sauvegarde crée une nouvelle sauvegarde.

Examinons maintenant d'autres fonctions de l'éditeur que vous devrez probablement utiliser.

23
Machine Translated by Google

Chapitre 12 : Fonctions supplémentaires de l'éditeur Il


y a quelques fonctions intégrées dans l'éditeur qui ne dépendent pas de la couche,
et ce chapitre les couvrira.

Mode première personne


Pour pouvoir tester rapidement si le placement des unités est bon pour le jeu, s'il empêche
éventuellement le joueur de traverser un passage que vous aviez prévu pour permettre au joueur
d'utiliser ou si le joueur peut sortir de la carte d'une manière ou d'une autre , vous pouvez créer un
personnage joueur et passer en mode première personne dans l'éditeur. Pour ce faire, placez
d'abord l'icône de la souris à l'endroit où vous souhaitez faire apparaître le personnage, puis appuyez
sur [L]. Vous verrez maintenant le personnage du joueur se tenir là sur la carte, ce qui peut également
être utile pour vérifier les hauteurs tout en construisant des obstacles et autres choses. Pour entrer
en mode première personne, appuyez simplement sur [F8] et maintenant les commandes sont
comme lorsque vous contrôlez le personnage à l'intérieur du jeu et vous êtes libre de courir et de tirer
sur l'environnement. Vous pouvez à tout moment appuyer à nouveau sur [F8] et revenir en mode
éditeur pour continuer à travailler sur le niveau ou modifier tout ce que vous avez remarqué.

Génération de la mini­carte
Une fois que les marqueurs ont été placés autour de la bordure de la partie jouable de la carte,
la génération de la mini­carte est un travail rapide en appuyant sur [O]. Vous devriez avoir des cartes
lumineuses et des silhouettes déjà générées lors de la création de la mini­carte, sinon cela se révélera
étrange.

Remarque : lorsque vous faites cela, vous devez avoir la résolution de l'éditeur (qui est la même que la résolution du
jeu définie dans le jeu, pas dans l'éditeur) doit être d'au moins 1024 pixels de hauteur, sinon vous obtiendrez un
message d'erreur indiquant votre résolution est trop faible pour que la génération réussisse. Cela fait de la résolution
1280x1024 trouvée sous les rapports d'aspect 5: 4 une bonne option en tant que réglage le plus bas pour permettre la
génération de mini­cartes.

Les fichiers de sortie de la génération se trouvent dans le dossier du niveau, par exemple dans le
dossier appelé "tutoriel" utilisé dans ce tutoriel. Vous y trouverez deux versions. La première est la
carte prête à l'emploi, que vous pouvez également pimenter dans n'importe quel logiciel d'édition de
texture de votre choix comme les minicartes originales. La seconde est la même carte mais générée
avec tous les emplacements dessus. Ceci est utile lors de l'édition de la carte pour les modes de jeu
Siege et Hamburger Hill, car ceux­ci ont besoin de représentations visuelles peintes sur la texture de
la mini­carte pour leurs emplacements critiques du jeu afin que les joueurs puissent les trouver.

Les textures de la mini­carte peuvent être situées dans le dossier de niveau lui­même et n'ont pas
besoin d'être placées dans le dossier des textures comme pour les cartes d'origine. La mini­carte à
utiliser avec quel mode de jeu et les chemins pour trouver chaque mini­carte sont définis dans le
fichier world_info.xml, et nous verrons comment le configurer au chapitre 13.

24
Machine Translated by Google

Génération de Cubemap Le
cubemap est utilisé pour créer des reflets de l'environnement dans des surfaces auxquelles
ont été attribués des shaders avec cette propriété, qui incluent des objets comme des
fenêtres et des verres de lunette d'arme. Vous devriez avoir les lightmaps et les silhouettes
générées lors de la création du cubemap ou cela se révélera étrange.

Pour générer le cubemap [Shift + O] pour un niveau, vous devez d'abord avoir placé un marqueur pour
celui­ci, à partir duquel il générera 6 images nécessaires pour créer un cube environnemental.

Le cubemap généré se retrouvera dans un dossier appelé "cubemaps" sous votre dossier de niveau, qui
serait dans "data/levels/custom_levels/tutorial/cubemaps" pour mon exemple. Vous devrez assembler une carte
cubique à partir de ces 6 images en les combinant dans un logiciel d'édition d'images de votre choix. Ils doivent
être alignés sur une seule texture de 384x64 pixels dans un ordre spécifique et avec des rotations spécifiques.
Il n'y a jamais eu de script automatisé pour cela, nous ne pouvons donc pas en fournir un. L'exemple ci­dessous
est un cube map assemblé pour le niveau Nowhere et les nombres rouges sont les noms des textures générées.

Ordre exact et rotation nécessaires sur la carte du cube :

Rotations nécessaires sur les textures générées et ordre à placer sur la nouvelle texture :
Carte cubique 3 Rotation de 90 degrés dans le sens des aiguilles d'une montre

Carte cubique 4 Rotation de 90 degrés dans le sens inverse des aiguilles d'une montre

Carte cubique 6 Ne devrait pas être tourné.

Carte cubique 5 Tourner à 180 degrés


Carte cubique 2 Rotation de 90 degrés dans le sens des aiguilles d'une montre

Plan cubique 1 Rotation de 90 degrés dans le sens inverse des aiguilles d'une montre

Vous devez également niveler la nouvelle texture pour la rendre plus lumineuse et avec un contraste plus
faible. Dans Photoshop, par exemple, vous devez utiliser l' outil "Luminosité/Contraste" avec une luminosité
réglée à environ +35 et un contraste à environ ­20.

Une fois cela fait, enregistrez le cubemap avec le nom "cube" en tant que fichier DDS (DXT5) ou TGA dans le
dossier de texture cubemap dédié à votre niveau. Il se trouve sous "data/textures/custom_levels/" suivi du nom
de votre niveau, puis dans son dossier "cubemaps" , nommé "data/textures/custom_levels/tutorial/cubemaps"
pour mon exemple. Ce dossier est déjà connecté à la portée de texture par défaut des niveaux et devrait
fonctionner immédiatement dans le jeu.

Remarque : La raison pour laquelle l'image générée n'est pas placée dans le bon dossier est que vous ne voulez pas charger
plus de 4 Mo de textures en mémoire par erreur. La façon dont c'est maintenant, cela ne peut pas arriver.

25
Machine Translated by Google

Les lightmaps de génération


Lightmap sont utilisés dans GRAW2 pour les unités plus grandes afin de réduire les ressources système
nécessaires pour générer des ombres dynamiques pour tout.

Ils doivent être régénérés après que des objets qui n'utilisent pas d'ombres dynamiques, qui sont
généralement des unités plus grandes, ont été ajoutés, supprimés ou déplacés. Ils doivent également être
régénérés si des mannequins ambiants ont été ajoutés pour alléger un accessoire.

Les points ambiants sont inclus dans les maillages du paysage ainsi que ceux des unités plus grandes.
Ils sont utilisés pour définir la tonalité lumineuse des accessoires placés à proximité en échantillonnant
l'obscurité de la carte lumineuse à la position du point ambiant, puis en l'ajoutant aux accessoires.
Pour que cela fonctionne, il doit y avoir au moins un point ambiant à proximité de chaque accessoire,
sinon les accessoires manquant un point ambiant à proximité deviendront sombres. Comme vous ne pouvez
pas entrer dans 3DS Max et ajouter des points ambiants exactement là où vous en avez besoin, lorsque ces
problèmes surviennent, il existe un mannequin ambiant qui se trouve dans la couche statique [Alt+1] sous le
sous­niveau Small Static [Ctrl +2] en utilisant "amb" dans le filtre de masque. Placez simplement l'un de ces
mannequins à proximité de n'importe quelle unité sombre, puis régénérez les lightmaps afin que les
mannequins échantillonnent dans les valeurs à utiliser, et cela devrait résoudre le problème.

La génération de Lightmap commence à prendre très longtemps, alors ne le faites que lorsque vous en
avez absolument besoin. Vous pouvez tester le niveau sans lightmaps, ou avec d'anciennes lightmaps, car
elles n'ont pas besoin d'être générées si vous voulez créer un bundle comme c'était le cas dans GRAW1.
L'outil bundle est maintenant un outil séparé dans GRAW2, qui n'est pas couvert dans ce tutoriel.
Lorsque vous êtes sur le point de générer une lightmap, je vous suggère d'activer d'abord la console de
l'éditeur [F12] car c'est le seul endroit où vous obtiendrez des commentaires sur le processus de génération
de lightmap. Ensuite, activez­le [Ctrl + Retour arrière] et allez vous coucher ou rendez visite à un ami.

Remarque : La génération de Lightmap chez Grin prenait généralement entre 1 et 4 heures selon la taille du niveau et le
nombre d'unités dessus, avec des fermes de rendu utilisant 4 ou 5 ordinateurs.

Conseil : Si vous souhaitez générer une carte lumineuse plus rapide, vous pouvez modifier les
paramètres de la carte lumineuse dans sb_global.xml. Recherchez les deux lignes appelées
"lightmap_render_quality" et "lightmap_size_quality", puis réduisez­les de "moyen" à "faible". Cela devrait réduire le
temps de rendu à environ 20­25% mais avec une qualité médiocre. Il peut être bon de simplement tester et faire évoluer
le niveau, puis de le remettre sur "moyen" avant de générer la lightmap finale avant la distribution.

Une fois les lightmaps générées, elles se trouvent dans un dossier appelé "lightmaps" sous "data/
textures/custom_levels" et votre dossier de niveau, qui serait dans "data/textures/custom_levels/tutorial/
lightmaps" pour mon exemple de niveau.
Ce dossier est déjà lié à la portée de la texture des niveaux afin qu'ils soient visibles dans le jeu et
également dans l'éditeur directement après la génération.

Remarque : Il est facultatif pour vous de créer un atlas de la lightmap générée avec l' outil « atlasgen » .
Cela rendra vos cartes lumineuses plus petites et augmentera également les performances de jeu de votre carte. Regardez
dans le dossier du générateur d'atlas pour plus d'informations sur son utilisation. Une fois qu'un atlas a été généré, vous
devez supprimer tous les anciens fichiers TGA ou ils seront toujours chargés en mémoire. Copiez­les dans un autre dossier
pour commencer afin de ne pas avoir à les régénérer au cas où vous auriez des problèmes avec les lightmaps de l'atlas.

26
Machine Translated by Google

Silhouette Generation GRAW2

utilise un système de silhouette, qui sont les textures pour la deuxième étape LOD avec des
cartes lumineuses intégrées. Ceux­ci doivent être générés pour chaque carte ou la deuxième
étape LOD ressemblera à des damiers bleus et jaunes, ce qui n'est pas causé par des erreurs dans
la portée de la texture.

La génération est facile à faire, appuyez simplement sur [Alt + Backspace] et le processus commencera
comme avec les lightmaps. Une fois les silhouettes générées, elles seront situées dans un dossier appelé
« silhouettes » sous « data/textures/custom_levels » et votre dossier de niveau, qui serait pour mon exemple le
niveau dans « data/textures/custom_levels/tutorial/silhouettes ». Ce dossier est déjà lié à la portée de la texture
des niveaux afin qu'ils soient fonctionnels dans le jeu directement après la génération.

Remarque : Tout comme pour les lightmaps, il est facultatif de créer un atlas avec les silhouettes
en utilisant l' outil « atlasgen » . Cela améliorera les performances de la carte. Une fois cela fait, pensez
à supprimer les fichiers TGA générés par l'éditeur afin qu'ils ne soient pas chargés en mémoire avec
votre nouvel atlas.

Outils d'optimisation Deux


outils sont disponibles dans l'éditeur pour vérifier si les niveaux et les objets sont
raisonnablement optimisés.

Statistiques de la vue de rendu

La fenêtre Render View Stats [Numpad /] affiche le fps actuel, le nombre de triangles actuellement affichés
dans la vue de la caméra, le nombre de lots et de commutateurs de texture utilisés pour générer l'image
actuelle, le rapport triangle / lot actuel et également à quelle position dans le monde la caméra se trouve­t­elle
actuellement.

Avec cet outil activé, vous pouvez naviguer sur la carte en vol libre ainsi que générer dans [L] un caractère
que vous pouvez entrer [F8] pour vous assurer que vous voyez la carte au bon niveau depuis le sol, et obtenir
rétroaction directe sur l'état actuel du niveau.

Exemple d' informations Render View Stats de Fort :

Comme vous pouvez le voir dans l'image ci­dessus, l'éditeur codera en couleur toutes les informations qui
sont d'une plus grande importance dans le cadre actuel. Le rouge est mauvais, le bleu est bon et le vert est bon
mais inefficace.

27
Machine Translated by Google

Dans l'exemple ci­dessus, le nombre de triangles est correct ainsi que le nombre de lots envoyés au processeur.
Mais la valeur du commutateur de texture est trop élevée, ce qui est dû au fait que de nombreux matériaux
différents sont utilisés sur les corps actuellement rendus dans la vue. Comment résoudre ce problème dans le
modèle lui­même n'est pas important dans ce didacticiel, mais vous devriez essayer de garder ces valeurs loin du
rouge si possible. Le ratio triangle par lot est faible, car il n'y a pas d'objets high poly dans la vue à ce moment­là.

Mode d'information sur l'unité

Ce mode utilise sa propre caméra de vol libre et avec elle, vous pouvez voler et consulter les statistiques et les
informations sur des unités spécifiques. Avec cela, vous pouvez ainsi trouver quelles unités sont les plus chères à
utiliser car cela montrera combien d'objets qu'elles contiennent, ainsi que le nombre de polygones que chacun
d'eux contient, s'ils sont instanciés (ce qui est bien si vous utilisez beaucoup de cet objet dans le niveau), combien
de textures il utilise et quelles textures il utilise.

Avertissement : Cet outil est un peu instable et peut provoquer des plantages de l'éditeur assez souvent.

Il montre également les emplacements dans la hiérarchie de ces textures, le fichier materials.xml qui définit les
shaders utilisés, le fichier diesel de l'unité, ainsi que le fichier max à partir duquel il a été exporté et son emplacement.
Outre ces informations utiles, il indique également qui a exporté l'unité en dernier et quel est le nom de l'unité.

Exemple de mode d'information d'unité utilisé sur un palmier sur Fort :

Ce mode sera très utile pour vérifier les unités personnalisées une fois qu'elles ont été implémentées
dans le jeu pour voir si elles doivent être optimisées davantage dans 3DS Max, ou peut­être être retexturées
avec moins de textures pour améliorer les performances du jeu.

Comme on le voit dans l'exemple ci­dessus, cette unité a deux objets graphiques et trois objets de collision (qui
sont utilisés pour réduire l'utilisation du processeur lors du calcul de la physique), ainsi que cinq textures dont
deux sont des textures diffuses, deux sont des cartes normales et une est une masque de translucidité pour les
feuilles. Le nombre de polygones pour l'arbre est de 2150 triangles, ce qui est correct pour une si grande unité. Si la
valeur des sommets par triangle pour un maillage est supérieure à 1,00, ce maillage doit être examiné dans 3DS
Max pour essayer de l'optimiser davantage.

Une fois ces fonctions d'éditeur supplémentaires couvertes, il est maintenant temps de jeter un œil aux derniers
correctifs à l'extérieur de l'éditeur afin que le niveau puisse être utilisé dans le jeu.

28
Machine Translated by Google

Chapitre 13 : Corrections finales Une


fois le travail d'éditeur terminé, certains fichiers doivent être ajoutés pour que le niveau fonctionne dans
GRAW2. Comme cela doit être fait d'une certaine manière, je vais commencer par utiliser des exemples ici
qui devraient être faciles à suivre. Comme au chapitre 1, j'utiliserai un niveau dans un dossier appelé
"tutoriel" pour tous les exemples.

Changer d'environnement Si vous


voulez un autre environnement que celui par défaut, qui deviendra assez ennuyeux après un certain
temps, voici ce que vous devez faire. Pour commencer, vous avez besoin d'un fichier d'environnement.
Le moyen le plus simple consiste à en copier une à partir d'une carte du jeu original qui a le type de
réglage que vous souhaitez.

Je vais utiliser le fichier d'environnement de "mission01", donc je copie le "environments.xml" de ce


dossier dans mon dossier "tutoriel" .

Si vous ouvrez le fichier "environments.xml" , vous trouverez une balise à environ 15­20 lignes appelée
"<env name="default">". À l'intérieur de celui­ci, vous pouvez voir lesquels des différents effets de
publication et ciels de ce XML sont utilisés lorsque la mission démarre par défaut.

Environnements par défaut de Mission01 :


<env name="default">
<adaption_light_effect value="m01_morning"/> <posteffect
value="m01_morning"/> <sky value="m01_morning"/> </env>

N'importe lequel des "post_effect" trouvés dans ce XML peut être utilisé avec les
balises "adaptation_light_effect" et "posteffect" , ainsi que n'importe quel "sky" peut être utilisé avec la
balise "sky" .

Dans le script de mission, vous pouvez également modifier les environnements au fur et à mesure de la progression de la mission.

Lorsque vous faites cela, c'est le nom à l'intérieur de la balise « env » qui doit être utilisé avec l'événement
de script approprié, que vous pouvez trouver dans le tutoriel « GRAW2 : Scripting pour débutants ». Dans le
fichier d'environnement utilisé dans cet exemple, il existe trois environnements supplémentaires qui peuvent
être utilisés à partir du script de mission ; « formiddag », « middlemorning » et « night ».

Vous pouvez également créer vos propres combinaisons d'environnement en créant une nouvelle balise
"env" avec les combinaisons souhaitées, ainsi que créer de nouveaux éléments "post_effect" et "sky" à
utiliser. Je vais laisser cela aux moddeurs pour jouer avec.

Enfin, vous devez dire au niveau de rechercher le nouveau fichier "environments.xml" mais en ajoutant
"<environments path="environments.xml"/>" dans les niveaux "world_info.xml", que nous verrons plus
en détail détails ensuite dans ce tutoriel. Mais après avoir ajouté cette ligne, vous pouvez démarrer le jeu
et vous devriez maintenant avoir un autre environnement.

29
Machine Translated by Google

Informations sur

le monde Le fichier d'informations sur le monde est le point central de tout niveau car il définit de nombreux
éléments du niveau du jeu. Il contient des informations sur l'endroit où le niveau peut trouver tous les
fichiers nécessaires, comment il peut être joué et comment il doit apparaître dans les listes à l'intérieur du
jeu. Je vais essayer d'expliquer autant que possible ce fichier à l'aide de deux exemples.

Un joueur et un exemple de coopération de


campagne Jetons un coup d'œil à l'un des fichiers originaux world_info.xml d'un niveau de
campagne pour commencer.

Exemple world_info.xml pour le niveau "mission01" : <?xml


version="1.0" encoding="UTF­8"?> <world_info path="/data/
levels/common/campaign_settings.xml" name="mission01" mission_time ="jour">
<world path="xml/world.xml"/> <mission_script path="mission.xml"/>
<info_strings name_id="campaign_mission_1"/> <environnements
path="environments.xml"/> < massunits path="massunit.bin"/> <son>

<soundbank name="act01_memo_music_sound" type="memorable"/>


<soundbank name="act02_memo_music_sound" type="memorable"/>
<soundbank name="act03_memo_music_sound" type="memorable"/>
<soundbank name="act04_memo_music_sound" type ="memorable"/>
<soundbank name="ambience_shanty_morning_sound" type="ambient"/> <soundbank
name="mission01_sound"/> <soundbank name="music_act01_sound" type="mood"/>
</sound> <texture_scope path ="texture_scope.xml"/> <extra_coverpoints
path="coverpoints.xml"/> <campaign name="graw2" act="1" order="1" coop="true">
<candidate name="BEASLEY" kit ="" def_team="true"/> <nom du candidat="BROWN"
kit="" def_team="true"/> <nom du candidat="HUME" kit="" def_team="false"/> <nom du
candidat= "JENKINS" kit="" def_team="false"/> <nom du candidat="MITCHELL" kit=""
def_team="true"/> <nom du candidat="RAMIREZ" kit="" def_team="true"/>
<block_weapon name="barrett"/> <block_weapon name="hk21e"/> <block_weapon
name="m32"/> <block_weapon name="predator" coop="true"/> </campaign> <nom
de la texture ="loading" texture="data/textures/atlas_gui/mission_gfx/load_sp_m01"
uv_rect="0,0,2048,1080" width="2048" height="2048"/> <texture name="minimap"
texture=" /data/levels/mission01/minimap"

uv_rect="0,0,1024,951" largeur="1024" hauteur="1024"/>


<graph name="coarse" path="ai_coarse.gph"/> <graph
name="main" path="ai.gph"/> <border name="minimap"
min_x="­12821.985" min_y="­11086.894 " max_x="17869.268" max_y="17421.324"/
> </world_info>

30
Machine Translated by Google

Dans la balise principale appelée "world_info", nous trouvons des attributs qui définissent le nom de la
mission. Le nom doit être UNIQUE sinon la mission n'apparaîtra pas dans les listes. Ici, vous définirez
également si la mission est jouée pendant le "jour" ou la "nuit", ce qui affecte si les lumières doivent être
allumées ou non sur les véhicules et autres.

L'exemple ci­dessus est un fichier world_info.xml utilisé pour une carte qui n'a qu'un seul mode de jeu, car le
mode solo et la campagne coop sont configurés comme un mode de jeu combiné.
Pour cette raison, le chemin vers *_settings.xml pour ce mode est également défini dans la balise principale.
Nous verrons comment implémenter plusieurs modes de jeu dans un seul world_info.xml plus tard. Reportez­
vous également au tutoriel "GRAW": MP Game Modes" pour plus d'informations à ce sujet.

Ensuite, vous voyez une balise appelée "world" qui définit le chemin d'accès au world.xml, qui est le fichier qui
contient la plupart du travail que vous avez effectué dans l'éditeur. Cette balise est définie dans le fichier
world_info.xml par défaut qui est créé une fois que vous avez enregistré votre niveau dans votre dossier.

Balise de monde par


défaut : <world path="world.xml"/>

Après cela vient la balise "mission_script" qui définit le chemin vers le mission.xml qui contient votre script de
mission. Même les niveaux utilisant uniquement les modes de jeu unifiés utilisent le fichier mission.xml, et son
contenu dans ces cas est couvert dans le tutoriel "GRAW": MP Game Modes" .

La balise "info_strings" définit le nom de la mission à afficher dans l' écran de sélection de mission solo. Il
doit recevoir le nom d'une chaîne définie dans un fichier strings.xml . Pour inclure un fichier strings.xml pour
votre mission personnalisée, vous devrez ajouter ici un autre attribut appelé "path" et le définir sur "strings.xml".

Avec l'aide de cela, vous pouvez maintenant créer votre propre fichier strings.xml spécifique à la mission dans
votre dossier de mission personnalisé pour gérer toutes vos balises d'information, textes d'information, balises
de waypoint, informations d'objectif, etc. Nous aborderons la syntaxe simple du fichier strings.xml plus loin
dans ce chapitre.

Exemple de balise "info_strings" modifiée pour les missions personnalisées :


<info_strings name_id="campaign_mission_1" path="strings.xml"/>

La balise "environnements" a été abordée brièvement dans la dernière section, et elle définit le fichier
d'environnement à utiliser pour la carte. Par défaut, cette balise reçoit le chemin d'accès au fichier
d'environnement par défaut lorsqu'un niveau est créé pour la première fois.

La balise « massunits » définit le chemin d'accès au fichier massunit.bin , qui est le fichier contenant
toutes les unités placées dans la couche de brosse d'accessoires . Sans cette balise, ces unités ne seront
pas utilisées lorsque la mission sera jouée. Cela devrait également être défini par défaut.

Vient ensuite la balise "son" qui contient des informations sur les banques de sons à utiliser avec la mission.
Je ne suis pas un expert de cette balise, mais vous pouvez voir comment la musique "mémorable" , les sons
"d' ambiance" par défaut et la musique "d'ambiance" sont définis dans l'exemple. Cela définit uniquement les
banques de sons qui doivent être préchargées. L'utilisation de sons ne faisant pas partie d'une banque de
sons définie à l'intérieur de la mission devrait fonctionner, mais elle doit être chargée au moment où elle est
jouée pour la première fois.

31
Machine Translated by Google

La balise "texture_scope" définit où se trouve le fichier contenant des informations sur les atlas de
texture à charger lorsque la mission est jouée. C'est un dossier très important. Si le contenu de la
portée de la texture est erroné, vous obtiendrez des damiers bleus et jaunes sur les objets car leurs
textures ne sont pas incluses dans les atlas que vous avez définis pour le jeu. La portée de la texture doit
également inclure le dossier utilisé pour la lightmap. Nous couvrirons l'édition de la portée de la texture plus
loin dans ce chapitre.

La balise appelée "extra_coverpoints" n'est utilisée qu'à certains niveaux configurés pour utiliser l'IA. Il
n'est pas nécessaire sur les cartes de la ville car toutes les unités statiques plus grandes ont des points de
couverture intégrés qui seront utilisés à proximité des coins et d'autres bonnes positions. Donc, à moins
que votre niveau ne soit rural ou très ouvert, vous devez commenter ou supprimer cette balise du
world_info.xml. Les points de couverture définis à l'intérieur de ce fichier sont calculés automatiquement
par l'éditeur lors de la génération des graphiques AI.

La balise "campagne" est la balise principale qui décide où la mission sera répertoriée en mode solo ;
s'il peut également être joué en coop de campagne, quels membres de l'équipe font partie de l'équipe par
défaut et quelles armes ne figurent pas dans les listes d'inventaire (en d'autres termes, leur utilisation est
bloquée dans la mission).

L'attribut « nom » définit la campagne dans laquelle il doit être répertorié. C'est exact ; il existe un support
pour plusieurs campagnes dans GRAW2. S'il est défini sur "graw2" , la mission apparaîtra dans la liste des
missions par défaut. S'il est défini sur autre chose, un contrôle supplémentaire apparaîtra dans le coin
supérieur droit de l'écran de sélection de mission, ce qui permet au joueur de basculer entre les campagnes.
"Acte" décide sous quel acte il doit être répertorié et "ordre" est quelle mission à l'intérieur de cet acte il doit
être. "Act" réglé sur "0" listera la mission au­dessus des actes comme "Terrains d'entraînement", où les
missions qui n'ont pas besoin d'être déverrouillées doivent être placées. Enfin, il y a l'attribut "coop", qui
décide si la mission peut être vue dans le menu de création de serveur de campagne coop.

Remarque : il y a une situation de conflit possible ici car deux missions ne peuvent pas avoir les mêmes paramètres
d'action et d'ordre. S'ils le font, seule la mission avec la priorité la plus élevée sera vue.

En définissant l' attribut "def_team" sur true sur n'importe quel membre de l'équipe, ils seront par défaut
dans l'équipe de mission lors de la sélection de l'équipe en mode solo. Le kit qu'ils doivent utiliser peut
être défini dans l' attribut "kit" , où "_m02" donnerait par exemple le kit conçu pour la mission02. Les
kits eux­mêmes sont définis dans le fichier data/lib/managers/xml/ghost_templetes.xml .

La balise "block_weapon" supprime l'arme des listes d'inventaire en mode solo, mais si l' attribut
"coop" est défini sur "true" , il s'appliquera également à la campagne coop . Pour trouver le nom interne
utilisé pour chaque arme dans GRAW2, jetez un œil à l'annexe 2 dans "GRAW": MP Game Modes" où ils
sont tous répertoriés.

32
Machine Translated by Google

Les balises "texture" fonctionnent exactement comme expliqué dans le tutoriel "GRAW": MP Game Modes".
En donnant à l' attribut "name" la valeur "loading", vous définissez quelle texture utiliser pour l'écran de
chargement, et en lui donnant la valeur "minimap" vous définissez quelle texture utiliser pour la minimap. La mini­
carte n'est pas requise pour le mode solo ou la coop de campagne car elle n'est pas utilisée. L' attribut "uv_rect"
a besoin des coordonnées de l'endroit où se trouvent le coin supérieur gauche et le coin inférieur droit de la zone
à afficher à partir de la texture. Il doit être donné en pixels. Enfin, vous devez définir la "largeur" et la "hauteur" de toute
la texture que vous souhaitez utiliser.

La texture "minimap" devrait, pour mon niveau qui s'appelle "tutoriel" , être définie pour regarder à l'intérieur du
dossier de niveau lui­même un fichier appelé "minimap", qui est le nom et l'emplacement de la minimap générée
par l'éditeur. Il utilise également une texture complète de 1024x1024 pixels, de sorte que le reste des attributs est
facile à corriger.

Balise « minimap » par défaut pour le niveau « tutoriel » :


<texture name="minimap"
texture="/data/levels/custom_levels/tutorial/minimap"
uv_rect="0,0,1024,1024" width="1024" height="1024"/>

Il existe deux utilisations différentes pour la balise "graph" . La première consiste à le définir sur "main", ce qui devrait
définir le graphique AI à utiliser. La seconde consiste à le régler sur "course", qui pointe également vers un graphique
d'IA, mais celui­ci a une densité plus faible et est utilisé lorsque l'IA doit naviguer sur de plus longues distances et
utilisera alors moins d'emplacements d'arrêt pour se déplacer plus rapidement. Les deux fichiers sont générés dans le
dossier des niveaux lors du calcul du graphique AI comme décrit au chapitre 8.

Enfin, dans l'exemple ci­dessus, nous trouvons une balise "border" . Cela définit les bordures définies pour la mini­
carte dans l'éditeur. Il nécessite des valeurs trouvées dans le fichier world.xml sous la forme de coordonnées vers les
marqueurs de la mini­carte pour créer un rectangle autour de la zone jouable à utiliser lors du calcul de la position des
icônes dessus en multijoueur.

Pour obtenir ces valeurs, vous devez ouvrir le fichier world.xml dans un navigateur de texte ou un éditeur XML.
Effectuez une recherche sur "minimap" et vous trouverez rapidement les marqueurs de minimap dans ce fichier.
Copiez­les dans un nouveau document afin que nous puissions nettoyer les pièces dont nous avons besoin.

Exemple de marqueurs de minicarte trouvés dans mission01 world.xml :


<marker name="" type="minimap">
<position pos_x="­12821.985" pos_y="9525.5225" pos_z="9659.4834"/> <rotation
lacet="­78.921143" pitch="0.0010194057" roulis="­140.63948"/> </marker> <marker
name=" " type="minicarte">

<position pos_x="8064.0854" pos_y="17421.324" pos_z="9035.6865"/> <rotation


lacet="­40.824047" pitch="­0.000204905" roll="120.44201"/> </marker> <marker name=""
type="minicarte">

<position pos_x="17869.268" pos_y="­2202.4155" pos_z="7623.9951"/> <rotation


yaw="­34.744892" pitch="­0.000800839" roll="122.86446"/> </marker> <marker name="
" type="minimap">

<position pos_x="­10609.501" pos_y="­11086.894" pos_z="6056.4604"/> <rotation


lacet="­33.764946" pas="­0.00140531" roulis="­66.985222"/> </marker>

33
Machine Translated by Google

Il peut y avoir n'importe quel nombre de marqueurs de mini­carte utilisés, mais nous ne nous intéressons
qu'aux positions extrêmes. Ainsi, après avoir copié les entrées, supprimez toutes les lignes sauf celles
contenant les coordonnées de position. Dans les balises de position, vous pouvez tout supprimer en
plus de "pos_x" et "pos_y" et de leurs valeurs données.

Liste de marqueurs de minicarte


nettoyée : pos_x="­12821.985" pos_y="9525.5225"
pos_x="8064.0854" pos_y="17421.324"
pos_x="17869.268" pos_y="­2202.4155"
pos_x="­10609.501" pos_y="­11086.894"

Maintenant, nous pouvons facilement obtenir les valeurs "pos_x" les plus élevées et les plus
basses et les entrer dans "max_x" (17869.268) et "min_x" (­12821.985), ainsi que la valeur
"pos_y" la plus élevée et la plus basse et les entrer dans "max_y" (17421.324) et "min_y" (­11086.894).

C'est toutes les entrées à l'intérieur de ce world_info.xml. Nous allons maintenant examiner les
différences à l'intérieur d'un niveau multijoueur.

Exemple de mode de jeu multijoueur Comme


tous les différents types de balises ont été couverts dans la dernière section, cette section ne couvrira
que ce qui est spécial concernant la configuration de world_info.xml pour un niveau qui prend en
charge plusieurs modes de jeu.

Exemple world_info.xml du niveau "nowhere" : <?xml version="1.0"


encoding="UTF­8"?> <world_info name="nowhere"
mission_time="day"> <world path="xml/world. xml"/> <mission_script
path="mission.xml"/> <environments path="environments.xml"/>
<massunits path="massunit.bin"/> <sound> <soundbank
name="ambience_park_night" type=" ambient"/> <soundbank
name="avr_nowhere_sound"/> <soundbank
name="music_act01_sound"/> </sound> <texture_scope
path="texture_scope.xml"/> <texture name="minimap"

texture="/data/textures/gui/nowhere_minimap"
uv_rect="0,0,1024,792" width="1024" height="1024"/> <border
name="minimap" min_x="­10676.768" min_y= "­6114.8867" max_x="18646.32"
max_y="16576.049"/>
<world_info path="/data/levels/common/tdm_settings.xml" type="tdm">
<texture name="loading"
texture="data/textures/atlas_gui/mission_gfx/load_mp_tdm_dm"
uv_rect="0,0,2048,1080" width="2048" height="2048"/> </world_info> <world_info
path ="/data/levels/common/dm_settings.xml" type="dm">

<texture name="loading"
texture="data/textures/atlas_gui/mission_gfx/load_mp_tdm_dm"
uv_rect="0,0,2048,1080" width="2048" height="2048"/> </world_info>

</world_info>

34
Machine Translated by Google

Le niveau dans cet exemple n'est configuré que pour deux modes de jeu, mais vous pouvez bien sûr
simplement répéter les parties spécifiques au mode de jeu un nombre infini de fois pour accueillir n'importe
quel nombre de modes de jeu que vous souhaitez configurer sur votre carte. Vous trouverez plus d'informations
sur la configuration de tout pour chaque mode de jeu spécifique dans le didacticiel complémentaire "GRAW":
MP Game Modes".

La première différence que vous pouvez voir dans ce world_info.xml est qu'il est beaucoup plus petit.
C'est parce que de nombreux éléments de l'exemple précédent ne sont nécessaires qu'en solo ou en
coop de campagne, ou lors de l'utilisation de l'IA dans le mode de jeu comme en coop. Ces nœuds incluent
les balises "info_strings", "graph" et "campaign" .

Lorsque vous regardez de plus près les balises, vous remarquerez également une différence
dans la balise principale "world_info" , qui n'a pas d'attribut qui définit quel *_settings.xml à
utiliser. En effet, chaque mode de jeu défini à un niveau DOIT avoir un fichier *_settings.xml séparé .
Cela sera donc défini plus tard dans les sections spécifiques au mode de jeu.

Outre les différences mentionnées ci­dessus, le fichier a fondamentalement le même aspect en plus
d'avoir une autre balise "world_info" à l'intérieur de la principale. Ce sont les zones spécifiques au mode
de jeu. Cette carte n'a que deux modes de jeu, TDM et DM. Chacun a sa propre balise "world_info" à
l'intérieur de la balise principale "world_info" . Jetons un coup d'œil à l'un d'entre eux, la balise TDM .

Parties masquées spécifiques au mode de jeu TDM :


<world_info path="/data/levels/common/tdm_settings.xml" type="tdm">
<texture name="loading"
texture="data/textures/atlas_gui/mission_gfx/load_mp_tdm_dm"
uv_rect="0,0,2048,1080" width="2048" height="2048"/> </world_info>

Comme vous pouvez le voir, il est ici défini quel *_settings.xml à utiliser pour ce mode de jeu en
l'attribuant à l' attribut "path" dans cette balise interne. Il spécifie également le nom de balise du mode de jeu
en l'attribuant à l' attribut "type" , qui doit être le même nom de balise que celui défini dans le *_settings.xml
utilisé.

Tout ce qui est inclus dans le "world_info.xml" ne sera utilisé qu'une fois le mode de jeu TDM joué. Dans ce
cas, la seule différence est l'écran de chargement à utiliser, mais n'importe laquelle des autres balises peut
être incluse ici, à condition de s'assurer que chaque mode de jeu y parvient. Si vous souhaitez utiliser un
mode de jeu doté d'un graphique AI, il vous suffit d'inclure les nœuds "graphiques" dans cette zone
spécifique aux modes de jeu. Mais si vous souhaitez attribuer un environnement différent à un mode de jeu,
chaque mode de jeu doit avoir un environnement défini à l'intérieur, car vous devez toujours avoir un
environnement pour jouer à un niveau dans n'importe quel mode.

35
Machine Translated by Google

Exemple d'implémentation d'environnement différent : <world_info


path="/data/levels/common/tdm_settings.xml" type="tdm"> <environments path="environments_tdm.xml"/
> <texture name="loading" texture="data /textures/atlas_gui/mission_gfx/load_mp_tdm_dm"
uv_rect="0,0,2048,1080" width="2048" height="2048"/> </world_info> <world_info path="/data/levels/
common/dm_settings. xml" type="dm"> <environnements path="environments_dm.xml"/> <texture
name="loading" texture="data/textures/atlas_gui/mission_gfx/load_mp_tdm_dm"
uv_rect="0,0,2048,1080" largeur="2048" hauteur="2048"/> </world_info>

Il n'y a pas grand­chose de plus à dire sur le world_info.xml en fait. Juste que s'il y a des fichiers que vous
n'avez pas, comme coverpoints.xml, assurez­vous de supprimer ces balises à l'intérieur de world_info.xml.
Passons maintenant à la portée de la texture.

Portée de la texture La
prochaine étape que nous devons examiner est la configuration de la portée de la texture pour le niveau
afin de supprimer tous les contrôleurs possibles. N'oubliez pas que si seuls quelques objets obtiennent des
damiers bleus et jaunes, vous devriez peut­être les supprimer au lieu de modifier la portée de la texture
pour obtenir de meilleures performances sur la carte, mais cela dépend bien sûr de vous.

Dans votre dossier de nouveaux niveaux, "tutoriel" dans mon cas, vous devriez avoir un fichier
texture_scope.xml de base. Dans le fichier, vous trouverez une liste de tous les atlas du jeu, mais
beaucoup d'entre eux sont commentés et ne sont donc pas utilisés pour le moment.

Pour supprimer les éventuels contrôleurs, vous devrez effectuer des tests à ce stade, ce qui ne peut pas
être fait dans l'éditeur car il a accès à toutes les textures du jeu. Vous devrez essayer de décommenter un
atlas supplémentaire, puis tester dans le jeu s'il a résolu le problème sur l'une des unités de contrôle. Si c'est
le cas, ils le gardent, si ce n'est pas le cas, commentez­le et essayez­en un autre. Répétez ces étapes jusqu'à
ce que toutes les textures dont vous avez besoin soient visibles dans le jeu. Encore une fois, s'il existe un
atlas qui n'aide que très peu d'unités, vous devriez réfléchir si celles­ci sont vraiment nécessaires ou elles
devraient être supprimées au lieu de leur atlas ajouté à la portée de la texture, ce qui donnerait de meilleures
performances.

C'est un peu différent de ce que nous avons fait à Grin car nous avons défini de nombreux atlas après les
niveaux, et non l'inverse. Mais c'est la seule façon de le faire lorsque vous mélangez des unités de
différents niveaux. Mais vous pouvez obtenir un indice dans certains noms d'unités à quel atlas ils
appartiennent. En particulier, les bâtiments et les unités plus grandes ont généralement un préfixe, comme
"ville_", qui, en plus d'être bon pour le tri dans les listes, fait également référence à l'atlas qu'il utilise.

Dans la portée de la texture, nous devons également définir le chemin vers l'emplacement des lightmaps
des niveaux et la même chose pour les silhouettes et le cubemap, mais ces parties sont déjà définies et
devraient fonctionner avec leurs valeurs par défaut pour votre niveau.

36
Machine Translated by Google

Chaînes La

syntaxe du fichier strings.xml est très simple. Il contient une balise principale appelée "stringset" à
l'intérieur de laquelle toutes les chaînes sont définies à l'aide d'un élément appelé "string".

Vous donnez à chaque élément "chaîne" l'attribut "id" que vous définissez sur le nom de la chaîne à utiliser lors
de son appel, il doit donc être unique ou vous aurez des problèmes. Une bonne règle est de toujours commencer
l'identifiant par le nom du niveau suivi de "_" puis d'une courte description de ce à quoi il doit servir ou de ce qu'il
contient. Après cela, vous ajoutez un attribut appelé "valeur" auquel vous donnez le texte de chaîne que vous
souhaitez avoir. C'est aussi simple que ça.

Exemple de syntaxe strings.xml : <stringset>


<string id="title_m01" value="Search and
Destroy"/> </stringset>

Quelques caractères spéciaux peuvent être utilisés dans les valeurs de chaîne pour créer des sauts de ligne
"\n" et d'autres formats. Vérifiez à l'intérieur des fichiers de chaînes d'origine trouvés sous "data/strings" si vous
souhaitez les utiliser.

Outro
Cela couvre les outils inclus dans l'éditeur utilisé pour développer GRAW2 et certains
aspects supplémentaires qui doivent être travaillés pour rendre un niveau jouable dans le jeu.
J'espère que ce document répondra au moins à quelques questions, même si je suppose qu'il en soulèvera
également quelques­unes. Les didacticiels fournis en combinaison devraient fournir un bon point de départ aux
moddeurs pour faire évoluer leurs propres expériences de jeu.

Bonne chance.

Grin_Wolfsong, de sortie.

37
Machine Translated by Google

Annexe 1 : Indices sonores environnementaux


Cette annexe contient une liste de certains des sons trouvés dans GRAW2
.

Signaux sonores

UN

aa_1shot 1 missile tiré d'un canon aa distant


aa_40shot 40 tirs ont éclaté à partir d'une mitrailleuse lourde
aa_bh_shake distante jouée dans BlackHawk lorsqu'elle a été touchée
aa_explosion par un incendie aa une explosion en vol bourdonnant
et lui d'un pilier mural extérieur et détruit (par explosion)
ad_pillar_collapse

B
baby_cry un cri de bébé sans boucle
baril_pristine_impact bruit d'impact d'un baril immaculé
baril_rouillé_impact bruit d'impact d'un baril de bidonville rouillé un
oiseau_a cri d'oiseau sans boucle de l'oiseau "a" un cri
oiseau_b d'oiseau sans boucle de l'oiseau "b" un cri
oiseau_c d'oiseau sans boucle de l'oiseau "c " un cri
oiseau_d d'oiseau sans boucle de l'oiseau "d" un cri
oiseau_e d'oiseau sans boucle de l'oiseau "e" un cri
oiseau_f d'oiseau sans boucle de l'oiseau "f" un cri
oiseau_g d'oiseau sans boucle de l'oiseau "g" sélectionne
des oiseaux
un oiseau au hasard ( ag) et le boucle éternellement
détruire
étincelle électrique provenant d'un boîtier de circuit cassé
branch_small_rustle bruissement d'une petite branche (par exemple, le joueur
effleure un buisson) son sans boucle d'une brique tombant
brique_impact de la ruine (à déclencher avec un effet visuel) son d'une
brique frappée à travers le sol en boucle bourdonnement
coup de brique du boîtier de circuit
bourdonner

C
cafe_chair_impact bosse sur une
café_table_impact chaise en fer
carton_box_impact bosse sur une table en fer cartons bosse sur
enfant_cri une boîte (en tombant, p.
citerne_boucle

38
Machine Translated by Google

coin_spit son sans boucle d'un distributeur automatique ou similaire


crachant des pièces pour l'application. deux secondes sans
coin_stone boucle le son d'une pièce de monnaie tombant au sol le son d'un
conteneur_shake ensemble de conteneurs en acier vibrant par un coup de balle
grillons
sélectionne au hasard l'un des trois sons de cricket et boucle
éternellement sélectionne au hasard l'un des cinq sons de corbeau
corbeaux
et boucle éternellement


débris_large_impact bruit générique de gros débris au sol bruit
débris_moyen_impact générique de débris moyens au sol bruit générique de
débris_petit_impact petits débris au sol bruit en boucle d'un drainage d'eau
boucle_de_drainage qui coule

F
usine choisit au hasard l'un des cinq bruits d'usine étouffés et boucle
éternellement le son d'un grand feu jouant pour l'application. dix
feu_large_10 secondes de son d'un grand feu jouant pour l'application. 120
feu_large_120 secondes de son d'un grand feu jouant pour l'application. 15
feu_large_15 secondes de son d'un grand feu jouant pour l'application. 20
feu_large_20 secondes de son d'un grand feu jouant pour l'application. 30
feu_large_30 secondes de son d'un grand feu jouant pour l'application. cinq
feu_large_5 secondes sonores d'un grand feu jouant pour l'application. 60
feu_large_60 secondes de son d'un grand feu jouant pour l'application. 90
feu_large_90 secondes du son d'un grand feu en boucle éternellement le son
fire_large_loop d'un petit feu jouant pour env. dix secondes de son d'un petit
feu_petit_10 feu jouant pour l'application. 120 secondes de son d'un petit feu
feu_petit_120 jouant pour l'application. 15 secondes de son d'un petit feu
feu_petit_15 jouant pour l'application. 20 secondes de son d'un petit feu
feu_petit_20 jouant pour l'application. 30 secondes de son d'un petit feu
feu_petit_30 jouant pour l'application. cinq secondes sonores d'un petit feu
feu_petit_5 jouant pour l'application. 60 secondes de son d'un petit feu
feu_petit_60 jouant pour l'application. 90 secondes son d'un petit feu en
feu_petit_90 boucle éternellement son du drapeau battant et du fil frappant
fire_small_loop le mât du drapeau, en boucle éternellement son des mouches,
flag_loop entendu jusqu'à 20 mètres, en boucle éternellement son des
mouches, entendu jusqu'à 10 mètres, en boucle
mouches_boucle

mouches_loop_small

39
Machine Translated by Google

son
feuillage éternellement 2d du vent dans un bosquet d'arbres, entendu
jusqu'à 30 mètres, en boucle éternellement
feuillage_rustle_occasionnel son 3d sans boucle du vent dans le feuillage, entendu jusqu'à 30 mètres d'eau
coulant dans une grande fontaine, en boucle éternellement son de
fontaine_large_boucle grenouilles, en boucle éternellement
grenouilles_boucle

g
glass_break_big fenêtre soufflée par une explosion fenêtre
glass_break_small plus petite soufflée par une explosion son en
gravier boucle éternelle de gravier occasionnel tombant dans la carrière
explosion d'une grenade à fragmentation
grenade_frag_explode

H
hangar_door_open ouverture de la porte du hangar, 6 secondes du début à l'arrêt

je

alarme_intrusion woop d'alarme (un seul son sans boucle) rupture du


intruder_alarm_break son de l'électronique et rétroaction déformée du haut­parleur
alarme woop cassé (un seul son sans boucle) pression sur le
intruder_alarm_broken bouton d'alarme
intruder_alarm_button

L
large_rock_impact bruit d'une grande dalle de béton ou d'un rocher frappant le
sol ampoule dure qui se brise (à cause de dommages
lightbulb_break (explosion, balle) ou qui tombe au sol)

M
magslide_out rechargement
man_scream d'arme un homme sans boucle hurlant de douleur
man_shout un homme sans boucle implorant de désespoir bruit de
metal_creak grincement de métal (par exemple, chapiteau ou parasol qui se
mortier_1shot replie) tir d'obus de mortier de loin, très loin (grondement grave)
trois secondes de "cris" de mortier tomber (précéder le bruit
mortier_goutte d'explosion de l'obus de mortier)

40
Machine Translated by Google

mortier_exploser bruit d'explosion d'un obus de mortier

LES

boucle_océan sélectionne au hasard l'un des deux sons d'eau libre et le


boucle éternellement

P
paper_cup_impact gobelet en papier frappé à travers le
pigeons_loop sol boucle éternellement le son des pigeons, à jouer par les
pigeons au sol et arrêtés lorsqu'ils décollent son sans boucle
pigeons_takeoff à jouer à partir de "l'effet" des pigeons décollant bosse de
planche (morceau de caisse en bois effondrée) grand pot en
planche_impact argile brisé (mis en pièces) morceau de pot en argile détruit
pot_large_shatter heurtant le sol petit pot en argile brisé (mis en pièces)
pot_shard_impact
pot_small_shatter

R
serpent à sonnette
son en boucle éternelle d'un bruit occasionnel de serpent
à sonnette panneau de signalisation en métal tombant
roadsign_impact au sol son en boucle éternelle d'un bruit occasionnel
toit provenant d'un toit (bouteilles tombant, rafales de vent,
craquements de charnières joue au hasard un son sans
boucle à partir du son "toit" (ci­dessus) ennemi Missile RPG
rooftop_randomizer explosant (touchant la cible) son sans boucle de poussière
tombant des ruines (à déclencher avec un effet visuel de
rpg7_explode poussière)
ruines

S
brouilleur_explode brouilleur étant abattu en morceaux
scrambler_loop boucle éternellement le son du brouilleur affectant le
HUD (efficace jusqu'à 100 mètres) son
mouettes en boucle éternelle d'appels occasionnels d'oiseaux de
mouette (peut être utilisé pour "diffuser" le son ci­dessus, ou
tout seul) son en boucle éternelle de bruit de mouette constant
mouettes_boucle (comme aucune mouette n'est visible, placez­le de préférence
bruit derrière les rochers) bruit d'éclats de verre tombant au
sol (sous une fenêtre brisée)
briser_verre

41
Machine Translated by Google

briser_verre_grand objet en verre plus grand abattu en morceaux (éclats envoyés en


briser_verre_petit vol) petit objet en verre abattu en morceaux (pas d'éclats envoyés
en vol) pelle tombant au sol le soda peut être frappé à travers le sol
pelle_impact son sans boucle de la porte grinçante "style bidonville" se fermant
soda_can_impact son sans boucle de porte grinçante "de style bidonville" s'ouvrant
grinçant_porte_fermée éternellement en boucle le son de pierres occasionnelles tombant
dans la carrière
porte_grinçante_ouverte

des pierres

J
togo_box_impact carton de nourriture à emporter frappé à travers le sol
tunnel boucle éternellement son 2d de l'ambiance du tunnel audible
jusqu'à 60 mètres ­ utile également pour créer une ambiance
à l'intérieur, par exemple dans un hangar

Dans

vague_splash son sans boucle d'une vague s'écrasant contre des rochers (à
déclencher par l'effet visuel de l'eau) un sifflet buccal sans boucle
sifflet un cri de femme sans boucle caisse en bois explosée bosse de
woman_cry caisse en bois (en tombant, par exemple)
caisse_en_bois_effondrée

caisse_en_bois_impact

42

Vous aimerez peut-être aussi