|
|
|
|
All use of my digital work is covered by this
Creative Commons Deed.
Please do not use any of my work for commercial purposes, thank you. |
|
|
|
Creating Terrain (6 of 7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not all terrains are rolling hills and sweeping flat plains of land. Sometimes the
landscape needs to be more vertically with cliffs and over hanging ledges.
DotProduct2 can cope with vertical brushwork but it will need a different texture projection
shader. This can get messy to implement but luckily there is another way.
First create a rockwall template as discussed in a previous article called
Rockwall Corridor. Once happy with the template,
duplicate it along the edge of the existing terrain like the image to left shows.
A good example of decal blending would be to fade the floor terrain into the bottom of the
rock wall face so that the two materials don't look so clean and tidy.
|
|
|
|
|
First take a copy of the bottom row of the rockwall brushes and hide all the other
brushwork in the map so its easier to see what is going on. (Press Inverse and Hide)
Paint all the new brushes with a nodraw shader and then paint the front
faces with the decal blend shader.
Create an alpha fade brush (0%) for all the top vertex points and groups all the brushes
together into a func_group entity.
To add more variety to the blend shape either add more brushes from above the current row
or cut the top part of the existing brushwork into more varied shapes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The major drawback to decal blending is the creation of all the duplicate brushwork
and the possibility of zfighting occurring from a distance. Zfighting happens when
the engine draws two different surfaces on top of each other and displays random
parts from each at the same time.
For areas which require large amounts of blending it is more efficient to create
an unique blend shader than using a decal blend. A unique shader would involve
fewer layers for the graphic card to draw and is less likely to produce zfighting
issues.
By creating a similar shader to the floor terrain, but without the ivector or DotProduct2
shader components, the alpha channel can be fine tuned to whatever blend that is required.
|
|
|
|
|
The editor image for the new shader needs to be the same (X,Y) dimensions as the textures
being used for blend. To make the blended areas easily recognizable in the editor it is
worthwhile using one of the blending textures as a background image and
then tinted it a different colour.
All texture alignment of the blend is done within the editor and not from the shader.
This is why it is worthwhile using one of the blending textures as a background image,
so that the blended areas can easily be aligned with existing textures.
By default the alpha channel value on all of the vertex points is 100%. (Secondary)
If creating a transition blend, (like in the image to left) the Alpha Fade brushes
only need to be setup on one side of the blend.
|
|
|
|
|
|
|
|
|
|