Monter et descendre

Un escalier sadique

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.

Image utilisateur 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.

Image utilisateur

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 ;) .

Les échelles

Entités

Type

Description

func_useableladder

Point

Permet de créer la structure de l'échelle

info_ladder_dismount

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.

Image utilisateur

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 ^^ ).

Image utilisateur

Pour finir la structure de votre échelle, donnez lui un nom. Ca nous permttra d'utiliser les dismounts...

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 :

Image utilisateur

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 ;) .

Les échelles de CS:S

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 :

Image utilisateur

Ici, pas de dismounts ni rien. Juste un bloc texturé :) . CS c'est le mapping pour les feignants :D .