trueSpace
6
Publisher: Caligari
Purchasing: Direct
from Caligari, $595 (Educational
Pricing Information)
Reviewed: 21st August 2002
Introduction
trueSpace
6 is the latest version of Caligari's long running
mid-range 3D rendering package. trueSpace has
always been an interesting piece of software
simply because it has a good attempt at competing
with the "big boys" of the 3D graphics
field, yet managing to retail very much in the
budget range (although, it's still quite
expensive).
This
time of year (July/August/September) is often
interesting for 3D graphics software - the annual
SIGGRAPH exhibition has just finished (end of july),
which is the premier place for companies to show
off their next product. For this reason, you'll
often find the market shaking up a bit as the new
software comes on the market, and older software
is reduced in price/removed from the product-line.
This
years SIGGRAPH exhibition saw some of the more
expensive software slashing it's price
considerably - forcing several other vendors to
follow suit, which could make things much more
interesting.
Caligari,
unlike many other software vendors tends to keep
its older products available for quite a long time
- trueSpace 6 is now shipping, but you can also
buy copies of v4 and v5 from their website. A
review of trueSpace 5.2 on this site can be found
here.
The
User Interface
The
user interface for trueSpace 6 hasn't changed that
much from previous versions - apart from obvious
additions of buttons for new features.
For
those of you who aren't familiar with trueSpace
6's interface you might be surprised to know that
there are only 2 menu's - 2 small menu's.
Everything else is handled by a series of around
300 toolbar buttons. Because of this, the default
configuration is very flexible and simple.
click to enlarge
In the above two
screenshots you can see two extremes of the
trueSpace 6 interface. If you examine the
left-hand image closely you can see (around the
edges) several small grey rectangles/squares -
clicking on these will open up a toolbar in one of
two forms. You can have the basic toolbar visible
or you can have the basic toolbar expanded to show
all sub options (this is shown in the right-hand
image).
It takes quite a
lot of getting used to - tooltips appear in the
caption/status bar explaining most buttons, but it
does lack some advantages given by a menu system -
names. Especially when you're learning, or if
you've just forgotten exactly what you're looking
for a named menu item can help a lot. I suppose,
if you get used to trueSpace then you'll start to
recognize different icons and menu's instead.
Many of the
buttons in the interface have options windows
attached - right clicking will open these
up.
One part, not
entirely due to the user interface, is sorely
lacking - undo. It has become the standard in most
professional applications these days to have
multiple undo's available. Or at least making every
function undoable. This isn't the case in
trueSpace - most features are undoable, but many
aren't. It can get a little infuriating after a
while - such that you can become a little paranoid
about saving before experimenting with any new -
should it not work out, and leave you stuck with
some mess.
Geometry
Manipulation
Geometry
creation and manipulation is pretty much the same
as with previous versions - the 'Magic Ring' aids
in constructing the initial primitive (you can use
a standard type-in creation tool) and you can then
go to the sub-object level to edit the mesh.
Where
trueSpace 6 really shines over trueSpace 5 is it's
new polygon-level editing tools. As with several
other areas of this package, the developers have
decided to wade in on the real-time
artist/modeling territory. This is traditionally
done using box-modeling and/or low-polygon mesh
editing. Most of the new tools included in
trueSpace 6 would seem to be aimed more at
low-poly editing, but are also compatible with the
less polygonal modeling - NURBS surfacing in
particular.
The
first interesting feature is mirror editing;
particularly when creating non-organic (cars,
weapons, buildings etc..) models it is common to
find a line of symmetry through the geometry. e.g.
One side of a car will almost always mirror the
other side. Normally you'd have to be very careful
and model both sides exactly the same, using the
new mirror tool you can create one side perfectly,
then mirror it to the other side to create two
identical (and fitting) parts. The clever part is
in the editing once mirroring has been setup -
only one side remains 'active' and any changes to
that are automatically mirrored on the other side.
On the left is
the original wire frame mesh (my rather odd attempt
at a futuristic space-craft). On the right is the
same mesh after using the mirror tool. Notice how
the [original] right-hand side is an editable wire
frame mesh, and the left-hand side is a shaded
solid reflection.
Chamfer and
Fillet tools are two more similar new additions.
These aren't as revolutionary as the mirror
editing tool, but allow an artist to refine parts
of a model and generally cut a few corners off the
older methods. Both Chamfer and Fillet operate on
edges - Chamfer will create a straight beveled
type effect and Fillet will create a rounded (sub
divided) bevel effect. As shown in the following
images:
Fillet Tool
applied to opposite sides of a cube
Chamfer tool
being applied to one edge of a cube
The different
effects created by the two tools. Both
processes were the same, only the tool differs.
The last new
polygon-level tool of particular interest is the
'Shell' tool. This basically does what it says -
it creates a shell from the selected geometry, in layman's
terms it will create an inside "wall"
for the selected geometry. Take the following
image as an example. It started life as a simple
cube, I added 4 edges to one face, and deleted the
enclosed area - basically punching a hole in the
side of the cube. Due to the way geometry is
rendered (particularly in real-time applications)
back face culling will stop the cubes remaining
faces from being visible through the hole.
Creating a shell for this mesh puts additional
faces in to mimic a solid object:
the shell tool in
action
Animation
The
big new feature for this release seems to be the
facial animator - supposedly to streamline and
improve the creating of head/face meshes to use in
games/movies. Unfortunately, it really doesn't
seem to work amazingly well...
In
it's favor, it does have all the right gadgets and
tools that you'd expect of such a feature, but
having spent 30mins attempting to create a simple
textured animation using the stock-heads and
gestures it just doesn't work as well as promised.
The other tricky thing to get right is the rest of
the body - as the name states, it's for
heads/faces only. I'm sure a seasoned professional
will do far better than I can, but it was
extremely hard to get a body (particularly when
designing for low-poly outputs) to match the head
(and vice versa).
The Facial Animator
control panel.
Maybe with a lot of practice it will come into
it's own, but the seasoned professional will
probably have other methods of achieving the same
end result.
Animation
in general is handled by a series of 'key-frames'
- a system adopted by pretty much all 3D animation
packages currently (as well as most real-time
playback). You set a series of key frames and then
the computer (when rendering/playing) will work
out what goes between. This system doesn't seem to
have changed much from previous versions of
trueSpace - and in general it feels a little
lacking when compared with many of it's rivals. It
is often unclear as to exactly what trueSpace is
recording - for example, it doesn't seem to like
recording simple mesh deformations (moving
edges/vertices).
click to enlarge
Animation
is principally controlled using the scene editor
(see images above). This allows for quite a lot of
control, it's often easier to move things around
manually in the display window but there are times
when you need some additional precision and
refinement that only a window like this can offer.
For
real-time purposes, skeletal animation is one of
the most important aspects any 3D modeling package
can offer. Being able to set up a skeleton and
interactively deform a mesh using various
kinematics options (inverse kinematics being the
most useful) is one of the most powerful ways to
create believable animation.
Skeletal
animation is reasonably powerful when using
trueSpace 6 - it has most of the tools you would
expect from a package with a much higher
price-tag. It also comes complete with a muscle
system - which is useful when you want to deal
with matrix palette skinning in Direct3D
applications (for example).
Textures/Materials
When
I wrote the review of trueSpace 5 a couple of
months back, one of the major criticisms I had of
the software was it's lack of decent texture
mapping controls. For all aspects of 3D
modeling/rendering, texture maps are extremely
important - therefore you ideally want as much
control over them as possible. I also said (based
on information available at the time), that
trueSpace 6 would be improving in this area.
Thankfully,
this statement was not wrong - they have greatly
improved the texture mapping tools available, most
importantly, we now have a UV unwrapper (a
standard feature in many over 3D modeling
packages).
The
UV Unwrapper kicks in once you've selected and
applied a texture to a mesh. Based on the initial
mapping type (cylindrical, cube, slice etc...) you
can then manipulate the wireframe mesh in UV space
- lining up individual faces with areas in the
selected texture.
As
far as real-time multimedia work goes, this will
involve generating a low-polygon mesh, and then
creating a texture page (one large texture holding
many smaller ones) and manipulating the object's
UV projection such that the textures match up. For
example, selecting the door object on a car mesh,
and lining it up on the part of the texture that
represents a car-door.
click to enlarge
In
the above screenshot you can see all the major
parts tools involved in texture mapping two simple
primitives. Both have their textures in one
texture page (useful if you're using a D3D/OpenGL
rendering API). First you use the standard
material library to open a texture file and apply
it to the mesh (you could add bump
maps/reflectance maps if you want). Next you
select each mesh in turn, and configure the
texture map. For the "odd" shaped mesh
visible I used a cylindrical map, and the cube
used a cube mapping option. This will set up a
series of default texture coordinates - they'll
rarely be exactly what you want. You can then open
the Unwrap UV tool window and view a wireframe
representation of the geometry (in UV space). You
have two options at this point - firstly, you can
move the vertices around the texture map and line
it up correctly based on the texture loaded.
Secondly, you can export the UV-space map to a
file, open an external editor and draw/copy the
texture in (such that it's lined up correctly from
square one) and then re-fresh the map in trueSpace.
From
my tests, the latter method was the most reliable
way of texturing a low-polygon model. Initially I
was using the first method - and got some truly
odd results. It all takes a bit of getting used
to, and for particularly complicated models it can
get very complicated, very quickly - but such is
the nature of professional texture mapping!
The
next new, and very cool, tool in the trueSpace 6
armory is "texture baking". If you've
done much advanced work with real-time 3D graphics
you'll know that lighting can get very complicated
- light maps, radiosity solutions, pixel/vertex
shaders etc... Many current (and old) game engines
use the level-editor to compute a series of light
maps for each triangle in the game world - using
algorithms that are often impossible (currently)
to do in real-time. These textures are often used
to modulate the color/diffuse texture in real-time
to give the appearance of much higher quality
lighting than is actually possible.
Texture
baking uses a similar strategy to this - it will
store the outputted lighting values in a texture,
one for each face in the mesh. It's not possible
out-of-the-box to translate these directly to your
game/real-time environment, but with a little work
(and maybe some help from the trueSpace 6 SDK) you
could use these textures as the light maps in your
game environments. When (and if) someone develops
a plugin to allow this transition you could quite
feasibly use trueSpace 6 as your lighting tool.
Doing this would remove any
development/programming time required to write a
custom lighting tool - trueSpace 6 can/has already
done this for you.
You
can now also use projection texture mapping as a
source of light - basically providing your own
dynamic light shape in a texture file. It's of
significant interest to anyone who wishes to
render "offline" images/movies - unless
you use the texture baking functions it's not
going to be much use for an external real-time 3D
rendering engine.
Community
Support
trueSpace has always had a smaller
share of the community than some of the other
bigger (and more expensive) 3D modelers. Given
that trueSpace 6 is fairly new the community
infra-structure is only just starting to get
moving - it will be a good few months before the
majority of samples, tutorials and plugins find
their way onto the internet.
The
manual provided with the boxed version of
trueSpace 6 is of high quality. It covers every
parameter for every control provided in the
software, and backs this up with several
tutorials. The Quick-Start print-out is invaluable
when you first start using the software.
Conclusion
This new
version of trueSpace 6 has added several new
features that users will really find beneficial,
and several that until now have been severely
lacking. However, there is still a way to go
before it is as rock-solid as some of it's more
expensive rivals. Three areas, in my opinion,
really need attention:
Undo - if you can
really call it that. I'm not entirely sure why the
undo button doesn't work properly - but at least
70% of the time it doesn't undo anything, and in a
few cases it undoes something only to leave it in
a completely different and messed up state. Forget
trying to undo any complex geometry manipulations,
the undo in this version is only really going to
be useful if you accidentally move an object out
of position and need it moved back again.
Texture mapping -
it is a relief to have a better texture unwrapper
built into the main program, but it still has a
long way to go and a lot of improving. There are
still too many occasions where the unwrap
functions give a complete mess in the UV unwrap
window. There are also a few residing bugs making
it not quite as bullet-proof as you might like.
Animation - this
is only a minor quibble, in general the animation
is still perfectly functional and does get the job
done... but there are a few little things that
should be implemented. Even simple things like
per-edge or per-vertex deformations being stored
in key-frames : something I take for granted when
using other 3D modelers.
If you're on a
limited budget, or just plain can't justify
spending £2500/$3500 on one of the more
industry-standard packages then trueSpace 6 is
definitely a good move. It has its weaknesses, and
doesn't come across as being as stable as some of
the more expensive packages, but for it's price
you can't really ask for any more.
Purchasing
direct
from Caligari: $595 (trial
version available)
Purchasing from GuildSoft (UK
redistributor): £485 + vat
Good
Points |
Bad
Points |
•
Interface has remained the same. |
•
Texture mapping still needs some work. |
•
Inclusion of vastly more powerful texture
tools compared with v5. |
•
'UNDO' really doesn't cut it; it's better
to rely on save/load instead. |
•
'Texture Baking' has some serious
potential for real-time artists. |
•
Animation is starting to look a little old
in comparison to some of the newer efforts |
•
New geometry tools such as Mirror allow
for faster working on low-poly meshes. |
•
Facial animator is a nice idea, but in
practice it's not as useful as it sounds. |
•
Good price for the features on offer. |
•
Interface may take some getting used to
for some new users. |
•
Trial Version Available for download |
|
|