Entités |
Type |
Description |
---|---|---|
Bloc |
Pour faire un bloc avec des fonctionnalités spéciales |
|
Bloc |
Permet de créer un bloc non-solide. |
|
Bloc |
Ancêtre du func_detail, devenu obsolète |
|
Bloc |
Pour faire un bloc qu'on peut afficher et masquer de façon toggle |
L?entité func_brush est une nouvelle entité apparue avec le moteur Source. Elle a pour fonction de remplacer les entités func_illusionary, func_wall et func_wall_toggle, ces dernières datant de HL1, mais toujours présents sous Source.
Le func_brush possède tout un tas de propriétés, mais je ne vais vous en citer que deux, qui je pense, sont les principales .
Start Disabled :
Yes : le bloc ne sera pas visible par défaut
No : le bloc sera visible par défaut
Solidity : spécifie la solidité du bloc
Never Solid : le bloc ne sera jamais solide
Always Solid : le bloc sera toujours solide, et ce, même si il est masqué (via le Start Disabled)
Toggle : si le bloc est affiché, il est solide. S?il est masqué, il n?est pas solide. C?est la position sur laquelle je place généralement cette propriété.
Grâce à cette entité, vous pourrez, par exemple, créer un champ de force (un bête bloc avec une texture de champ de force comme effects/com_shield003a) entre deux plates-formes qui sera affiché si le joueur appuie sur un bouton.
Pour afficher ou masquer le func_brush via les outputs, vous devrez utiliser les inputs Disable et Enable. Dans le cas de mon champ de force, mon output serait (Start Disabled est renseigné avec Yes) :
Output named |
Targets entities |
Via this input |
Parameter |
Delay |
---|---|---|---|---|
OnPressed |
champ_de_force |
Enable |
<none> |
0.00 |
Tu parles du func_illusionary, ça servait à quoi ce truc sous HL1 ?
C?était tout simplement un bloc non-solide. Il est donc remplacé par la propriété Solidity du func_brush.
Et les func_wall et func_wall_toggle ?
Le func_wall est l?ancêtre du func_detail. Quant au func_wall_toggle, c?est un bloc que l?on peut masquer et afficher, comme le func_brush. Cela dit, le func_wall_toggle a la possibilité d?être commandé via l?input Toggle, que le func_brush ne possède par (il n?a que Disable et Enable). Rappelez-vous le tuto sur les lampes, avec l?input Toggle. Ici, c?est pareil : si le mur était masqué, il s?affiche et vice-versa. Ca peut être utile dans certains cas, mais c?est plutôt rare .
Entités |
Type |
Description |
---|---|---|
Bloc |
Pour faire un bloc cassable |
Quoi de plus amusant dans une map que de pouvoir tout casser ? Rien me direz-vous, et vous avez raison . C?est pour cela que je vais vous montrer comment faire un bloc cassable.
L?entité est func_breakable (breakable veut dire cassable en anglais). Voici les propriétés utiles de cette entité de barbare :
Explosion Damage : c?est la puissance de l?explosion si l?entité est cassée. Si vous laissez 0, il n?y aura pas d?explosion
Explosion Radius : c?est le rayon dans lequel l?explosion se fera ressentir
Performance Mode : c?est utilisé pour définir le nombre de débris que génèrera le cassage
Normal : la quantité de debris est normale
No Gibs : il n?y a aucuns debris. Le calcul pour le moteur d?affichage est donc plus simple
Full Gibs on All Platforms : il y a beaucoup de débris, et donc beaucoup de calculs d?affichage
Strength : c?est le nombre de points de vie que possède l?entité. Plus le nombre est élevé, plus le bloc est résistant. Si vous mettez 0, l?entité ne sera pas cassable avec des armes (il faudra la casser avec les outputs par exemple)
Material Type : très important, c?est le type de matériau dont est faite l?entité. Si vous avez fait une caisse en bois, choisissez Wood
Spawn On break : c?est ce qui apparaîtra une fois le bloc cassé
Explode Magnitude : c?est l?intensité de l?explosion
Et voici les flags disponibles :
Only Break On Trigger : pour seulement casser via un trigger (output)
Break On Touch : pour casser dès qu?on le touche
Break On Pressure : pour casser si une pression est exercée sur l?entité (si vous marchez dessus par exemple)
Break immediately on Physics : pour casser le bloc dès qu?il est pris
Don?t take physics damage : pour ne pas qu?il provoque de dommages s?il heurte le joueur
Entités |
Type |
Description |
---|---|---|
Bloc |
Pour faire une vitre cassable réaliste |
Faire une vitre est quelque chose de très simple. En effet, il vous suffit de mettre une texture de vitre (glass, pour le filtre de l?explorateur de textures) sur la face visible. Toutes les autres faces doivent impérativement être recouvertes de nodraw, y compris la face inverse de celle texturée (l?autre côté quoi ) ! C?est tout .
C?est vraiment tout ?
Non. Votre vitre ne sera pas cassable. Pour la rendre cassable, convertissez-la en func_breakable, et n?oubliez pas de mettre la propriété Material Type en position Glass .
Mais si vous cassez cette vitre, elle va se casser d?un coup, comme du temps d'Half-Life1. Pour donner une effet réaliste (la vitre se casse par morceaux), nous allons utiliser un func_breakable_surf.
J'ai pris le screen juste au moment ou un rebel me lançait une grenade. La déflagration fait péter les vitres, ça donne un bel effet .
Les propriétés ce cette dernière sont les même que pour un func_breakable. Strenght a juste changé de nom est et devenu Health. Il y a deux propriétés qui sont apparues :
Fragility : c?est la fragilité de la vitre une fois qu?elle est cassée. Si vous tirez dans la vitre, elle va se morceler. C?est la fragilité des ces morcellements que définit cette propriété
Surface Type : c?est le type de surface. Laissez Glass.
Il reste une chose pour améliorer notre vitre (cassable ou pas) : la réflexion. C?est ce que je vais vous expliquer maintenant .
Entités |
Type |
Description |
---|---|---|
Point |
Permet de créer des reflets au moyen de
cubemaps
|
L?env_cubemap est une entité assez abstraite. Pour faire simple, elle sert à créer des reflets.
Vous devez placer cette entité au centre de toutes vos pièces. Une fois votre map compilée et lancée, vous devez tapez buildcubemap dans la console.
Le jeu va alors créer toute une série d?images, qui sont les reflets de l?environnement. Ces images sont appelées des cubemaps. Les images sont prises de l?endroit où se trouve l?env_cubemap.
Les cubemaps ne sont pas visibles partout. En effet, seule certaines textures sont réfléchissantes (quelques textures de métal, les textures d?eau et de vitres).
Si vous faites une vitre, vous devez placer un env_cubemap (en plus de celui qui est déjà dans la pièce) près de celle-ci, et faire pointer cet env_cubemap vers la vitre.
Pour cela, nous allons nous servir de sa propriété Brush faces. Cliquez sur Pick et, dans la vue 3D, allez cliquer sur la vitre (la face qui est face à l?env_cubemap). Vous pouvez aussi picker (faire pointer l'env_cubemap vers une ou plusieurs faces) plusieurs faces en maintenant la touche Ctrl enfoncée.