The first step in this lesson involves
doing a bit of modelling. I will use techniques
that we have gone into before, so I'm
not going to hold your hand through building
this paticular model, except to give some
dimensions for the object you must create.
Build your details in a 100 x 100 meter
square, this will help later when it comes
time to map the textures.
The precise details that you build do not
matter, and for once, you don't have to
worry about keeping the polygon count
down, as we will neer actually be using
this geometry on our object.
When you are creating your details, try
to keep the height of all your
bevels and extrusions to between 0m and
about 2.5m.
The object shown above is 2.1m high at
its tallest point.
When you are done building the object,
press q and apply a new surface
called Texture Maker to the entire
object.
Save your object as textureMaker.lwo.
Open Photoshop, or whatever image manipulation
and painting software you have and create
a new greyscale image 10 pixels wide by
256 pixels tall.
|
Set the background colour to
be black and the foreground
colour to be white.
Now use the Gradient
tool
to create a gradient from
black to white vertically
over the whole image as shown
here.
|
|
Save this image as an Amiga IFF format
image called b-wGradient.iff.
Open Lightwave Layout and load your textureMaker.lwo
object.
Now open the Image Editor/ Images
Panel and load in your b-wGradient.iff
image.
Open the Surface Editor and select
the Texture Maker surface.
Apply the following settings to the texture:
| Name |
Texture Maker |
| Colour |
R.000, G.000, B.000 |
| Luminosity |
100% |
| Diffuse |
0% |
|
Leave all the other surface settings at
their default values.
 |
Lightwave [6]
|
|
 |
Lightwave 5.6
|
|
|
Click the
next to the colour settings
in order to apply a texture
map to the colour channel.
Apply your temporary nebula
image map as a Planar
projection through the Z
axis.
Turn OFF both Texture Antialiasing
and Pixel Blending. Set
the Width Tile and
Height Tile behaviours
to Edge.

Next, press Automatic Sizing.
Click Use Texture and
close the Surfaces panel.
|
Click the
next to the colour settings
in order to apply a texture
map to the colour channel.
Apply your temporary nebula
image map as a Planar
projection through the Z
axis.
Turn OFF Texture Antialiasing,
Pixel Blending, Width Repeat
and Height Repeat.

Next, press
Automatic Sizing.
Click Use
Texture and close
the Surfaces panel.
|
Save all your objects at this point.
If you turn on the OpenGL preview for the
Layout viewport and enable textures you
can see the effect this has had.
You can see the effect more clearly if
you Stretch the textureMaker.lwo
object to 7.5 times its normal height.
As you can see, the new texture has had
the effect of shading the object so that
it is black at its lowest point and white
at its highest point, with shades of grey
in between. If we render this object with
the camera directly above the object,
we can use the resulting render as a bump
map.
Reset the scale of the object to X=1, Y=1,
Z=1 before proceeding.
Give the camera the following position,
rotation and zoom.
| X |
0.0m |
H |
0.0º |
| Y |
1.0km |
P |
90.0º |
| Z |
0.0m |
B |
0.0º |
| Zoom
Factor |
40.0 |
|
|
|
This will move the camera directly over
above the object, pointing down.
Open the Camera Panel and set the
following options:
| Resolution
(Width) |
500
pixels |
| Resolution
(Height) |
500
pixels |
| Pixel
Aspect Ratio |
1.0
(square pixels) |
| Antialiasing |
none |
|
Note that we will be rendering this image
Without antialiasing. This is because
we want sharp edges to our image, rather
than a nice looking render. If you have
the inclination, you could render a larger
image than 500x500, but this will not
really be necessary.
Go to the Render Options panel and
choose to save an RGB colour version of
the render, and also save an Alpha channel
image. Use a lossless format, such as
Amiga IFF or Targa format for the images.
Set the beginning and end frame numbers
to 1 and press F10 to render your image.
When the rendering is completed, save your
scene and objects.
Return to Photoshop and load up the two
images that were just rendered out by
Lightwave.
We will now optimise these images so that
they use as little memory as possible
when we use them in Lightwave.
Begin with the RGB image. Currently, this
image is using the 24 bit RGB colour mode,
which means that each pixel is represented
in the file by a 24 bit number, allowing
16,777,216 colour variations. This is
obviously rather wasteful, both in terms
of disk space and system memory used to
load it.
A 24 bit number looks like this to the
computer:
001101001101001101001101
Convert the colour mode from RGB colour
to Indexed Colour be selecting
Indexed Color from the menu. This will allow
us to only use as many colours as are
actually contained within the image.
Set the Palette to Exact
mode, and the requester will report the
exact number of colours in the image.
As you can see, my image has 183 colours,
which would be represented in the file
by an 8 bit number (allowing 256 colour
variations). This 8 bit number takes only
one third of the memory of a 24 bit image,
so we are saving resources.
An 8 bit number looks like this to the
computer:
00110100
Save this file as Detail-Panel.iff
in Amiga IFF format (this is one
of the few image formats that Lightwave
can load that support indexed colour modes).
Now we will deal with the Alpha image.
It is clear to see that this image uses
only two colours, black and white. It
is currently in Greyscale colour
mode, meaning that it is using an 8 bit
palette to store the colour information.
To store a black and white image (without
greyscales) we need only a 1 bit palette
capable of storing only two colours.
We will now convert this image to Photoshop's
Bitmap colour mode, which uses
a 1 bit palette.
Convert the colour mode to Bitmap
by selecting Bitmap from the menu. If you find that Bitmap
is not available as an option, convert
the mode to Greyscale first.
Set the output mode to 72 pixels / inch,
in order to maintain the size (in pixels)
of the image following the conversion
to Bitmap mode.
Save the image as Detail-Panel-Alpha.iffusing
Amiga IFF format.
We can now quit Photoshop.
In Modeler, load up the object we finished
building in the last lesson.
Hopefully, you saved this object with its
layers separated, which will make our
life easier now.
Select Layer 1 so that you are looking
at the main object with its attached details.
Carefully select the polygon shown below.
Press q and apply a new surface
to the polygon called Upper Detail
Panel. Don't worry about surface settings
for this, we will deal with them later
in Layout.
Deselect the polygon when you are done.
|
Next use the Polygon Statistics
panel to select all polygons
with the Details Panel
surface.
Now carefully deselect most
of the polygons that were
selected until you are left
with only the polygons shown
opposite selected.
Finally, press q and
assign these polygons a new
surface called Forward
Recessed Detail Panel.
|
|
|
Deselect those polgons and
once again, use the Polygon
Statistics panel to select
all polygons with the Details
Panel surface.
Deselect all polygons until
you have only the polygons
shown here selected.
Apply a new surface to these
polygons called Rear Recessed
Detail Panel.
|
|
| Repeat these steps again and apply
a surface called Forward Bevel
Pits to the polygons shown
opposite. |
|
We will now take the object into Layout
and apply a few textures.
If you are using Lightwave [6], save your
object as myDetailObject.lwo
If you are using Lightwave 5.6 save a version
with the layers separate, then save the
contents of Layer 1 as myDetailObject.lwo
Download the following scene file. tut9-scene.lws
and load it into Layout. When Layout asks
for an object called myDetailObject.lwo,
point it at your own detail object that
you just saved from Modeler.
If you are using Lightwave [6], Move
the objects for layers 2 and 3 so that
they do not obscure the Layer 1 object
(as seen below).
Now open the Images Editor and load up
the texture maps we saved from Photoshop
earlier on: Detail-Panel.iff and
Detail-Panel-Alpha.iff.
|
Open the surfaces editor and
apply the following settings
to the following surfaces:
- Upper Detail Panel
- Forward Recessed Detail
Panel
- Rear Recessed Detail
Panel
- Forward Bevel Pits
|
| Colour |
R.144,
G.144,
B.144 |
| Luminosity |
0.0% |
| Diffuse |
100.0% |
| Specularity |
100% |
| Glossiness |
Medium
/ 40% |
| Smoothing |
YES |
| Smoothing
Angle
|
15 degrees |
|
|
In the surface called Upper Detail Panel
Click the
or
next to the bump settings in order to
apply an image as a bump map.
Apply your detail image map as a Planar
projection through the Y axis.
Turn OFF Texture Antialiasing and
Pixel Blending. This is especially
important for bump maps, because we want
a nice clean edge to our bumps, and texture
antialiasing and pixel blending would
fudge the image around, destroying the
clean lines and ruining the bump effect.
Next, press Automatic Sizing.
Click Use Texture and close the
Surfaces panel.
I have already set up camera positions
in this scene, so go to frame 1 and view
the scene through the camera. You should
find yourself looking at a close-up of
the first polygon we applied a new surface
to in this lesson.
Press F9 to have a look at the new bump
map in action.
As you can see, our bump map has done a
pretty good job of imitating some extra
detail to the panel, based on the detail
object we built at the beginning of this
lesson.
The bumps could do with being a little
more pronounced, so return to the bump
map settings and change the Texture
Amplitude to 2.0 (200% in Lightwave
5.6).
Render again, and see if you like the results.
The bump map works pretty well, but I'd
like to see a little more variation of
tone in the details.
In the surface editor, go to the bump settings
again and copy the texture. In Lightwave
5.6 this is done by simply pressing Ctrl+c
while in the bump map settings panel,
and in Lightwave [6] this is done by pressing
the Copy button and choosing Current
Layer from the pop-up menu.
Now exit the bump map settings panel and
press the
or
next to the Diffuse level input
box to apply a texture map to the Diffuse
channel.
Once inside the panel, Paste the
texture from the bump map into this channel.
In Lightwave 5.6 this is done by pressing
Ctrl+v while in the diffuse map
settings panel, and in Lightwave [6] this
is done by pressing the Paste button
and choosing Replace Current Layer
from the pop-up menu.
Simply doing this will present a problem,
as there are pure black areas in the image,
which will correspond to a 0% diffuse
level, meaning that no light will affect
these areas. To combat this, we will reduce
the effect of the texture map by changing
the Layer Opacity (Texture Opacity
in Lightwave 5.6) from 100% to 20%.
Exit the diffuse map panel and click the
or
next to the Specular level input
box to apply a texture map to the Specular
channel.
Repeat the steps to paste the bump texture
into this channel, but swap the image
from Detail-Panel.iff to Detail-Panel-Alpha.iff,
and set the opacity to 50%. Changing the
image to the 1 bit Alpha version will
have the effect of applying one specular
setting to all of the raised areas of
the panel, and another to all the areas
with no detail.
Render your object to see the difference
this has made.
We now have some fairly respectable detail
added to the previously flat panel. It's
not good enough to be used in place of
actual detail in the mesh for large areas,
but it does add a little extra detail
to smaller areas, or areas that already
have some geometric detail. Most of this
panel will be covered by the detail from
Layer 2 of the obect eventually.
Make a copy of this whole surface as we
did when we duplicated surface settings
for stars in Step
6) of Lesson-2.
Paste the surface settings into the surface
called Forward Recessed Detail Panel.
Now open the Diffuse map settings for this
surface and press Automatic Sizing,
then do the same for the Specular and
Bump maps, Automatically Sizing the texture
each time.
Go to frame 2 of the scene and render it
out to see the new settings applied to
Forward Recessed Detail Panel.
Now go to frame 3 so that you are looking
at the polygons with the Rear Recessed
Detail Panel surface.
The surface settings for Upper Detail
Panel should still be stored in the
copy buffer, so paste these settings into
the Rear Recessed Detail Panel
surface.
Now open the Diffuse map settings for this
surface and press Automatic Sizing.
You will see that this will stretch the
image map to fit the elongated rectangle
shape defined by the polygons that have
this surface. We don't really want this
to happen, so in the Texture Size settings,
alter the X-size of the texture so that
it is identical to the Y-size. This will
return our image map to its original square
shape, and as our image will tile seamlessly,
this will have no unfortunate errors where
the map repeats.
| Automatic sizing results... |
...manually altered to |
| X-Size |
100.1716m |
| Y-Size |
46.4995m |
| Z-Size |
27.7366m |
|
|
| X-Size |
46.4995m |
| Y-Size |
46.4995m |
| Z-Size |
27.7366m |
|
|
Repeat the last two operations for the
Specular and Bump maps, each time automatically
sizing and then altering the X-size of
the texture.
This results in an unstretched, tiled version
of our texture map being applied to the
flat areas on the rear panel.
Go to frame 4 and you will find yourself
looking at the polygons to which we applied
Forward Bevel Pits.
In the surface editor, paste the texture
we have been working with into the Forward
Bevel Pits surface.
Go through each of the maps in turn and
apply Automatic Sizing, but this
time, alter the Z-size to be equal to
the X-size.
As this surface is curved, you can see
one of the inherent problems of using
textures rather than actual mesh detail,
because the texture detail tends to disappear
under unfavourable lighting and camera
angles.
We'll now go back to Modeler to prepare
some more polygons for image maps.
If you are using Lightwave [6],
your object can simply be passed automatically
through the Hub to update Modeler... in
fact, if you have left Modeler running
while we were setting up those textures,
it will probably already be updated.
|
If you are running
Lightwave 5.6,
you will have
to use a rather
more convoluted
method as described
here:
- Load Modeler
- Load the version
of the object
with its layers
separate
- Select Layer
10 in Modeler
- Select
- When the object
appears in
Layer 10,
press z
to delete
it immediately.
- You can now
continue to
work with
the object
in layers
1, 2 and 3.
Why did we do that?
That simple exercise
was necessary
to update the
surfaces on our
layered object
with the new textures
that we have been
applying in Layout.
|
|
We now have a rather tedious task ahead.
We must select individual groups of polygons
and assign them new surface names so that
we can map them individually. If you plan
your modelling carefully, this step would
become unecessary, as you could assign
each mapping group as you create the bevels
and extrusions... but this is a worst-case
scenario.
The coloured images below show the faces
of each of the bevels and smooth-shifts
and extrusions we have made, each colour
coded and given a number. Select the polygons
indicated by the colours and then assign
them a new surface name according to the
surface
key provided here.
The image above shows the polygons selected
ready for a new surface to be applied.
Looking at the surface
key, we can see that this group
of polygons will be assigned the surface
name Detail Panel 01.
Now use the
surface key to assign new surface
names to the polygons shown. When all
the detail panels are assigned, we will
apply some new surfaces to the main surfaces
of the object.
Note: The colours shown are just for
easy reference, you should not apply different
colours to all of your surfaces like this!
When you have finished assigning all the
new surfaces, save your object as myDetailObject.lwo.
If you are using Lightwave 5.6, you can
merge all your layers together now.
Load the scene you downloaded earlier into
Layout, if it is not already loaded.
If you are using Lightwave [6] and still
have the scene loaded, reset the positions
of the Layer 2 and Layer 3 objects so
that they return to their correct positions
in relation to the Layer 1 object.
Go to frame 5 and you should see something
like this:
We will now quickly assign some settings
to the new surfaces we just defined. We
will do this by copying settings from
other existing surfaces.
| Copy settings
from these surfaces |
to these surfaces |
| Main
Details Curved |
Detail Panel
01 -> Detail
Panel 05 |
| Main
Details |
Detail Panel 06
-> Detail Panel
26 |
| Main
Details Smooth |
Detail Pipe 01
-> Detail Pipe
03 |
| Main
Surface |
Main Sides
Main Forward Upper
Main Rear Upper
Main Bevels
Main Rear
Main Lower |
|
This will assign the correct colour, specular
level and smoothing settings to the surfaces,
leaving you with something like this.
Save your object now, and we will start
to add some texture to some of the detail
panels.
Go to frame 6 and you will see that the
camera is pointed at the two large detail
panels on the top of the object.
These two large panels have the surfaces
Detail Panel 06 and Detail Panel
07.
|
Open the Surface Editor
and select Detail Panel
06.
Apply Detail-Panel.iff
as a diffuse map to this surface.
Give the map the settings
in the table shown opposite.
When this is done, apply a
map with the same settings
to the specualr and bump channels,
but with the following alterations:
Specular Map
- Image = Detail-Panel-Alpha.iff
- Texture Opacity = 50.0%
Bump Map
- Texture Opacity = 100%
- Texture Amplitude = 2.0
(LW[6]) / 200% (LW5.6)
Next, copy this surface and
paste it into Detail
Panel 07, then go through
each texture map for this
surface and alter the Position
/ Center of the texture to
X=25.0m, Y=0.0m, Z=25.0m
|
| Image |
Detail-Panel.iff |
| Texture
Opacity |
20.0% |
| Projection |
Planar |
| Texture
Axis |
Y |
| Pixel
Blending |
OFF |
| Texture
Antialiasing |
OFF |
| Size-X |
50.0m |
| Size-Y |
1.0m |
| Size-Z |
50.0m |
| Position
/ Center
X |
0.0m |
| Position
/ Center
Y |
0.0m |
| Position
/ Center
Z |
0.0m |
|
|
If you render your object now, you should
be left looking at something that looks
a lot like this:
Go to frame 7 in the scene and you will
find yourself looking at the two large
pipes on the front of the object.
These pipes have the surfaces Detail
Pipe 01 and Detail Pipe 02.
|
Open the Surface Editor
and select Detail Pipe
01.
Apply Detail-Panel.iff
as a diffuse map to this surface.
Give the map the settings
in the table shown opposite.
When you have entered the settings,
press the Automatic Sizing
button. If you look at the
texture size, you will find
that the Z-size is much larger
than the X and Y size. This
will stretch our texture,
and we don't want that to
happen, so manually alter
the Z-size to be equal to
the X and Y sizes.
When this is done, copy this
map and paste it into to the
specualr and bump channels,
but with the following alterations:
Specular Map
- Image = Detail-Panel-Alpha.iff
- Texture Opacity = 50.0%
Bump Map
- Texture Opacity = 100%
- Texture Amplitude = 2.0
(LW[6]) / 200% (LW5.6)
Next, copy this surface and
paste it into Detail
Pipe 02, then go through
each texture map for this
surface and perform the Automatic
Sizing and manual size adjustments
described above.
|
| Image |
Detail-Panel.iff |
| Texture
Opacity |
20.0% |
| Projection |
Cylindrical |
| Texture
Axis |
Z |
| Pixel
Blending |
OFF |
| Texture
Antialiasing |
OFF |
| Width
Wrap Amount |
2.0 |
|
|
Rendering out frame 7, we find ourselves
looking at the pipes with our detail texture
wrapped around them.
You can now go around the other panels
of your object applying maps of this kind
if you wish. Do not apply this generic
mesh to all of the panel surfaces,
or your object will start to look over-cluttered
and it will become obvious that you have
used the same texture map all over the
place.
If you are using Lightwave [6], a very
convenient way to pick up the surface
that you want to edit is to render a low-quality
image of the whole object with VIPER
enabled, and then you can click on panels
in the VIPER window to select the corresponding
surface name. Very cool indeed. Sorry
Lightwave 5.6 users, you have to do it
the hard way, referring back to my panel
key.
The larger surfaces with the Main
prefix would look too generic if we applied
our detail map to them, so we will be
creating and applying some custom-painted
maps for those in the next lesson.
For my object, I applied the detail map
to the following surfaces:
| Detail Pipe 01 |
Detail Panel 04 |
Detail Panel 12 |
Detail Panel 20 |
| Detail Pipe 02 |
Detail Panel 06 |
Detail Panel 17 |
Detail Panel 23 |
| Detail Pipe 03 |
Detail Panel 07 |
Detail Panel 19 |
Detail Panel 24 |
|
And after all that, I was left with this:
|