| Entités | Type | Description |
|---|
| func_physbox |
Bloc |
Permet de créer un bloc physique |
| func_detail |
Bloc |
Permet d'alléger le calcul pour les blocs ne faisant pas partie intégrante de la structure de la map.
|
Pour illustrer l'utilisation des
func_physbox, j'ai décidé de les mettre en scène dans un escalier.
Un
func_physbox est un bloc, qui réagit aux lois de la physique. Il peut tomber, être attrapé avec le Gravity Gun... C'est un peu l'équivalent du prop_physics, mais pour un bloc.
Mais, quel rapport avec un escalier ?
En fait, je vais créer un escalier dont les marches centrales tomberont quand vous marcherez dessus.
Commencez par créer un escalier. Dans mon exemple, je vais prendre un escalier simple, composé de deux montants et de marches.
Mettez vos marches et vos montants en
func_detail. Laissez juste quelques marches, au centre de l'escalier, en blocs.
Voici le moment d'apprendre les
func_details 
. Ces derniers, inexistants sous Half-Life 1 sont indispensables sous le moteur Source. Retenez bien ceci :
tout ce qui n'est pas un bloc de structure doit être en func_detail. J'entends par bloc de structure des blocs importants comme les murs, les plafonds, le sol. C'est l'architecture basique de la map. Tout le reste doit être en
func_detail, comme les poutres, les colonnes, les rebords... donc tout ce qui est un détail et qui ressort d'un mur.
Et pourquoi ?
C'est pour une meilleure optimisation de votre map. Plus votre map est optimisée, moins votre carte graphique souffrira. Les
func_details servent à soulager le moteur d'affichage.
C'est en réalité beaucoup plus complexe que ça. Mais à ce stade, ce n'est pas important que vous le sachiez. Nous reverrons tout ça dans la partie consacrée à l'optimisation.
Bon, de retour à notre escalier

. Convertissez en
func_physbox, une à une, les marches que vous avez laissées en bloc.
Dès que c'est fait, sélectionnez les toutes, et faites
Alt +
ENTER pour éditer leurs propriétés.
- Name : donnez un nom, par exemple escalier_sadique.
- Material Type : mettez Metal. C'est pour indiquer que ces marches réagiront comme du métal (ça fera donc un bruit de métal en tombant)
Ben en fait c'est tout

. Ah non, cochez le flag
Start Asleep. Grâce à ce flag, les
func_physbox vont rester en l'air et non tomber au chargement de la map.
Les autres propriétés ne sont pas utiles et je pense que vous pouvez déjà les comprendre à peu près toutes tout seul

.
Maintenant, il va falloir déclencher la chute des marches quand je joueur passera dessus. Pour ça, rien de plus simple : un
trigger_once.
Celui-ci comprendra cet output :
| Output named | Targets entities | Via this input | Parameter | Delay |
|---|
| OnTrigger |
escalier_sadique |
EnableMotion |
<none> |
0.00 |
EnableMotion veut dire qu'on va autoriser les
func_physbox à bouger. C'est comme si le flag
Start Asleep se décochait, ce qui fait que les marches tomberont

.
Et voilà, votre escalier est prêt

.