Gaming Zone Communautes Battlefield PiTrust Communautes Mods
SommairemapstutorielsforumtétéchargementsdiversLes liensLivre d'Or
13/. Mettre les brushs en Detail ou Structure

 

Maintenant que nous avons construit un minimum de brushs sur notre carte, nous allons voir l'intérêt de mettre un brush en DETAIL ou en STRUCTURE. Petit retour en arrière, lors de la compilation, il y a 3 phases majeures qui sont : BSP - VIS - FLARE.

Le BSP : c'est la création du fichier "source" dans lequel le programme (q3map.exe) indique l'organisation et le placement de tous les brushs avec ses textures. En fait, il hiérarchise la position exacte de chaque brush, le placement de chaque texture, c'est en gros, un arbre généalogique sauf que cet arbre "gère" un espace 3D. Une fois cette phase terminée, le compileur crée un fichier prt (qui sera utilisé ensuite pour le procésus VIS) et notre fichier BSP. Notre fichier BSP sera par la suite alimenté par le résultat de la phase VIS et FLARE.

Le VIS : le processus VIS (pour VISIBILITY) gère les espaces ainsi créés. Il utilise le fichier prt précédement crée en phase BSP pour générer un fichier vis. La partie importante de ce processus est la consitution du PVS (Potentiality Visible Set) où il détermine si les différents espaces sont visibles les uns des autres. Attention, ce PVS ne fonctionne uniquemment qu'avec des brushs STRUCTURE combinés à l'ajout de PORTAL. A quoi sert cette phase ? Tout simplement à alléger l'affichage dans le jeu et donc, à améliorer le FPS (Frame Per Second ou image par seconde).

Le FLARE : Ce processus fonctionne avec le worldspawn. En fonction de l'ambience de la lumière posée sur la carte, il calcule les effets de lumière et d'ombre sur chaque face de texture des brushs et des modèles, génèrent les ombrages etc ...

Voici donc schématiquement le rôle de chaque phase de la compilation. Histoire de mieux se faire comprendre, j'ai repris notre première pièce de maison sur laquelle j'ai retiré la toiture, les modèles, les lights et coronas pour les besoins de l'explication, tous les murs sont bien sûr en STRUCTURE. Quand je compile cette pièce, le compileur génère un seul espace (en texture CLIP). A ce niveau, il n'y a pas de problème d'explication, mon joueur (qui est représenté par le SPAWN DM) ère dans un seul espace. D'autre part, avec un seul espace, la taille de mon fichier vis (visdatasize) reste toute petite.

Je vais compliquer maintenant cette pièce en ajoutant 2 brushs ( de couleur NOIRE) qui font offices de mur séparateur dans cette pièce et qui sont par défaut en STRUCTURE dans l'éditeur.

Si je lance maintenant la compilation, voici ce que le compileur va générer, non plus 1 mais 4 espaces qui sont FOLIAGE (1) - ORIGIN (2) - CLIP (3) et HMG (4). Et là, la taille de mon fichier vis augmente avec le nombre d'espace (ou leafportals) supplémentaires.

Maintenant, si je donne la propriété DETAIL à ces 2 murs et que je recompile, le compileur fait abstraction de ces 2 brushs, et il génère au final qu'un seul espace. Du coup, la taille de mon fichier vis (visdatasize) redescend au plus bas niveau. Attention, cela ne veut pas dire que l'on peut passer au travers des brushs DETAIL, ceux-ci ne peuvent pas être traversés par le joueur. Il s'agit simplement d'une fonction pour le compileur.

Quel enseignement doit-on retenir de tout cela ? En fait, un brush STRUCTURE splitte les espaces comme nous avons pu le voir sur ces exemples théoriques. Son avantage, on le connait, il soulage le moteur du jeu s'il est combiné avec des PORTAL (dont nous verrons l'utilité plus loin dans les tutoriaux). De ce fait, le FPS peut augmenter. L'effet négatif du brush STRUCTURE est qu'il fait augmenter le visdatasize (qui est le fichier temporaire avec lequel il procède à la vérification des espaces et la création de la table PVS. En conséquence, plus le visdatasize augmente, plus le temps de compilation est élevé. D'autre part, le visdatasize à ses limites (environ 2 Mo). Une fois cette limite dépassée, le compileur ne génère plus le BSP et donc, adieu votre carte.

Pour remédier à cela et ainsi baisser la taille de ce fichier, l'autre solution est d'utiliser la propriété DETAIL. Sa particularité est qu'elle ne scinde pas les espaces et qu'elle fait baisser considérablement la taille du visdatasize. Toutefois, c'est à double tranchant, il faut savoir ce que l'on fait car le FPS peut s'en ressentir. Ce qu'il faut retenir de tout cela, c'est qu'il faut mettre en DETAIL tous les brushs insignifiants (échelle - petit mur - rampe d'escalier etc ...) et tout brush qui ne peut bloquer la visibilité.

Revenons maintenant à note carte et lançons la compilation de notre map (tuto_12.map) où tous les brushs sont en STRUCTURE actuellement :

Résultat :
291 portalclusters
803 numportals
1 366 numfaces
1 606 actives portals
0 hint portals

Visdatasize : 11 648 ko

Passons à l'action et mettons tous ces petits brushs en DETAIL.A partir de la vue 3D, vous allez donc sélectionner toutes les poutres ainsi que leur socle, l'échelle et son brush LADDER, les 2 volets extérieurs. Ne doit pas être sélectionné le sol, les murs des côtés, la toiture et le plancher du premier étage (3 brushs). Une fois cette sélection faite, faites un CDS sur la vue 3D. Normalement, une petite fenêtre vient de s'afficher. Faites un CGS sur Make Detail (littéralement faire en Détail).

Tous les brushs se sont désélectionnés et dans les vues 2D, ils sont maintenant de couleur VERTE. C'est normal, c'est la signification qu'ils ont la propriété DETAIL (à l'inverse, les brushs de couleur NOIRE sont en STRUCTURE.

Nous allons maintenant filtrer les brushs DETAIL. Soit par la fenêtre FILTRE (touche F), décochez alors l'option detail et cliquez sur le bouton MISE-A-JOUR, soit en utilisant la combinaison CTRL + D. Résultat, les brushs DETAIL sont filtrés, il ne reste plus que les brushs STRUCTURE (pour les afficher de nouveau, il faudra apppuyer de nouveau sur CTRL + D mais ne le fait pas de suite).

Occupons-nous maintenant de notre maison, et mettons aussi les brushs en DETAIL. Pour cela sélectionnez les volets de fenêtres, les contours de toits que nous avions coupés ainsi que la cheminée, la porte et son contour, ainsi que la marche et le petit brush en texture "plancher" qui se trouve derrière lui. CDS puis make detail. Notez que nous ne mettons pas les fenêtres et ses contours en DETAIL puisque combinées avec le mur, elles permettent de bloquer la visibilité quand le joueur se trouve dedans.

Lançons de nouveau la compilation pour voir les changements.

Résultat :
73
portalclusters (au lieu de 291)
174 numportals (au lieu de 803)
295 numfaces (au lieu de 1 366)
348 actives portals (au lieu de 1 606)
0 hint portals (idem)

Visdatasize : 1 176 ko (au lieu de 11 648 ko)

Résultats des courses, le nombre de leafportals est en forte diminution, du coup la taille de notre visdatasize est passée de 11 648 ko à 1 176 ko.

Le fichier de notre tuto 13/. se trouve ici en format .map. Pour l'utiliser, à partir du menu FICHIER, sélectionnez IMPORTEZ (.map) ==> IMPORTEZ NOUVELLE MAP.

 

Par Caskou - 2005 Copyright © by CaskAmi Prod. Tout droit réservé.

 

Page générée en

Design / concept Amigos3D - Copyright ©2006 CaskAmi Prod. Tous droits réservés.
Caskami.com est hébergé; par Eliott-Ness.