Aller au menu - Aller au contenu

Icône Casser et pousser

Mise à jour : 22/07/2009
1 414 visites depuis 7 jours, dont 14 sur ce chapitre classé 94/786
Grâce à ce chapitre court et simple, vous saurez créer des objets cassables et poussables, très très fréquents dans une map. On peut dire que ce sont des éléments incontournables !

Vous verrez aussi comment faire pour pousser le joueur (lorsqu'il est dans un conduit de ventilation par exemple, il faut simuler le vent qui le pousse).
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Objets cassables

Entité concernée : func_breakable
Type d'entité : entité-bloc
Difficulté : facile

Il existe de nombreux objets que l'on peut casser dans Half-Life : caisses, vitres, ordinateurs etc...
Je pense que vous les connaissez bien, alors je ne vais pas m'attarder à vous expliquer ce que c'est. Voyons plutôt comment rendre un objet cassable :

Créez le bloc que l'on pourra casser. N'oubliez surtout pas de lui donner la texture appropriée (vitre, caisse etc...). Transformez-le en entité-bloc de type func_breakable.

Ouvrez ensuite ses propriétés. Voici la liste complète de ses attributs :
  • Name : nom de l'objet. Si vous appelez un func_breakable, à l'aide d'un trigger, alors il se cassera tout seul.
  • Global Entity Name : nom global de l'objet, si vous faites une aventure solo sur plusieurs maps.
  • Target on Break : nom de la cible à déclencher lorsque l'objet est cassé.
  • Strength : résistance de l'objet. Par défaut, la valeur est 1, c'est-à-dire qu'un simple coup casse l'objet. Si vous voulez que l'objet soit plus résistant, alors mettez une valeur plus élevée (100 correspond à la vie d'un joueur).
  • Material Type : très important ! Cela définit le type de matériel qui est cassé, et donc l'apparence qu'auront ses débris.
    • Glass : vitre.
    • Wood : bois.
    • Metal : blocs métalliques.
    • Flesh : euh, ça c'est des débris d'alien bien dégueullasses...
    • Cinder Block : blocs de ciment (si on casse un mur).
    • Ceiling Tile : morceaux de plafond (ces morceaux sont fins).
    • Computer : débris d'ordinateur. On peut voir des cartes PCI et des disques durs s'envoler... euh, vous n'oseriez tout de même pas casser un ordinateur ? ;)
    • Unbreakable Glass : voilà ce que j'appelle un truc débile : "Vitre incassable". Si vous mettez cette valeur, alors l'objet sera une vitre incassable... alors pourquoi avoir mis ça dans un func_breakable ? Voilà un bel exemple d'illogisme !
    • Rocks : morceaux de roches des montagnes rocheuses que vous connaissez bien depuis Half-Life. Je me demande avec quel arme le joueur pourra casser cette roche... un bazooka ? ;o)
  • Gibs direction : indique la direction dans laquelle partiront les débris
    • Random : les débris partiront dans tous les sens (par défaut).
    • Relative to attack : les débris partiront dans la direction opposée à l'attaque. C'est peut-être plus réaliste, mais le joueur ne le remarque pas forcément. Ca impose d'ailleurs un peu plus de calculs à l'ordinateur.
  • Delay before fire : temps en secondes avant de déclencher la cible définie dans "Target on break".
  • Gib model : si vous voulez utiliser vos propres débris, indiquez ici le fichier *.mdl à utiliser.
  • Spawn On Break : utilisé généralement avec les caisses. Si l'objet est cassé, cela permet de libérer un bonus (qui se trouvait à l'intérieur de la caisse).
    Par défaut, aucun bonus n'apparaît ; mais si vous voulez en offrir un au joueur, alors faites votre choix dans la liste (qui est plutôt longue). Servez-vous du chapitre sur les armes et les munitions pour savoir quoi choisir.
    Bien entendu, cela n'est valable que pour Half-Life ;)
  • Explode Magnitude (0=none) : par défaut, l'objet n'explose pas lorsqu'il est cassé (valeur 0). Si vous voulez qu'une explosion se déclenche lorsque l'objet est cassé, alors mettez une valeur supérieure à 0 correspondant à la puissance de l'explosion. 100 = puissance d'une grenade.
  • Render FX, Render Mode, FX Amount et FX Color : voir le chapitre sur la transparence pour savoir comment les utiliser.
  • Minimum light level : niveau de luminosité minimum de l'objet, si vous voulez que celui-ci reste visible même dans le noir.
Après cela, voici les flags que vous pouvez cocher :
  • Only Trigger : on ne peut casser l'objet que par l'intermédiaire d'un trigger ou d'un bouton. Dans ce cas, veillez à bien donner un nom à l'entité pour qu'on puisse l'appeler.
  • Touch : explose lorsqu'on le touche.
  • Pressure : explose lorsqu'on l'utilise.
  • Instant Crowbar : quelle que soit la résistance de l'objet (Strength), un seul coup de pied de biche suffit à le casser.

Ouf ! Voilà je crois n'avoir rien oublié :)
De toute façon, un func_breakable reste toujours simple à utiliser, et on ne se sert pas à chaque fois de tous ses attributs !

Objets poussables

Entité concernée : func_pushable
Type d'entité : entité-bloc
Difficulté : facile

Un func_pushable est normalement très simple à utiliser :
Créez l'objet poussable (généralement un caisse), et transformez-le en entité-bloc func_pushable.

Normalement, cela suffit amplement à intégrer un objet poussable dans sa map... à moins que vous ne vouliez que l'objet soit poussable ET cassable.
Dans ce cas, regardez les attributs : vous retrouverez les mêmes que ceux des func_breakable que nous avons étudié plus haut !

Inutile donc de vous réexpliquer comment les utiliser, vous trouverez vous-mêmes les attributs à remplir.
Pensez à cocher le flag "Breakable" pour indiquer que cet objet est poussable et cassable à la fois.
Cette entité possède toutefois 3 nouveaux attributs :
  • Hull Size : indiquez la taille de l'objet. Cet attribut n'est pas très important mais permet à Half-Life de déterminer de quelle manière l'objet doit être poussé. Il n'est vraiment pas utile de modifier la valeur par défaut.
    • Point size : par défaut. La taille est calculée à partir du point de contact entre le joueur et l'objet.
    • Player size : taille du joueur.
    • Big size : grande taille.
    • Player duck : taille du joueur accroupi.
  • Friction (0-400) : ben c'est la friction ;o) Concrètement, plus il y a de friction, plus l'objet glissera facilement. Réciproquement, moins il y a de friction, plus le joueur va avoir du mal à pousser l'objet.
  • Buoyancy : flottabilité. Si l'objet est poussé dans l'eau, alors il va plus ou moins flotter. A vous de déterminer la partie de l'objet qui restera émergée de l'eau.

Quant au flag "Breakable", je vous en ai déjà parlé plus haut. S'il est coché, alors l'objet sera cassable et poussable à la fois.
Chapitre précédent Sommaire Chapitre suivant

Partager

2 commentaires pour "Casser et pousser"
Note moyenne : 3.81 / 4 (47 votes)
Pseudo Commentaire
Hors ligne allotaxi # Posté le 27/09/2008 à 17:33:35

Ville : Douarnenez
Pays : France métropolitaine

bon tutoriel
je signale juste une faute dans le chapitre des Objets poussables : Créez l'objet poussable (généralement une caisse), et transformez-le en entité-bloc func_pushable.
Mais je cherche la petite bête :-°

Si vous me cherché, je suis juste à l'autre bout du fil

Secret (cliquez pour afficher)
Se n'est pas une raison pour tiré :-°
 
Hors ligne kidpaddle59 # Posté le 10/07/2009 à 16:14:13
Dormir , Dormir et ... Valve
Avatar

Pour ton information , m@ateo21 , la fonction vitre incassable permet de rendre la vitre "anti-balles" (si on tire dessus , celà permet de faire des éteincelles)
Merci , sinon , très bon tutoriel

Maps Sven-coop 4.07 :
Bravo , Delta adventure :
| ||||||||| 4%
 

Voir tous les commentaires