Fr/Making a wall of water: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
Line 2: Line 2:
== Principe ==
== Principe ==


Dans certains cas, créer de la fausse eau est une solutions. Par exemple vous voulez créer un mûr d'eau, car le shader "water" ne peut pas faire , il est limiter à une surface plane, non verticale.
Dans certains cas, créer de la fausse eau est une solution. Par exemple vous voulez créer un mur d'eau, car le shader "water" ne peut pas faire ça, il est limité à une surface plane, non verticale.
On utilise ici un shader courant : "LightmappedGeneric", avec des paramètres propre au shader "water".
On utilise ici un shader courant : "LightmappedGeneric", avec des paramètres propres au shader "water".


Vous pourrez simuler des réflections 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 Vavle et utilisé par les matériaux "water".



Revision as of 14:19, 7 December 2008

Eau avec un shader "LightmappedGeneric".

Principe

Dans certains cas, créer de la fausse eau est une solution. Par exemple vous voulez créer un mur d'eau, car le shader "water" ne peut pas faire ça, il est limité à une surface plane, non verticale. On utilise ici un shader courant : "LightmappedGeneric", avec des paramètres propres au shader "water".

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".

VMT top

Pour la texture "$basetexture", une image généré sous PS avec un filtre nuage conviens, faîte une couche alpha selon la transparence désirée.

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


"LightmappedGeneric"
{
         "%compilewater" 1
         "$abovewater" 1
         "$surfaceprop" "water"
         "$bottommaterial" "..."
         "$basetexture" "dev/water_moving"  //texture basic
         "$bumpmap" "dev/water_normal"      //Normal map animée de Valve fournit avec le jeux
         "$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 basic est animée, alors qu'il s'agit seulement d'une image, cela est nécessaire pour que le BUMP s'anime.

VMT Bottom

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