Comment optimiser une carte dans Hammer Editor : 10 étapes (avec images)

Table des matières:

Comment optimiser une carte dans Hammer Editor : 10 étapes (avec images)
Comment optimiser une carte dans Hammer Editor : 10 étapes (avec images)
Anonim

Voulez-vous accélérer les performances de votre carte personnalisée, ne pas vous enliser dans des problèmes de rendu et réduire le temps de compilation ? Voici quelques conseils pour vous aider à optimiser n'importe quelle carte dans Hammer.

Pas

Optimiser une carte dans Hammer Editor Étape 1
Optimiser une carte dans Hammer Editor Étape 1

Étape 1. Scellez les pièces

C'est un must. S'il y a des fuites dans la carte, le compilateur ne sera pas en mesure de déterminer les limites de la carte et tentera de tout restituer dans la carte en une seule fois. Pire encore, les portails de zone, les pinceaux d'indice et les obturateurs de la carte ne fonctionneront pas, ce qui les rendra inutiles. De plus, l'eau ne s'affichera pas correctement s'il y a des fuites sur la carte.

  • Sur la figure 1a, la pièce n'est évidemment pas étanche. Si vous compilez cette carte avec cette fuite, vvis (la partie de la compilation qui détermine les données de visibilité) ne sera pas en mesure de déterminer les limites de la carte, car les visleaves vont simplement "fuir" dans le vide noir à l'extérieur de notre carte.
  • Dans la Fig. 1b, la pièce est scellée et sera compilée correctement.
  • Pour vérifier les fuites, assurez-vous d'abord qu'il y a au moins une entité dans la carte (comme un "info_player_start"), sinon cela ne fonctionnera pas. Enregistrez et compilez le BSP en appuyant sur F9 ou en allant dans Fichier -> Exécuter la carte. Sélectionnez "Normal" pour Exécuter BSP, et sélectionnez "Non" pour les deux Exécuter VIS et Exécuter le RAD (assurez-vous également de vérifier le "Ne lancez pas le jeu après la compilation" boîte). Une fois la compilation terminée, fermez le journal de compilation et accédez à Carte -> Charger le fichier de point. S'il y a des fuites, il vous demandera de confirmer l'opération (ex. "Charger le fichier de points par défaut? [C:\Program Files\----]) Sélectionnez "Oui", et vous verrez une ligne rouge dépasser de l'entité la plus proche* à travers la zone de la fuite.(*C'est pourquoi vous avez besoin d'une entité, soit un pinceau, soit un point, dans votre carte. Cela ne fonctionne pas avec les pinceaux du monde ou de détail.) Scellez la fuite, recompilez le BSP, et chargez le fichier de points. Si tout est scellé, il devrait simplement aller dans un dossier vide dans le Steam\steamapps\GAMERTAG\GAME\mapsrc dossier. Vérifiez toujours s'il y a des fuites avant que la carte ne soit rendue publique.
Optimiser une carte dans Hammer Editor Étape 2
Optimiser une carte dans Hammer Editor Étape 2

Étape 2. Créez des pinceaux avec "tools/toolsnodraw"

Assurez-vous de toujours créer des pinceaux avec le outils/outilsnodraw texture d'abord, puis texture uniquement ce que le joueur peut voir du point de vue du joueur. Si vous ne voyez qu'un côté d'un mur, texturez uniquement ce côté visible.

Optimiser une carte dans Hammer Editor Étape 3
Optimiser une carte dans Hammer Editor Étape 3

Étape 3. Réduisez le nombre de pinceaux et de faces

Dans la mesure du possible, s'en tenir à la création de géométrie avec quelques gros pinceaux plutôt qu'un millier de petits. Plus de pinceaux équivaut à plus de visages, et plus de visages équivaut à des performances et un temps de compilation plus lents. Conclusion: si vous pouvez créer une géométrie complexe avec un ou deux pinceaux, pourquoi en utiliser plus ?

Dans la figure 3a, il y a deux pinceaux: celui de gauche a été créé à l'aide de l'outil Arch Tool qui a créé un pinceau à 8 faces avec 40 faces, et celui de droite a été fabriqué à partir d'un seul pinceau coupé avec seulement 11 faces. Ce dernier a été réalisé en utilisant l'outil de découpage (Maj + X). Pour réaliser ce dernier, il est recommandé de créer d'abord la forme géométrique souhaitée à partir de l'outil Arch Tool pour référence. Ensuite, créez un pinceau de même longueur, largeur et hauteur que l'arc de référence et placez-le légèrement au-dessus de la référence. Sélectionnez le pinceau et coupez les angles. (vous devrez peut-être modifier la taille de la grille ("-" pour diminuer, "+" pour augmenter) et/ou déplacer manuellement les sommets (Maj + V) de l'arc de référence pour s'accrocher au point de grille le plus proche.) un pinceau géométriquement identique, mais seulement avec moins de visages

Optimiser une carte dans Hammer Editor Étape 4
Optimiser une carte dans Hammer Editor Étape 4

Étape 4. Faites bon usage des pinceaux de détail

Les brosses mondiales bloquent la visibilité, scellent la carte et divisent le BSP en « feuilles », qui sont essentiellement la façon dont le compilateur détermine ce qui peut et ne peut pas être vu à un moment et à un endroit donnés. Les pinceaux de détail ont été conçus pour être essentiellement "invisibles" pour le compilateur. Les seules brosses qui devraient être des brosses universelles sont les murs, le sol et le plafond d'une pièce. À peu près tout le reste de la pièce qui n'est pas une entité fonctionnelle et ne bloque pas de manière significative la vision du joueur doit être lié à un pinceau func_detail (lier en utilisant Ctrl + T). Étant donné que les pinceaux de détail ne bloquent pas la visibilité, ils ne seront pas compilés dans vvis calculs et ne divisera pas la carte en plusieurs visleaves (ce qui est bien dans la plupart des cas). Soyez averti cependant que cela ne scellera pas non plus la carte. Assurez-vous simplement que toutes les brosses du monde scellent la carte et il ne devrait pas y avoir de problèmes.

Optimiser une carte dans Hammer Editor Étape 5
Optimiser une carte dans Hammer Editor Étape 5

Étape 5. Utilisez les portails de zone et les pinceaux de conseils de manière appropriée

Les portails de zone et les pinceaux de conseils sont d'excellents moyens de limiter la visibilité et d'augmenter les performances s'ils sont effectués correctement. Cependant, vous ne devez pas les placer dans chaque couloir et fenêtre, car le montant à calculer ce qui est censé être rendu et quand pourrait très bien dépasser celui du rendu de toute la pièce en une seule fois. Au lieu de cela, vous devez uniquement séparer les pièces avec beaucoup de détails. Cela évitera à votre ordinateur d'avoir à restituer de nombreux objets inutiles et contribuera à augmenter les performances sans mettre à rude épreuve les calculs de visibilité.

Optimiser une carte dans Hammer Editor Étape 6
Optimiser une carte dans Hammer Editor Étape 6

Étape 6. Utilisez des obturateurs (avec parcimonie)

Les bloqueurs sont similaires à un portail de zone fermée, car ils ne rendent pas ce qui se trouve derrière. Cependant, il est différent d'un portail de zone fermé en ce qu'il n'a pas besoin de sceller une pièce (il peut être autonome et ne pas toucher les brosses du monde) et il ne bloque que les modèles 3D (aka accessoires). Cet outil est très coûteux en termes d'utilisation de la mémoire, vous ne devez donc utiliser des obturateurs que lorsqu'il y a un modèle 3D coûteux derrière un mur autoportant qui ne peut pas être scellé par des portails de zone.

Optimiser une carte dans Hammer Editor Étape 7
Optimiser une carte dans Hammer Editor Étape 7

Étape 7. Ajoutez des Sky-box 3D

Pas totalement nécessaire, mais cela aidera à rendre la carte beaucoup plus grande sans ralentir considérablement les FPS (images par seconde). Les skybox 3D sont généralement conçus pour les "grandes" cartes extérieures, mais il est possible de le faire pour une carte intérieure si vous pouvez voir un extérieur à travers une fenêtre ou quelque chose. Les skyboxes 3D sont très bon marché à rendre et peuvent faire apparaître une petite carte jusqu'à 16 fois plus grande car les skyboxes 3D sont définies à une échelle de 1/16 dans Hammer, puis agrandies lors de la compilation.

Optimiser une carte dans Hammer Editor Étape 8
Optimiser une carte dans Hammer Editor Étape 8

Étape 8. Ajoutez du brouillard

Sur les grandes cartes extérieures, le brouillard peut limiter la quantité de détails rendus, et il peut rendre votre carte plus réaliste dans le processus. Ajoutez simplement une entité env_fog_controller dans votre carte. Sur l'option "Activer le brouillard" dans le Propriétés de l'objet onglet, sélectionnez "Oui". Ensuite, modifiez le Plan de coupe éloigné Z à votre goût, qui enlèvera tous les pinceaux après cette distance, éliminant le moteur rendant les objets inutiles (Le Plan de coupe éloigné Z la valeur doit être supérieure à la Brouillard valeur).

Optimiser une carte dans Hammer Editor Étape 9
Optimiser une carte dans Hammer Editor Étape 9

Étape 9. Ne devenez pas fou sur l'échelle Lightmap

L'échelle de la lightmap détermine essentiellement le rendu des ombres nettes ou floues sur la géométrie. Des nombres plus importants dégradent la qualité de l'ombre, mais peuvent augmenter les performances. Au contraire, une échelle de lightmap inférieure augmente les visuels des ombres, mais peut considérablement réduire les performances. Une échelle de lightmap trop grande ou trop petite peut produire un effet d'éclairage irréaliste qui est respectivement trop terne ou trop net. L'échelle de lightmap par défaut pour tous les pinceaux est de 16, ce qui est une zone équilibrée entre les visuels et les performances.

Optimiser une carte dans Hammer Editor Étape 10
Optimiser une carte dans Hammer Editor Étape 10

Étape 10. Si votre carte contient de l'eau, placez une entité "water_lod_control" dans la carte

Cette entité détermine à quelle distance vous devez être de l'eau « chère » pour qu'elle passe à l'eau « bon marché ». L'eau chère semble beaucoup plus réaliste que l'eau bon marché et coûte donc plus cher en termes d'utilisation de la mémoire et de calculs sur l'ordinateur. Une distance de transition plus courte produira de l'eau moins chère à une distance plus courte, et par conséquent perdra beaucoup de qualité visuelle à distance, mais augmentera également les performances.

Des astuces

  • Les déplacements ne bloquent pas la visibilité, donc pour vous assurer que la carte est scellée, créez un pinceau mondial avec le outils/outilsnodraw texture sous le déplacement et sceller la carte avec (c'est-à-dire que les coins de ce pinceau touchent les coins de la skybox). Comme lors de la première étape, assurez-vous toujours que la carte est scellée, sinon pratiquement toutes les techniques d'optimisation mentionnées sont jetées par la fenêtre et dans le vide noir du moteur Source.
  • Lors de la création de portails d'aire (en créant un pinceau texturé avec outils/toolsareaportal et en le liant à func_areaportal), il est très important que les côtés d'un areaportal qui ne sont pas vus touchent les brosses du monde. Par exemple, si vous souhaitez placer un areaportal dans une porte, mais que cette porte a un cadre lié à func_detail, vous devez ne pas faire en sorte que la brosse areaportal touche le cadre de la porte car il s'agit de func_detail (et puisque les brosses func_detail n'affectent pas la visibilité, le journal de compilation reviendra avec une fuite). Au lieu de cela, la brosse areaportal devrait toucher les murs, le plafond et le sol de la porte (qui devraient toutes être des brosses mondiales), croisant le cadre de la porte. Ne vous inquiétez pas qu'il puisse y avoir un "z-clipping" autour du cadre de la porte; le cadre sera toujours rendu correctement dans le jeu… il est simplement là dans l'éditeur Hammer pour que le compilateur l'utilise pendant vvis.
  • Cet article suppose que vous avez une connaissance de base de l'interface de Hammer Editor (créer des pinceaux, placer des entités, lier des entités, etc.).
  • Lors de la création de pinceaux de conseils, ne texturez que les faces agissant comme des plans de conseils (les faces qui diviseront le BSP) avec le outils/bris d'outils texture. Texturez toutes les autres faces du pinceau n'agissant pas comme un plan d'indice avec outils/boîte à outils, sinon vous créerez plus de visleafs que vous ne le souhaitez.
  • Vous pouvez lier l'état Ouvert/Fermé d'un portail de zone à une porte fonctionnelle telle qu'un func_door, func_door_rotating ou une entité similaire. Pour ce faire, la porte à laquelle vous souhaitez que le portail régional soit lié a besoin d'un "nom" unique. (Donnez le nom en double-cliquant sur la porte pour ouvrir son Propriétés de l'objet fenêtre et donnez-lui un nom simple sous Nom dans l'onglet Informations sur la classe.) Une fois que vous avez nommé la porte, allez au Propriétés de l'objet et faites défiler jusqu'à "Nom de la porte liée" et sélectionnez la porte à laquelle vous souhaitez lier le portail de zone. Aussi (et c'est très important) vous devez définir le Etat initial de l'aireportail vers le Etat initial de la porte. Cela permet de s'assurer que lorsque la porte est fermée, le portail de l'aire se ferme avec elle. Si vous êtes curieux de savoir ce que dictent exactement les états du portail de zone Ouvert/Fermé, si un portail de zone est Ouvert, toutes les visleaves visibles de l'autre côté du portail de zone sont rendues. Au contraire, si le areaportal est Closed, alors rien au-delà du areaportal ne sera rendu. Donc, s'il y a un couloir ouvert dans lequel vous pourrez toujours voir, le Etat initial de l'areaportal doit être défini sur Ouvert et non sur Fermé. Et lorsqu'il est lié à une porte, vous ne pourrez pas voir au-delà de la porte de toute façon, alors réglez-le sur Fermé si la porte apparaît fermée (à moins qu'elle n'ait une fenêtre transparente, vous devriez alors avoir le areaportal défini sur Open et don même pas la peine de le relier à la porte).

Mises en garde

  • Ne faites jamais un pinceau compliqué avec l'outil creux. Les sommets (coins des pinceaux) se couperont et créeront simplement un gros désordre bâclé.
  • N'utilisez les obturateurs qu'en dernier recours. C'est très gourmand en mémoire, donc si un accessoire peut être scellé dans une pièce avec des portails de zone ou s'il est possible de diviser les visleaves avec des pinceaux d'astuce et de saut, alors désactivez l'utilisation d'occluseurs.
  • Les portails à zone ouverte sont beaucoup plus gourmands en mémoire car les visleaves sont calculées en temps réel. Il est conseillé d'utiliser aussi souvent que possible des portails de zone fermés ou des pinceaux à astuces.

Conseillé: