Creating a Waterfall Material: Difference between revisions
Craziestdan (talk | contribs) (better) |
No edit summary |
||
Line 1: | Line 1: | ||
This is a Tutorial to create a Waterfall material. It will scroll downward and refract the image behind it | This is a Tutorial to create a Waterfall material. It will scroll downward and refract the image behind it. | ||
== The bump map == | == The bump map == | ||
Line 22: | Line 20: | ||
== The Material == | == The Material == | ||
=== The basic Material === | === The basic Material === | ||
At first you have create a | At first you have to create a material file(vmt) and name it something like waterfall.vmt. | ||
In the | In the material file you should use the '''[[Refract]]''' shader: | ||
''' | '''Refract''' | ||
{ | { | ||
} | } | ||
<br> | <br> | ||
We don't need a '''$basetexture''' for this shader. | |||
That is now the base of our Material. Now we add the Normalmap with '''$normalmap''' and the path to it like ''"nature/waterfall_n"''. | That is now the base of our Material. Now we add the Normalmap with '''$normalmap''' and the path to it like ''"nature/waterfall_n"''. | ||
Line 44: | Line 33: | ||
For the right refraction amount we add '''$refractamount''' with a value between 0 and 1 like ''0.08''. | For the right refraction amount we add '''$refractamount''' with a value between 0 and 1 like ''0.08''. | ||
Refract | |||
{ | { | ||
'''$normalmap nature/waterfall_n''' | '''$normalmap nature/waterfall_n''' | ||
'''$refractamount .08''' | '''$refractamount .08''' | ||
} | } | ||
See [[ | See [[Refract]] for more commands you'll want to use. | ||
=== Scroll animation === | === Scroll animation === | ||
Line 72: | Line 60: | ||
So now the whole vmt should look like this | So now the whole vmt should look like this | ||
Refract | |||
{ | { | ||
$normalmap nature/waterfall_n | $normalmap nature/waterfall_n | ||
$refractamount .08 | $refractamount .08 | ||
Line 87: | Line 74: | ||
} | } | ||
} | } | ||
[[Category:Material System]] | [[Category:Material System]] | ||
[[Category:Tutorials]] | [[Category:Tutorials]] |
Revision as of 11:39, 5 October 2010
This is a Tutorial to create a Waterfall material. It will scroll downward and refract the image behind it.
The bump map
For a waterfall you need a Normalmap which Refracts the light so that the things behind it gets distorted. I used The_GIMP for this Tutorial.
- Make a new Image with a maximum size of 1024x1024, I used a size of 512x512 pixels.
- We create now a solid Noise so you go to Filters → Render → Clouds → Solid noise. Set:
- x to 16.0(the highest possible)
- y to between 1.0 and 3.0
- Detail to 15(highest possible)
- Finally, you must check the Tileable box to make it seamless.
- Save your file as TGA and open it with VTFEdit.
- Check the texture config dialogue's Generate Normal map box and set:
- Filter to 4 Sample
- Height Source to Average RGB
- Scale to 9.0
- Normal Format and Alpha Format to RGBA8888.
- Save this bump map in a folder like "nature/" in your mod materials folder or game materials folder and give it a name like "waterfall_n.vtf".
The Material
The basic Material
At first you have to create a material file(vmt) and name it something like waterfall.vmt. In the material file you should use the Refract shader:
Refract { }
We don't need a $basetexture for this shader.
That is now the base of our Material. Now we add the Normalmap with $normalmap and the path to it like "nature/waterfall_n".
For the right refraction amount we add $refractamount with a value between 0 and 1 like 0.08.
Refract { $normalmap nature/waterfall_n $refractamount .08 }
See Refract for more commands you'll want to use.
Scroll animation
When you use your material in a map you should see that the refraction looks frozen, so you must add a "Scrolling" effect.
We can do this with an animated texture, or for the easier way we can add the TextureScroll material proxy:
Proxies { TextureScroll { texturescrollvar $bumpTransform texturescrollrate 1.3 texturescrollangle 270.00 } }
So now the whole vmt should look like this
Refract { $normalmap nature/waterfall_n $refractamount .08 Proxies { TextureScroll { texturescrollvar $bumpTransform texturescrollrate 1.3 texturescrollangle 270.00 } } }