Fr/Making a wall of water: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
m (category)
m (Corrected 'Vavle' to 'Valve')
Line 5: Line 5:


Vous pourrez simuler des réflexions avec des cubemaps, du brouillard seulement avec le matériaux "bottom", mais pas de réfractions.
Vous pourrez simuler des réflexions avec des cubemaps, du brouillard seulement avec le matériaux "bottom", mais pas de réfractions.
Tout comme le shader water il faut utiliser 2 VMT. Le BUMP utilisé sera celui fourni par Vavle et utilisé par les matériaux "water".
Tout comme le shader water il faut utiliser 2 VMT. Le BUMP utilisé sera celui fourni par Valve et utilisé par les matériaux "water".


== VMT top ==
== VMT top ==

Revision as of 06:15, 30 October 2010

Eau avec un shader "LightmappedGeneric".

Principe

Dans certains cas, créer un mur d'eau est une solution. Cependant le shader "water" ne peut pas faire ça, il est limité à une surface plane, non verticale. On utilise donc ici un shader courant : "LightmappedGeneric", avec des paramètres propres au shader "water" pour remédier au problème.

Vous pourrez simuler des réflexions avec des cubemaps, du brouillard seulement avec le matériaux "bottom", mais pas de réfractions. Tout comme le shader water il faut utiliser 2 VMT. Le BUMP utilisé sera celui fourni par Valve et utilisé par les matériaux "water".

VMT top

Pour la texture "$basetexture", une image générée sous Photoshop avec un filtre nuage convient, faites une couche alpha selon la transparence désirée. Vous pourrez ensuite l'exporter vers un fichier .vtf utilisable sous Source avec les outils adéquats.

"$basetexture" généré sous Photoshop.


"LightmappedGeneric"
{
         "%compilewater" 1
         "$abovewater" 1
         "$surfaceprop" "water"
         "$bottommaterial" "..."
         "$basetexture" "dev/water_moving"  //texture basique que vous avez faite précédemment
         "$bumpmap" "dev/water_normal"      //bump map
         "$translucent" "1"                 
         "$envmap" "env_cubemap"
         "$envmaptint" "[1 .9 .8]"
         "$envmapcontrast" "1"
         "$fogenable" "1"                
         "$fogcolor" "[ 1 1 1 ]"      
         "$fogstart" 0                    
         "$fogend" 50                
"Proxies"
{
    "AnimatedTexture"
          {
               "animatedtexturevar" "$basetexture"
               "animatedtextureframenumvar" "$frame"
               "animatedtextureframerate" 21.00
          }
    "AnimatedTexture"
          {
               "animatedtexturevar" "$bumpmap"
               "animatedtextureframenumvar" "$bumpframe"
               "animatedtextureframerate" 21.00
          }
}
}

Vous remarquerez ici que la texture basique est animée alors qu'il s'agit seulement d'une image. Cela est nécessaire pour que le bumpmap s'anime.

VMT Bottom

"LightmappedGeneric"
{
          "$basetexture" "..."
          "$translucent" "1"
          "$fogenable" "1"                 
          "$fogcolor" "[ 1 1 1 ]"      
          "$fogstart" 0                    
          "$fogend" 300                
}