Créer une mission pas à pas (Komag)

Les zones
Les textures
La skybox
Eau et brouillard
Détails et optimisation
Le son
Les livres
Les scripts
Préparation de la mission
Objectifs - partie 1
Objectifs - partie 2
Mise au point finale et emballage
Appendices

Introduction
Comment installer l'éditeur
S'assurer que tout fonctionne
Fonctions de base
La première pièce (ou room)
Création d'un inventaire
La lumière
Les static meshes
Développement de la zone
Ai, patrouille et navmesh
Le butin
Les portes
Rampes, escalier et échelles

Sommaire détaillé


Détails et optimisation

(Komag -- tr : Stefan Key)

Dans cette partie, je vais vous proposer quelques suggestions et des astuces pour ajouter plus de détails et des améliorations, et aussi quelques instructions pour paramétrer votre map pour une meilleure efficacité et une meilleure performance.

Un peu de vie dans l'égout

Tout d’abord, revenez dans la zone de l’égout pour rajouter des détails architecturaux. Vous pouvez creuser quelques petits tunnels sinueux et inclinés simulant des arrivées d’eau. Mettez-les sur les deux côtés de la room principale de l’égout.

Mettez des grilles (“WorldObj” – “Moving” – “Hinged” – “SpecialHinged” – “GenVent”) au-dessus des trous.
Pour qu’on ne puisse pas utiliser les grilles : mettez la propriété “Highlight” – “HighlightDist” à “0”.

Ajoutez des éclairages en haut dans le tunnel pour qu’ils illuminent le bas (“FleshLightType” – “FL_Spot”) puis ajustez leur luminosité, leur couleur (plutôt bleu) et le rayonnement (radius) jusqu’à ce que ça vous semble correct mais n’allez pas trop loin (les lumières allant trop loin ont un impact sur le Flesh engine). Pointez-les avec précision également.

Creusez des petits canaux à partir des petits tunnels menant jusqu’à la partie inférieure de l’égout.
- Recouvrez les canaux avec des grilles horizontales. Vous pouvez les fixer sur le sol de la pièce principale, avec une grille de 2 ou même 1).
- Si les canaux sont assez superficiels, les IA pourront marcher dessus sans soucis.
- Vous devrez peut-être mettre la propriété “Render” – “CastShadows” à “ShadowCasting_False” sur toutes les grilles pour que le Flesh Engine ait moins de travail.
- Ajoutez un spot light sur chaque entrée de grille avec une texture light bleu de fenêtre pour donner l’impression que les grilles font des lignes d’ombres.

Vous pouvez ajouter “Meshes” – “PIPE_ELECTRICAL-MECHANICAL” – “DOCxDrain01”, creusez un point BSP pour cela, et mettez-le là.

On peut rajouter d’autres choses comme des éclairages rougeâtres de machines, des tuyaux divers, des effets de gouttes d’eau, fumée/vapeur, etc, etc…

Ajoutez même des choses même sans savoir ce que vous faites. La zone va commencer à prendre vie, vous serez content du résultat. Au bout d’un moment, vous trouverez que certaines choses ne conviennent pas, vous pourrez les effacer sans encombre.

Rappelez-vous que vous pouvez re-skinner les meshes ou actors pour correspondre avec l’environnement BSP (Voir Les Textures), ne vous laissez pas intimider par un manque de texture spécifique à un mesh.

Egayer la ville

Dans la partie Rampes, Escalier et Echelles, je vous ai fait creuser une zone citadine basique. Retournez-y et améliorez-la.

Construisez un commerce. Nous allons en avoir besoin pour l’histoire lorsque nous ferons des écrits et les objectifs plus tard.
- Creusez une entrée dans un des murs de la zone citadine, puis creusez des rooms intérieures pour les pièces du commerce
- Ajoutez un petit bureau où le marchand gardera ses livres/notes.
- Créez une zone où il y aura un comptoir/des étagères avec des choses à acheter.
- Verrouillez la porte d’entrée, elle doit être crochetable.
- Ajoutez ce que vous voulez.

Ajoutez d’autres choses si vous le souhaitez dans la zone citadine, comme des devantures de buildings, fausses portes, lampadaires/lanternes, des bancs, des gouttières, des meshes de coins de rue, des balcons, des grilles, des panneaux, des plantes/buissons, etc… Ainsi que des décors variés, des textures «fake backdrop» de skybox, des profils de toits, tuyauteries, charettes, des débris, fenêtres, etc…
On ne peut pas bouger/interagir avec les objets du static mesh browser alors qu’on peut avec les objets du actor class browser, mais cela demande plus de ressources pour le processeur et peut faire (légèrement) baisser le frame rate.

Ouvrez une section citadine ou deux dans l’éditeur (“Stonemarket1.gmp” est un bon exemple), regardez dedans pour de bonnes idées sur les meshes ou pour l’assemblage des brushs.

Ajoutez peut-être une grille ou deux sur le trou au dessus de l’échelle (menant à l’égout). Ou alors créez une petite room avec une grille juste avant l’échelle, un peu en dessous de la rue ou une station de pompage ou autre…

Passez quelques heures à faire une jolie petite cité.

Un peu de bravoure, ajoutez quelques détritus ici, vous serez surpris que quelques petits bouts de “rien du tout” donnent vie à la scène.
Astuce : on peut utiliser une seule partie d’un mesh en “enterrant” le reste dans le mur/sol ou autre.

Sélection rapide de l'actor

Une astuce pratique quand on veut ajouter quelque chose de similaire à un objet actor qu’on a déjà dans la map (comme un Ai différent). Pas la peine de dérouler toutes les branches du browser pour y accèder.

Ouvrez l’“Actor Class Browser” (ce n’est pas obligatoire qu’il soit ouvert, mais on voit mieux ce qui se passe), puis faites un clic droit sur l’objet que vous avez déjà dans votre map, puis cliquez sur “Select Archetype: ______ in Browser”. La sélection de l’actor dans le navigateur est déjà dans le coin et vous pouvez trouver rapidement le nouvel objet que vous cherchiez.

Optimisation navmesh

Sélectionnez les propriétés des surfaces puis faites une coche “Do Not Add to NavMesh” sur chaque surface BSP où les Ai n’iront jamais marcher, comme les hauts rebords de buildings et votre room skybox. Pensez aux petits endroits aussi, comme sous les tuyaux, etc…

Améliorez / bloquez le NavMesh autour des côtés des rampes d’escalier pour que les Ai ne puissent pas monter en prenant un raccourci et qu’ils restent bloqués. On peut placer des petits volumes de blocage sur les côtés en haut et en bas.

Aide sur le frame-rate

Si vous n’y prêtez attention, vous allez vite constater que le frame rate est très bas dans certaines zones. Il y a certaines choses à faire pour le remonter.

Désactivez le shadowcasting sur toutes les surfaces BSP, comme mentionné dans Les Textures.
- Dans le menu, sélectionnez “Edit” – “Select All Surfaces” (ou faites Shift+S) pour toutes les sélectionner.
- Un clic droit sur l’une d’entre elles, ouvrez “Surface Properties”, puis une coche dans “Do Not Cast Shadows”.
- Même s’il n’y a rien derrière un mur, le Flesh engine calcule une ombre dans cette direction. Vous pouvez vite vous rendre compte que les désactiver peut grandement améliorer la situation.
- Mais parfois, il y a des endroits qui ont clairement besoin d’ombre comme un coin de mur ou une lumière de torche qui traverse du granite. A ce moment-là, réactivez le shadowcasting sur une surface particulière, si nécessaire.

Placez correctement vos zone portals, n’oubliez pas de sélectionner
“View” – “Show Zone Properties Dialog” pour que l’éditeur puisse ajouter les “Zone Properties” sur les nouveaux que vous avez créés.

Essayez de ne pas mettre trop d’éclairages projetant des ombres dans la même zone.
Quelques solutions :
- Enlevez-les ou réarrangez les autres ;
- Transformez certains d’entre eux en éclairages “OmniNoShadow” ;
- Baissez le paramètre de rayonnement de l’éclairage.

Réactivez les ombres sur les meshes si c’est vraiment nécessaire; ou déplacer le mesh dans / vers le coin supérieur d’une zone plus sombre puis désactivez son ombre.

Désactivez le brouillard.

Reconstruisez la zone pour qu’elle soit plus étriquée, avec des distances de vue très petites.

Retour en haut

Tutoriels sur T3ed
t3ed.tutoriel.free.fr