|
Les liquides: eau et lave |
|
|
|
|
Écrit par Kaleel
|
|
Mercredi, 02 Mars 2011 21:19 |
Dans ce chapitre nous allons voir comment utiliser les liquides.
Vous avez envie de créer un marécage, un lac de lave ou une piscine, pas de problème nous allons voir ça maintenant.
Commençons par l'eau
Créez tout d'abord le bassin ou vous voudrez mettre de l'eau, et placez à l'intérieur de ce bassin un brush qui touche les 4 bords, ainsi que le fond.
Plusieurs choix de textures s'offrent à vous:
Pour faire de l'eau assez sale, type marécage préférez plutôt la texture yavin/water1, ce qui donnera cela:

Pour faire une piscine ou une plage prenez plutôt la texture bespin/water2, ce qui donnera:

Note: La texture bespin/water1 ne fonctionne pas correctement, étonnant.
L'aspect final de la texture sera dans ce ton:

Notez que quelque soit la texture d'eau que vous utilisez, celle-ci sera automatique configurée pour la réflexion de la lumière, ainsi que pour la gestion du joueur (nage, noyade, mort, etc...).
Passons maintenant à la lave:
La lave est un peu plus complexe à prendre en main, car il n'y a pas réellement de texture par défaut qui fonctionne correctement. De même il est impossible de nager dans la lave sans fondre, il va donc falloir palier à tous ces détails.
Il y a bien une texture qui fasse l'affaire, elle se trouve dans le répertoire imp_mine/lava2. Cependant, bien qu'une texture de lave soit affichée celle-ci pose des problèmes par défaut, voyez par vous-même:

Marcher sur la lave, rien de plus incohérent, cependant pour excuser le jeu, il est vrai qu'il ne nous ai à aucun moment possible de tomber dans la lave dans Jedi Outcast.
Nous allons donc remédier à ce problème en créant de toute pièce un shader qui va nous permettre d'aller dans la lave. Par la même occasion nous allons améliorer le tout en ajoutant un effet de lumière (puisque la lave produit de la lumière).
Commencez par copier/coller la texture dans un répertoire de texture personnel: par exemple /base/textures/vos-textures/lava2
Ouvrez ensuite votre bloc note et copiez/coller le code ci-dessous:
textures/vos-textures/lava2{ qer_editorimage textures/vos-textures/lava2 q3map_surfacelight 150 surfaceparm nonsolid surfaceparm lava surfaceparm water surfaceparm trans q3map_material Water q3map_nolightmap q3map_onlyvertexlighting { map textures/vos-textures/lava2 blendFunc GL_ONE GL_ZERO tcMod scroll 0.01 0.01 tcMod turb 1 0.1 1 0.005 tcMod stretch noise 1 0.01 0 0.05 } }
Pour faire simple on a indiqué ici que la texture émettait de la lumière, qu'elle n'était pas solide, et qu'elle se déplaçait avec un courant.
Sauvegardez votre fichier en lui donnant le nom de lava.shader Placez ensuite ce fichier dans le dossier /base/shaders/.
Il est important de savoir que pour que l'effet fonctionne il faut que votre carte soit compilée avec vos répertoires /textures/vos-textures/ et /shaders/lava dans un .pk3.
Enfin pour finir sachez que la lave ne causera pas automatiquement de dégâts, par conséquent il faut placer un brush avec la texture system/trigger au même niveau que votre brush de lave, et lui assigner un trigger_hurt.
key: dmg value: 30
Ce qui causera 30 de dégâts par seconde.
textures/vos-textures/lava2{ qer_editorimage textures/vos-textures/lava2 q3map_surfacelight 150 surfaceparm nonsolid surfaceparm lava surfaceparm water surfaceparm trans q3map_material Water q3map_nolightmap q3map_onlyvertexlighting { map textures/vos-textures/lava2 blendFunc GL_ONE GL_ZERO tcMod scroll 0.01 0.01 tcMod turb 1 0.1 1 0.005 tcMod stretch noise 1 0.01 0 0.05 } }
textures/vos-textures/lava2{ qer_editorimage textures/vos-textures/lava2 q3map_surfacelight 150 surfaceparm nonsolid surfaceparm lava surfaceparm water surfaceparm trans q3map_material Water q3map_nolightmap q3map_onlyvertexlighting { map textures/vos-textures/lava2 blendFunc GL_ONE GL_ZERO tcMod scroll 0.01 0.01 tcMod turb 1 0.1 1 0.005 tcMod stretch noise 1 0.01 0 0.05 } }
textures/vos-textures/lava2{ qer_editorimage textures/vos-textures/lava2 q3map_surfacelight 150 surfaceparm nonsolid surfaceparm lava surfaceparm water surfaceparm trans q3map_material Water q3map_nolightmap q3map_onlyvertexlighting { map textures/vos-textures/lava2 blendFunc GL_ONE GL_ZERO tcMod scroll 0.01 0.01 tcMod turb 1 0.1 1 0.005 tcMod stretch noise 1 0.01 0 0.05 } }
|
|
Mise à jour le Mercredi, 02 Mars 2011 21:58 |