Aller au menu - Aller au contenu

Icône Monter et descendre

Mise à jour : 24/01/2012
Difficulté : Facile Facile
2 942 visites depuis 7 jours, dont 58 sur ce chapitre classé 54/786
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Un escalier sadique

EntitésTypeDescription
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.


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 namedTargets entitiesVia this inputParameterDelay
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ésTypeDescription
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


Si vous mappez pour Counter-Strike, vous pouvez passer directement à la sous-partie suivante ;) .


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


Un bloc de func_useableladder symbolise la taille d'un personnage. Vous devez donc veiller à placer le point de sortie un peu plus haut que votre palier de manière à ce que votre joueur ne reste pas coincé ou n'ait pas une sortie difficile !


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

Votre échelle (le func_usableladder), pour fonctionner correctement ne doit pas toucher le model que vous utilisez pour représenter l'échelle (si vous utilisez un model ^^ ).


Certains jeux n'acceptent pas les échelles. C'est par exemple le cas de Team Fortress².

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 .
Chapitre précédent Sommaire Chapitre suivant

Partager

15 commentaires pour "Monter et descendre"
Note moyenne : 3.89 / 4 (103 votes)
Pseudo Commentaire
En ligne Thunderseb # Posté le 31/07/2009 à 20:17:31
Responsable de la validation
Avatar
Validateurs

Ville : Liège
Pays : Belgique

Comment ça ?
 
Hors ligne BaiShin # Posté le 02/08/2009 à 17:52:59
Mieux vaut rire que pleurer!
Avatar

Ville : Equancourt
Pays : France métropolitaine

Eh bien pour css, il faut créer un bloc devant l'échelle, n'est-ce pas? Dans le tuto, tu dis juste comment former ce bloc mais pas comment placer l'échelle. A moins que l'échelle se mette automatiquement derrière.

BaiShin

"Un Homme qui travaille trop ne rêve pas. Seuls les Hommes qui rêvent atteignent la sagesse"
 
Connecté Thunderseb # Posté le 02/08/2009 à 17:56:17
Responsable de la validation
Avatar
Validateurs

Ville : Liège
Pays : Belgique

Bah non, c'est un model, que tu dois placer toi-même.
 
Hors ligne t.r.i.a.l. # Posté le 10/10/2009 à 11:46:47

Salut réponse a Trallor sur quelque maps TF2 (surf) tu trouveras des "échelles" mais se n'ai pas des échelles authentique,ils ont placé un trigger push devant l'échelle ce qui te pousse en haut enfin c'est une hypothèse .


Et je voudrais savoir c'est quoi le outputs pour les mouvliear?
Hors ligne t.r.i.a.l. # Posté le 10/10/2009 à 11:47:56

enfin pour activer vous voyer

Désoler doubles message :)

Voir tous les commentaires