| Displacement
mapping |
|
 |
I've created some displacement
maps that can be used for this tutorial and you can download
from
here (156K).
Start UVMapper Pro and select File->New Model->Sphere. Because the
displacement map we're using for this is square, change vertical
divisions to 64 (same as horizontal) and press OK. When using
displacement mapping it's usually a good idea to triangulate the
model first to avoid artifacts from non planar facets, so press 't'
to triangulate the model. Select Texture->Load to load
combo.bmp (from the zip file above) into the background. I
created this map by rotating a sin wave 45 degrees (diagwave.bmp)
and multiplying it in Photoshop by a vertical sin wave
(vsinwave.bmp). Both are included in the
zip. |
 |
Press tab for the 3D view and select
Tools->Vertices->Displace. Use the default values except
change the max offset to 0.4 units. Vertices on the black
portion of the map will be displaced by the min offset while those
on the white portion will use the max offset. After using the
displace vertices tool, we need to smooth the model because the
facets have all moved. Do this by selecting
Tools->Normals->Smooth and use a smoothing angle of 180
degrees. Select View->Texture so we no longer see the
displacement map on the model and your screen should look something
like this. Simply export the model and load it into your
favorite rendering program. It's just that easy. |
 |
Now select File->New Model->Torus, change
the vertical divisions to 64 and press OK. Select
Tools->Facets->Triangulate and press YES (does the same thing
as pressing 't'.) Press control+b and load diagwave.bmp into
the background. Note that the displacement map runs in the
same direction as the diagonals of the model facets. This will
give the best results with displacement mapping. If you're
using a model where these are reversed, you can flip the
displacement map horizontally or vertically in UVMapper by pressing
shift+control+u or shift+control+v (these are also on the Texture
menu.) |
 |
Press tab for the 3D view and select
Tools->Vertices->Displace. Use the default values and a
max offset to 0.4 units. Smooth the model by selecting
Tools->Normals->Smooth and use a smoothing angle of 180
degrees. If the texture map is displayed, select
View->Texture from the menu to turn it off. Export the
model and render it in your rendering program. |
 |
You can also create terrains from height fields
using displacement mapping. Select File->New
Model->Plane from the main menu. Use 128 for width, height
and both divisions (if you have a fast computer, you can bump this
to 256 for better results.) press 't' to triangulate the
plane. Press control+b to load terrain.bmp into the
background. |
 |
Press tab for the 3D view. Select
Tools->Vertices->Displace from the main menu and use 32 as the
max offset (64 if you're using a 256 x 256 plane.) Select
Tools->Normals->Smooth and smooth using an angle of 180
degrees. Export to your rendering program. (I think
you're starting to get the hang of this.) |
 |
This time, we're going to use a cylinder.
Use the defaults except use 1 for height divisions, 64 for top
divisions and 0 for bottom divisions (this may take a while to
create - here on my PII-300 it takes about 45 seconds.) Use
the rectangular marquee to select the sides and bottom of the
cylinder and press delete to remove these facets. Now select
all (control+a) and press '=' to maximize the selection. Press
enter to save the changes. Load radial.bmp as the
background. Since the displacement is along the radial lines,
I don't think we'll need to triangulate the model this
time. |
 |
Press tab for the 3D view. Select
Tools->Vertices->Displace and use an offset of 0.2 this
time. Select Tools->Normals->Smooth and smooth using an
angle of 180 degrees. Be sure View->Texture is unchecked
and your screen should look something like this. |
 |
This method will work
with any model that has texture coordinates not just UVMapper
Primitives. Here I've used a model of an apple and displaced
the vertices using diagwave.bmp. I don't know how well this
technique will work for morph targets since it tends to cause facets
with four or more vertices to become non planar. All the
vertices may no longer be in the same plane - a big no-no for most
rendering programs. I'd love to hear about your successes (or
failures) with displacement mapping. You can get in touch with
me using the "contact me" link below.
Now go and see what
you can come up with...
|