The best way is using shaders.
Evolved has an excellent set of shaders for this free on his site at
http://www.evolved-software.com/
Here they are in all their glory:
http://www.youtube.com/watch?v=F8t_vCL4jag
By 'best' I mean 'most realistic'. There are much more efficient ways to do a similar effect without the heavy drain on your PC. Ghosting textured planes is one way.
Quote: "The other terrain thing i was wondering was how do you know how high the character should be so it sits right on top of the terrain? Is there some formula to calculate it with, or do you use a collision detection function or what?"
If you are using terrains you can use the "terrain height" command, I prefer to use collision though. I use sparky's collision dll (highly recommended for any collision detection) something like this:
hit=sc_raycast(0,object position x(character),object position y(character),object position z(character),object position x(character),object position y(character)-100,object position z(character),0)
if hit
y#=sc_getstaticcollisiony()
`y# is where your collision occurs in the y axis
endif