Last updated: 06/10/2024, 02:17

Current Project: Rejuvenation of Hellkeeper.net

Terrains

Introduction

Avec les static-meshes, l'éditeur de terrains est sans doute la plus grosse avancée entre l'Unreal Engine 1 et l'Unreal Engine 2. Il permet de créer des terrains de très grande taille sans avoir besoin d'éditer à la main le brush terrain et n'est pas soumis aux inconvénients de la géométrie BSP. Les terrains créés avec cet outil ne peuvent pas engendrer de trous BSP et peuvent être composés de centaines de polygones pour un résultat lisse et naturel, là où les précédents versions devaient se contenter de terrains schématiques, souvent étroits et anguleux.

Les terrains d'Unreal 2, un des pemiers jeux à implémenter l'éditeur de terrains, sont ainsi spectaculaires par rapport à ceux d'Unreal et d'UT99.

mm_waterfront, dans Unreal 2

Principe

Un terrain est stocké sous la forme d'une texture en niveaux de gris 16 bits, appelée heightmap, qui est interprétée par un actor TerrainInfo comme une carte topographique. Chaque pixel représente l'altitude d'un point du terrain sous la forme d'une nuance de gris allant du noir (l'altitude minimale possible) au blanc pur (l'altitude maximale). Le TerrainInfo projette autour de lui une nappe de polygones, des triangles regroupés deux à deux pour former des carrés, appelés quads dans l'éditeur. Ces quads forment la plus petite unité du terrain.

Chaque pixel de l'heightmap correspond à un vertex du terrain. La taille de l'heightmap en pixels est donc le nombre de quads par côté du terrain (qui est forcément un quadrilatère). La taille des quads est paramétrable. Une heightmap de 256 pixels de côté utilisée pour générer un terrain dont les quads font 64 unités de long (ce sont les mesures par défaut) mesure ainsi 256 x 64 = 16384 unités.

Un terrain est toujours considéré par le jeu comme un sol (ou un plafond, comme expliqué plus loin) et il est donc impossible de réaliser un wall-dodge en prenant appui sur une paroi du terrain ou d'utiliser une pente comme rampe pour accéder à étage avec une esquive comme dans DM-Rankin.

Création du terrain

Un terrain doit être contenu dans une zone régie par une ZoneInfo dont le paramètre bTerrainZone est vrai. S'il s'étend sur plusieurs zones, toutes doivent contenir une ZoneInfo (ou un dérivé, tel qu'une SkyZoneInfo), avec ce paramètre activé.

bTerrainZone réglé sur vrai

Une fois la zone réglée, le terrain peut être intégralement créé, sculpté et texturé depuis l'éditeur de terrains, accessible dans la barre d'outil de gauche par l'outil Terrain Editing, qui utilise l'icône de montagnes.

Editeur de terrains

Cette icône correspondait, dans l'Unreal Engine 1, au brush terrain (un cube à la face inférieur subdivisée). L'icône a été réutilisée pour l'éditeur de terrains et le brush terrain utilise une nouvelle icône.

Outil brush terrain

L'éditeur de terrains s'ouvre dans une nouvelle fenêtre, vierge par défaut. La partie supérieure de l'interface n'est pas utile tant qu'un terrain n'a pas été créé dans la partie inférieure. En bas, trois onglets permettent de gérer les différents composants du terrain : Terrains, Layers et Decorations.

Fenêtre principale de l'éditeur de terrains

Dans le coin inférieur gauche de l'onglet Terrains, le bouton portant une icône de page blanche permet de créer un nouveau terrain (une nouvelle heightmap). La fenêtre de création ressemble à celle utilisée pour définir l'emplacement d'une nouvelle texture.

Création d'une heightmap

Une fois l'heightmap créée, un actor TerrainInfo est automatiquement créé à l'emplacement de la caméra de la vue 3D, utilisant la même icône que l'outil Terrain Editing dans la barre d'outils d'UnrealEd.
Le terrain n'est pas visible avant un rebuild. Il apparaît alors dans la vue Wireframe mais pas encore dans les autres modes de rendu car il ne possède pas encore de textures. Bien qu'invisible, il est néanmoins pourvu d'une collision et il est possible de se déplacer dessus dans le jeu si la map est testée.

Terrain visible en mode Wireframe

Si Height a été laissé à 32768, le terrain se trouve exactement à l'altitude du TerrainInfo. Autrement, il se trouve au-dessus ou au-dessous, décalé d'autant d'unités qu'il y a d'écart avec 32768.

Afin de rendre le terrain visible, il est nécessaire d'ajouter une texture de base au terrain à l'aide d'un layer. Ce dernier est composé d'une texture et d'une AlphaMap, un masque de transparence qui définit sur quels polygones du terrain la texture est plus ou moins visible.
Après avoir sélectionné une texture appropriée dans le texture browser (par exemple dans le package ArboreaTerrain.utx), il faut se rendre dans le second onglet de la partie inférieure de l'éditeur de terrains.

liste des layers dans l'éditeur de terrains

Le bouton New permet de créer un layer avec la texture sélectionnée. Il faut pour cela avoir d'abord cliqué sur l'une des bandes rouges marquées "Undefined". Les layers s'affichant les uns sur les autres dans l'ordre, le premier layer doit se trouver au sommet de la pile. La première texture doit donc être ajoutée au premier emplacement. La fenêtre de création de layer est remarquablement similaire à celle de création d'heightmap, avec quelques paramètres en plus.

Création d'un layer

La première texture utilisée est généralement la texture de base du sol et doit donc couvrir la totalité du terrain. Son opacité doit donc être maximale, ce qui est le cas si l'AlphaFill est blanc. Le champ A peut être ignoré totalement, mais les champs R, G et B doivent donc être réglés sur la valeur maximale, 255. Avec les dimensions réglées sur celles de l'heightmap, un nom et un package, le layer peut être créé et le terrain devient alors visible.

Terrain vierge

Une fois le terrain généré et visible, il est possible de commencer à le travailler. Afin de pouvoir visualiser sa forme facilement, il est toutefois préférable d'ajouter d'abord un éclairage basique, de préférence une Sunlight, qui nécessite que le terrain soit exposé à des faces en Fake Backdrop (c'est généralement le cas du brush de grande taille qui entoure le terrain). La portée infinie de la Sunlight permet d'éclairer tout le terrain à la fois. Les ombres rendent alors visibles les volumes au fur et à mesure que le paysage est sculpté.

Paramètres du TerrainInfo

Avant de s'intéresser à la mise en forme du terrain, il est utile de s'arrêter sur le TerrainInfo. Le terrain est projeté autour de cet actor (un dérivé de la classe Info, comme la ZoneInfo) et déplacer la TerrainInfo déplace donc le terrain avec. Cet actor possède quelques paramètres permettant de changer radicalement l'apparence du terrain.

Propriétés du TerrainInfo Grotte réalisée avec deux terrains superposés dans DM-CBP1-Neandertalus

TerrainScale est, avec les dimensions de l'heightmap, l'élément qui définit la taille finale du terrain dans le jeu : un TerrainScale plus élevé permet de couvrir plus de superficie avec autant de quads ou d'utiliser moins de quads pour la même superficie. ONS-Torlan utilise ainsi un TerrainScale de 320 sur X et Y, ce qui donne des quads relativement grands et permet d'occuper un carré de 44545 unités de côté avec une heightmap de 128 x 128. Avec des quads de 64, l'heightmap aurait dû mesurer 1024 pixels de côté et une bonne partie serait restée inutilisée. Plus important encore, une heightmap de 128 unités de côté génère un terrain de 16384 quads alors qu'une heightmap de 1024 unités de côté aboutit à un terrain de plus d'un million de quads.

Modelage du terrain

En passant le pointeur sur le sol avec l'éditeur de terrains ouvert, deux cercles jaunes se déplacent sur la surface, centrés sur un marqueur rouge sous la souris.

Pinceau d'édition du terrain

Il s'agit du pinceau, qui s'ajuste avec la partie Options de l'éditeur.

Paramètres du pinceau

Par défaut, les réglages du pinceau sont globaux. Cocher la case "Per Tool?" au-dessus des réglages réinitialise toute modification et permet de le paramétrer différemment pour chaque outil.

Certains outils n'utilisent qu'un seul cercle du pinceau (Flatten, Smoothing, Noise, Visibility). C'est alors le Outer Radius qui est pris en compte.

Si la map doit être symétrique, plutôt que de réaliser péniblement deux moitiés de terrain identiques, on peut créer un miroir du pinceau avec le menu défilant marqué Mirror. On peut y choisir d'utiliser un miroir sur X (droite-gauche), Y (haut-bas) ou les deux à la fois avec le miroir XY (il y a alors 4 pinceaux). Toute action effectuée sur le terrain est alors reproduite de l'autre côté du miroir.

Pinceau n miroir et donc dédoublé sr la surface du terrain

En appuyant sur la touche T, on peut afficher et masquer le terrain. Ce raccourci fonctionne dans les vues 2D et il est alors possible d'utiliser l'éditeur de terrains dans ces vus, ce qui est particulièrement utile avec la vue de dessus.

ONS-Dawn dans la vue de dessus avec le terrain affiché

Le pinceau est le principal outil permettant de modifier le terrain, aussi bien pour créer les reliefs que pour appliquer les textures et les décorations. Les effets sont différents suivant que l'on utilise les outils de l'éditeur en ayant sélectionné une heightmap dans l'onglet Terrains, un layer dans l'onglet Layers ou un decolayer dans l'onglet Decorations. Pour sculpter les reliefs, il faut sélectionner l'heightmap.

Heightmap sélectionnée dans l'onglet Terrains de l'éditeur

L'utilisation des outils se fait ensuite en appuyant sur CTRL et en cliquant tout en déplaçant la souris sur la surface à traiter. Notez que comme l'heightmap ne fournit que des données d'altitude, le terrain ne peut pas comporter de surplomb : les vertices qui le composent ne peuvent être décalés que verticalement et jamais horizontalement.

Vertex Editing

L'outil Vertex Editing permet de sélectionner des vertices en appuyant sur la touche CTRL et en cliquant sur le terrain. Les vertices compris dans le pinceau sont sélectionnés. Une fois la sélection faite, garder les deux boutons de la souris et la touche CTRL enfoncés permet de déplacer les vertices sélectionnés vers le haut ou vers le bas en déplaçant la souris vers l'avant ou l'arrière.

Vertex-editing du terrain

Les vertices compris à l'intérieur du Inner Radius sont déplaces avec la force maximale et sont donc signalés par des marqueurs clairs (blancs si Strength = 100). Ces marqueurs deviennent plus sombres entre le rayon inférieur et le rayon supérieur et la force de l'outil diminue avec le changement de couleur, ce qui permet de réaliser un effet progressif.

La sélection peut-être étendue en cliquant sur le bouton "Select" sous Soft Selection, à droite des réglages du pinceau. La case à cocher "Automatic ?" est dépourvue d'effet, tout comme le bouton "Undo" en dessous. Il n'est malheureusement pas possible d'annuler une action de modélisation dans l'éditeur de terrains.

Painting

L'outil Painting permet de littéralement peindre du relief sur le terrain en passant le pinceau sur la surface en appuyant sur CTRL et le bouton gauche de la souris pour peindre des bosses, le bouton droit pour peindre des creux. L'effet est très puissant et Strength et/ou Adjust doivent donc être assez faibles.

Création de reliefs avec l'outil Painting

Smoothing

Smoothing lisse les reliefs pour les adoucir. Les reliefs abrupts sont lissés et les extrêmes de hauteur sont ramenés vers la moyenne.

Terrain accidenté lissé avec l'outil Smoothing

Passer le smoothing sur les bords du terrain génère des aberrations, il est donc recommandé de se tenir à l'écart des extrémités.

Déformation des bords du terrain avec l'outil Smoothing

Noise

À l'inverse du smoothing, l'outil Noise ajoute du bruit sous le pinceau. Chaque vertex reçoit une variation de hauteur aléatoire.

Bruit ajouté au relief du terrain

Flatten

Flatten permet d'égaliser la surface sur laquelle le pinceau est passé. La hauteur à laquelle est aplatie le terrain est déterminée par la hauteur du vertex unique situé sous le marqueur rouge au moment où CTRL et le clic gauche sont enfoncés, et ce quel que soit le rayon du pinceau.

Portion aplatie du terrain

Visibility

L'outil Visibility masque les quads sur lesquels il est passé avec CTRL et le bouton droit de la souris enfoncés. Avec CTRL et le clic gauche, on peut rendre à nouveau visibles les quads précédemment masqués.

Terrain partiellement rend invisible

Les quads masqués ne sont pas seulement invisibles : ils perdent aussi toute collision. L'outil permet donc de créer des ouvertures dans le terrain, permettant d'y ajouter des trous ou des entrées.

Entrée de tunnel créée en supprimant les triangles du terrain dans un brush

Edge Turn

Edge Turn permet de changer le sens dans lequel les quads sont alignés sur une portion du terrain. Par défaut, vus de dessus, les quads sont divisés par un segment courant du coin supérieur gauche au coin inférieur droit. Avec Edge Turn, on peut réaligner cette arête pour qu'elle aille du coin supérieur droit au coin inférieur gauche.

Quad retourné avec l'outil Edge Turn

Cette modification est utile lorsque des reliefs trop marqués occasionnent un effet de dents en raison de l'alignement des côtés des triangles composant les quads.

Edge Turn utilisé pour adoucir une falaise

L'outil Edge Turn est sélectionné, un seul quad sous le pinceau est mis en valeur, mais l'effet s'applique bien sur la totalité de la surface englobée dans l'Outer Radius, même si celui-ci n'est pas affiché.

Select

L'outil Select permet de sélectionner une zone rectangulaire du terrain. CTRL + clic gauche permet de tracer un cadre en cliquant sur un coin de la zone à sélectionner et en l'étendant autant que voulu. CTRL + clic droit fonctionne de la même façon, mais en ne plaçant que le "coin final" du cadre, le coin d'origine restant le point de départ de la sélection précédemment faite.

Carré de terrain sélectionné

L'outil n'a pas d'effet en soi mais s'utilise conjointement avec l'onglet "Misc." de l'éditeur, qui est un générateur automatique de relief.

Options du générateur de terrain

Cet outil génère des bosses et des creux aléatoires sur la surface.

Avec une valeur élevée dans Steps et une basse valeur de Strength, et en appliquant l'effet sur toute l'heightmap, on peut créer un paysage dunaire.

Génération de terrain avec haute valeur de Steps et basse valeur de Strength

À l'inverse, une Strength élevée et un Steps bas donne de profondes vallées entre quelques hautes montagnes.

Terrain généré avec un fréquence faible et une force élevée

Si une zone de sélection est utilisée, la valeur de Steps n'est pas appliquée au cadre de sélection mais, virtuellement à toute l'heightmap, et seule la partie sélectionnée est réellement prise en compte. De plus, le générateur tente de garder des reliefs relativement lisses et d'éviter les pentes trop abruptes. En conséquence, si un cadre de sélection est utilisé, à effet équivalent, les valeurs de Steps et de Strength devront être beaucoup plus élevées que si le générateur était appliqué à toute l'heightmap.

Génération de terrain dans une sélection

Les trois derniers outils, Tex Pan, Tex Rotate et Tex Scale, n'ont aucun effet sur l'heightmap.

Textures et layers

L'application de textures sur le terrain se fait par l'ajout de layers successifs dans l'onglet Layers de l'éditeur de terrains. Le premier layer est totalement opaque et permet de couvrir la totalité de la surface du sol. Les layers successifs sont généralement ajoutés avec un paramétrage qui les rend invisibles par défaut, puis appliqués au pinceau sur les zones voulues. L'ordre est important car plusieurs layers peuvent être superposés sur un même quad, auquel cas ils sont appliqués dans l'ordre, du premier au dernier, les plus bas recouvrant donc ceux au-dessus mais étant eux-mêmes recouverts par ceux placés dessous.

Ordre d'application des layers : le plus haut est dessous

En plus de la liste des layers elle-même, l'onglet possède quelques boutons.

Les boutons New, Delete et Duplicate permettent d'ajouter, de supprimer ou de dupliquer un layer. Les deux flèches vers le haut et le bas remontent ou descendent le layer actuellement sélectionné dans la liste afin d'ajuster l'ordre d'application. Le dernier bouton à droite, portant le schéma d'un quad, permet de mettre en valeur le maillage des quads portant les textures cochées dans la liste qui s'affiche.

Listage des layers pour affichage du maillage

L'intérêt est de s'assurer que de trop nombreuses textures ne s'empilent pas sur les mêmes triangles. Si plusieurs layers recouvrent le même triangle, celui-ci doit en effet être dessiné à l'écran plusieurs fois, chaque nouvelle passe recouvrant la précédente.

Affichage des quads d'un layer

Après la première texture, dont l'AlphaMap est blanche, on peut ajouter de nouveaux layers jusqu'à en un maximum de 32. Pour toutes, les dimensions de l'AlphaMap doivent être les mêmes que celles de l'heightmap. Autrement, la texture ne s'affiche pas correctement : en pointillés si le layer est plus grand que l'heightmap, en gros blocs aux bords visibles si le layer est de dimensions inférieures.

Bugs d'affichage de layers à cause de dimensions inadaptées à l'heightmap

Lors de la création d'un nouveau layer, en créant une AlphaMap totalement noire (R, G et B = 0) on s'assure que la texture n'est appliquée nulle part pour pouvoir l'ajouter manuellement aux endroits voulus.

Création de layers autres que le premier

On peut à tout moment changer la texture d'un layer en en sélectionnant une dans le texture browser, puis en faisant un clic droit sur le layer et en choisissant "Set Texture from Current".

Menu contextuel après clic droit sur un layer

On peut aussi changer l'AlphaMap en choisissant celle voulue et en cliquant sur "Set Alpha from Current". L'option "Toggle Grid" a le même effet que cocher le layer dans la liste du bouton représentant un quad.

Les outils utilisés pour sculpter le terrain se comportent différemment lorsque c'est non pas l'heightmap mais un layer qui est sélectionné, à l'exception des outils qui ne servent qu'à modifier la forme du terrain. Flatten ne fonctionne pas du tout si l'heightmap n'est pas sélectionnée. Vertex Editing, Visibility, Edge Turn et Select affectent le relief dans tous les cas.

Painting

L'outil Painting est le plus important car il permet d'appliquer la texture du layer sélectionné en passant le pinceau sur le terrain avec CTRL + clic gauche enfoncés. CTRL + clic droit permet au contraire d'effacer la texture là où elle est déjà appliquée.

Application d'une texture sur le terrain avec l'outil Painting

Il est même possible d'effacer la texture du premier layer, mais le terrain devient alors invisible par secteurs entiers.

Terrain invisible après effacement du premier layer

Malgré leur invisibilité, les polygones du terrain qui n'ont alors plus du tout de texture restent solides et bloquent le passage, contrairement à l'outil Visibility qui permet de réellement trouer le terrain.

Smoothing

Smoothing permet de rendre plus douces les transitions entre les textures en étendant la distance de fondu du layer actuellement sélectionné. L'effet peut être utile mais il ne doit pas être utilisé de façon indiscriminée car il cause une forte augmentation de nombre de polygones où plusieurs layers se recouvrent et donc du nombre de polygones à afficher plusieurs fois de suite par le moteur du jeu. De plus, la superposition de textures peut avoir un rendu un peu étrange.

Transition adoucie entre les layers

Noise

Utilisé sur l'heightmap pour ajouter des variations aléatoires de hauteur, l'outil Noise permet, utilisé avec un layer, d'ajouter des taches aléatoires du layer sous le pinceau.

Texture appliquée aléatoirement avec l'outil Noise

Tex Pan, Tex Rotate et Tex Scale

Ces trois outils ne fonctionnent qu'avec un layer sélectionné. Ils permettent respectivement de décaler la texture, de changer son orientation et de la redimensionner.

Layer dans le TerrainInfo

Certains des outils de l'éditeur de terrains permettent de modifier visuellement des propriétés accessibles dans le TerrainInfo lui-même. Ses propriétés comportent une liste, Layers, dont chaque item est un layer accompagné de ses propriétés, dont certaines ne sont pas accessibles ailleurs dans l'éditeur.

Propriétés d'un layer dans le TerrainInfo

Les paramètres KFriction et KRestitution sont des propriétés physiques utilisées pour les collisions du layer avec les objets physique. Le premier détermine la friction appliquée aux objets (la force du freinage qui leur est imposé lorsqu'ils se déplacent sur le layer), le second influence la restitution du mouvement, c'est-à-dire la force des rebonds causés par la collision avec ce layer. Ces paramètres n'ont généralement pas besoin d'être modifiés.

Derniers ajustements

Avec les outils de l'éditeur de terrains, il est ainsi possible de créer un terrain vierge, de le sculpter et de le texturer comme voulu avant d'y disposer les static-meshes, brushes et autres objets nécessaires au jeu. Si des modifications doivent apportées à la topographie après que tous ces éléments aient été placés, tout actor ajouté à la map possède, dans l'onglet Collision de ses propriétés, le paramètre bAutoAlignToTerrain. Si ce paramètre est vrai et que l'actor se trouve à la verticale du terrain (aussi bien dessus que dessous), il se déplacera vers le haut ou le bas en même temps que le quad sur lequel il est positionné.

Il reste possible de déplacer les actors ou le TerrainInfo de façon libre : seul la modification du relief a cet effet. À ce propos, notez qu'un terrain ne peut pas être tourné en faisant subir une rotation au TerrainInfo. Le terrain est toujours parfaitement aligné sur la grille.

Eclairage

L'éclairage des terrains se fait sur le même modèle que celui des static-meshes (en faisant la moyenne de la lumière sur chaque vertex de chaque triangle), mais de façon simplifiée : la quantité de lumière reçue par un triangle du terrain est liée à son orientation par rapport à la source de lumière seulement. En conséquence, s'il peut recevoir les ombres des objets (brushes, static-meshes, etc.), le terrain ne reçoit pas d'ombre de lui-même : si un gouffre profond fait face à la Sunlight, la face orientée vers la lumière sera éclairée à pleine puissance, même si l'autre face du ravin devrait projeter une ombre dessus.

Cet effet est suffisant dans la plupart des cas, car il permet de simuler la radiosité des surfaces, mais l'approximation peut devenir flagrante lorsque des zones qui devraient clairement être à l'ombre sont éclairées, ou lorsque d'autres objets (BSP, static-meshes) reçoivent l'ombre du terrain alors que les quads autour d'eux restent lumineux.

Il peut donc être nécessaire d'ajouter une brush derrière les polygones du terrain afin que celui-ci masque la source de lumière et pour qu'une ombre soit effectivement projetée sur le terrain. Un tel cas est présent dans BR-Riveting, car le pont central de la map reçoit l'ombre d'un des deux pics rocheux alors que le terrain autour reste beaucoup plus ensoleillé.

Absence d'ombre derrière la montagne dans Riveting

L'ajout d'un morceau de géométrie dans la montagne permet d'avoir un ombrage cohérent sur le terrain et la géométrie.

Ajout d'un brush caché pour projeter l'ombre appropriée

Enfin, le lightmap du terrain étant basique (même lorsqu'un lightmap peint à la main est utilisé avec la propriété VertexLightMap), il n'est pas possible de réaliser des ombres détaillées. La seule façon d'y parvenir est d'utiliser des Projectors.

Optimisation

Les terrains sont le plus souvent de grandes zones ouvertes et donc impossibles à zoner de façon efficace. Un terrain, même simple, étant composé de centaines de triangles, il est capital, pour ne pas oblitérer les performances, de contrôler la partie du terrain qui s'affiche à chaque instant.

Comme vu plus haut, le terrain est divisé en secteur de taille définie par le paramètre TerrainSectorSize. Tant qu'au moins un quad d'un secteur est visible, le secteur entier est affiché (cela évite de tester individuellement chaque quad). Tout l'enjeu de l'optimisation d'un terrain est donc de rendre autant de secteurs que possible non affichables à chaque instant. La visibilité n'est pas calculée par rapport à ce que le joueur peut réellement voir de son point de vue, cependant. Un objet est considéré comme visible si son affichage n'est pas expressément interdit.

Le premier moyen d'y parvenir est d'utiliser un brouillard avec bClearToFog = vrai. Ainsi, tout secteur entièrement masqué par le brouillard peut-être sauté. Mais ce moyen n'agit que sur les zones lointaines ou nécessite un brouillard proche pour limiter l'affichage à un rayon restreint autour du joueur. C'est la raison pour laquelle la plupart des maps du mode Onslaught sont noyées dans une épaisse purée de pois.

ONS-Dria, noyée dans un brouillard bleu

La deuxième méthode est d'utiliser des antiportals. Ces brushes empêchent l'affichage de tout objet qu'ils cachent entièrement, y compris les secteurs de terrain qu'ils masquent. Les antiportals sont généralement insérés à l'intérieur des collines les plus importantes ou derrière les falaises pour masquer des portions aussi grandes que possible du terrain. Un excellent exemple est BR-Colossus : un antiportal gigantesque coupe la map en deux à l'intérieur du mur central sur lequel se trouve la balle. Depuis l'un des côtés, la base adverse est entièrement masquée, ce qui permet d'éviter l'affichage de la moitié du terrain.

L'antiportal giganesque qui coupe BR-Colossus en deux

Bien entendu, l'utilisation des zones fonctionne aussi : si le joueur se trouve par exemple dans une zone séparée et ne peut voir qu'une partie du terrain à travers un portal, les secteurs non visibles ne sont pas affichés. Dans BR-Riveting, les intérieurs de chaque base sont des zones séparées. Tant que le joueur reste dedans et ne regarde pas vers l'extérieur à travers un portal, aucun polygone du terrain n'est donc calculé.

© 2005-2026, by Hellkeeper.

Valid XHTML 1.1 & CSS 3