Entités |
Type |
Description |
---|---|---|
Bloc |
Permet de créer un bloc physique |
|
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.
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
.
Entités |
Type |
Description |
---|---|---|
Point |
Permet de créer la structure de l'échelle |
|
Point |
Permet de créer des points de sorties pour une échelle |
Sous le moteur Source, pour faire une échelle, il faut un début et une fin
.
Comme je le disais, il faut deux points pour définir une échelle. Ces deux points vont être créés avec une entité func_useableladder. Malgré la particule func_ dans le nom de l'entité, c'est une entité-point !
Alors, pour faire une échelle, commencez par la créer en blocs ou avec un model (recherchez ladder dans l'explorateur de models). Dès que c'est fait, créez l'entité func_useableladder à la base de l'échelle. Ce sera le début de votre échelle.
Au centre de cette entité, dans les vues 2D, il y a un petit cercle. Cliquez dessus et maintenez le
clic enfoncé en déplaçant le bloc vers le haut. Cette deuxième partie de l'entité sera la fin de votre l'échelle.
Essayez de positionner cette deuxième partie dans l'axe de la première partie (sauf si vous avez fait une échelle
oblique
).
Pour finir la structure de votre échelle, donnez lui un nom. Ca nous permttra d'utiliser les dismounts...
Les dismounts sont des points de sorties de l'échelle. Ce sont des endroits ou le joueur peut poser les
pieds de façon à sortir de l'échelle en toute sécurité. Il faut placer des dismounts au début et à la fin de
l'échelle (bah oui, si le joueur descend au lieu de monter
).
L'entité pour placer un dismount est info_ladder_dismount. Placez-les comme ceci :
Maintenant, vous n'avez plus qu'à renseigner la propriété Laddername avec le nom de
votre échelle, de façon à lier les dismounts à l'échelle
.
Sous Counter-Strike Source, pour faire une échelle, c'est tout simple (même trop simple
). Il suffit de créer un bloc en lui appliquant la texture toolsinvisibleladder. Le bloc se place
devant l'échelle, où le joueur passera, comme ceci :
Ici, pas de dismounts ni rien. Juste un bloc texturé
. CS c'est le mapping pour les feignants
.