QB Times Issue #7
3D Graphics
So you want to include some awesome 3D graphics in your game/app/program?There are some
things you'll need to know first of all.This "chapter" is an into to 3D graphics and raytracing,
and talks about different software that you can use.
3D images are not made like regular drawn images.You don't sit down and paint things with
brushes.Instead, you make objects in a "virtual" space, as if you were arranging those
objects in front of you.You can make them any color you want, give them any shape, do anything
you could do in real life, pretty much.Quite a bit of the skill in making good 3D artwork is in
being able to properly do stuff to objects in this 3D space, to get the effect you want.
3D objects are made in what is usually called a "modeler".This modeler is usually part
of an integrated package of tools, the other of which is a "raytracer".In the modeler, you
create the different objects you want, and tell them what they're going to look like.Then you
use a raytracer to make a final image.A raytracer basically simulates real life.It takes
beams of light and bounces them from a "camera" (the place where the picture will be taken from)
all around the scene.These beams of light (called rays) bounce around and hit objects.The
objects will return points of color, and these points put together form the image.Since
raytraced images do this, they can easily be much more realistic than even a good artist with
a regular 2D program can make.
There are a lot of 3D packages and programs out there.A few are good.There are three
things to take into consideration when you're choosing what software you want to use.The
first is capability.What can this program do?The second is ease of use.A lot of people
ignore this, and focus on capability, but with an easy to use program, you can really get things
done much faster and more efficiently.Lastly, there is cost.Its an unfortunate fact that
3D software is EXPENSIVE.And by this I mean ranging from hundreds to thousands of
dollars for good software.So it's important to keep price in mind, since you probably won't
be able to GET software if it is too expensive.
Capability among programs varies, but is generally the same.Most programs have about the
same features.You can make 3D objects, and give them textures (what they look like).You can
usually set some atmospheric effects, and have various things like transparency/translucency,
reflections, etc.Stuff to make an image look real.Some programs are better in some areas
than others, and some have more support from people writing plugins than others.Following is
a description of all the programs that I've encountered, with my two favorite ones at the bottom.
- 3D Studio MAX - This is one of the most popular 3D software packages available.It was used
to create most of the commercial games you see out there.In terms of capability, it can do a
lot.It can make good organic/freeform objects, and supports pretty much everything that it
is possible to support.It can take advantage of multiple processors, and render (the process
of making a final image in a raytracer) over a network, so an animation can render faster.There
are a huge number of plugins and extensions, allowing all sorts of things to be done.A popular
plugin is Character Studio, which allows you to create realistic, well animated humans and
other beings.Although most people would say this is the premier professional 3D program, my
opinion is that it is too difficult to use.I figured out how to accomplish basic things pretty
quickly, but the interface was poorly designed, and there were many options that are practically
useless, but are there anyway, cluttering up the interface and making it difficult to do other
things.Another downside is that it is one of the high priced software packages.3DS costs,
if I remember correctly, about 4000 US$, which is quite high (could buy 2 computers for that
much).Overall, it is an incredible piece of software, but difficult to use and out of most
peoples' price range.
- LightWave - This is another commercial product that is of a very high class.It is often
used in advertising and movies - it was, for example, used to create special effects in Star Trek
Deep Space Nine.This package is very much like 3D studio in terms of features.It can create
excellent organic and freeform shapes, and can do all the other standard things.One fairly
unique thing is that the modeler (where you make objects) and the place where you move them
around and modify them are separate.This is, in my opinion, very useful since you can then
use models in any scene - it makes it easy to reuse objects.The program itself has a good
renderer, and is thought especially good for space scenes.The interface is fairly good.Although
not really "intuitive" it is definitely better than 3D Studio's, and buttons are well placed
and easily accessed.I'm not sure how expensive it is - I believe less than 3D Studio, but
I would estimate several thousand dollars also.So overall, it is a great program, better than
3D Studio MAX, but still a bit costly, and still a bit difficult to use.
- SoftImage 3D - I've never used this program, so I can't say much.It is used in many hollywood
movies and films, and is the choice for movie creation.It supports practically everything the
previous two software supported.I'm not sure what its interface is like, but it is easily the
most expensive product that I'm going to mention - somewhere around 8000 US$ for a copy.
- POV-Ray - After mentioning the "top 3" commercial 3D software packages, I should mention
this freeware one.POV-Ray is free for download at www.povray.org.
However, this is not really a "3D package".It only comes with a renderer.In order to create
objects and scenes, you have to literally Program them in a sort of scripting language, which
is very difficult to do.So in terms of user interface, it is pretty much a 0.Luckily, there
are several programs that provide object modelling tools, which are fairly easy to use.Overall,
this one is hardest to use, because even with the external modeling tools, you still have to
do a bunch of setting up and configuring.However, the up side is that if you're ready to use it,
it can create near-professional images without having to pay anything to get it.
- Macromedia Extreme 3D - This is one of the tools that I use.I got into using it simply
because it was available at the school I go to.It is a fairly old program (some years) but
in terms of modeling, it is good.It can do a bunch of stuff, though not quite as advanced
as the really professional programs.It is, however, great for practically anything you could
want to do.In terms of user interface, it is not flashy, or really easy to use, but it is not
over-complex, and functions are nicely arranged so that if you are advanced, you can do stuff
easily, but beginners don't get bothered by a lot of strange options.The main downside is that
the raytracer to convert the 3D objects into an actual picture is very bad.It doesn't support
a LOT of the things that other raytracers do.It doesn't have reflections, doesn't have proper
lights, and of course none of the light effects associated with that, its glass/transparency is
pretty bad, and its materials aren't great either.It is, however, pretty cheap considering that
it is good at modeling.You can get a copy for a few hundred dollars (or less now perhaps).I
use it for creating objects, which I export into another program to use.
- Bryce 3D - This is the program I use for raytracing, and doing some modeling.In terms of
capabilities, it is different from all the other programs.It is, in fact, designed for making
landscapes and natural objects.So in terms of creating objects, it is pretty bad.You can't
create good organic looking objects.You basically have to stick with presets like boxes and
cones, make somewhat organic objects using Lattices (which force you to be symmetrical) OR you
can import objects.That's what I do - I create objects in Extreme 3D and import them to Bryce.
Although Bryce may be bad in terms of modeling capabilities, its renderer is very good.You
can create very nice and realistic images.It is better than any other program at making
"world" objects like skies and mountains.It also has the best texture capabilities of any
program I've seen, able to easily do stuff like transparency and translucency.It is great for
water or glass.Another good ability is that it is good with light.You can do very nice
lighting effects.The one big downside is that to pay for the quality, you have a big speed
drop.To render at best quality for a program like 3D Studio might take under a minute for a
640X480 image of normal complexity.In Bryce that might take from 10 minutes to half an hour.
You can set the quality down in various ways, but then of course you sacrifice quality.The
one perhaps best thing about the program is that its user interface beats any other program
I've ever seen, and that is ANY program, not just 3D software.The user interface is VERY
graphical, and is incredibly easy to use.You can see what things do with one look at it.At
the same time, advanced options are cleverly hidden where they are easy to access, but don't
confuse things.And lastly, the program costs something like 200 US$ which makes it the cheapest
of the "big" commercial programs out there.I would highly recommend this for a beginner.
Well, I guess that concludes this article.It was a bit long, I know, but I think that you
need a good intro before getting into 3D.From this you should be able to choose a program
that suits you, and make an intelligent choice about what to get.If you already have a program
like this (or not included on my mini-list), or want to learn some actual 3D, then my next topic
will be 3D modeling basics.It'll cover all the basics of creating 3D images, using the two
programs (Extreme 3D and Bryce).For people who don't have these programs, you can download
demos on the net.These demos don't let you save your final images, but through using paintshop
to do screen captures, you can somewhat annoyingly get around this.
© Copyright 2000, Marinus Israel & Jorden Chamid