Software Review Of The Moment

Art Of Illusion 2.5

17th Of June, 2019

(Shove ya mouse / track ball / other pointing device cursor over the pics to see which ones can be seen bigger. )
Back in 2008, I was looking at “new” 3D graphics programs, especially since I’d just got my MacBook the year before. Corel DREAM 3D on my main PC was getting long in the tooth for my needs, so I thought I would look for other stuff. I think I’d already tried Blender prior to this, but the unintuitive interface did my head in, and I struggled to understand how you could do anything with it. It was certainly very powerful; it just didn’t seem to have been designed very well from a usability standpoint. I was very much used to how the Unreal Editor worked, and how you moved in the 3D space as well, so I think I was looking for something more like that. I saw Art Of Illusion mentioned for Linux I think, and it didn’t look all that impressive. But I gave it a whirl, and have been using it ever since. Yeah, the interface is pretty bland, but there are a few neat tricks it can do behind the scenes. It does have some limitations which can be frustrating, but I guess I’m just used to it now, after 11 years.

When you start it up, this is all there is. Well, I have my base template open, which sets up the camera and light how I like, but other than that, it doesn’t look much different. It’s up to you now to fill the scene with shapes.
The mesh editor lets you adjust shapes at the polygon level. This can be quite powerful for all sorts of things.

The program is written in Java, so it should technically work on any operating system that supports it. Although a lot of RAM is recommended, and a fast multi-core CPU. On my main PC with 1 GB of RAM, it really chews it up, sometimes using over 500 MB on more detailed scenes. Doing an animation on my 2018 PC used over 1.4 GB of RAM. Scenes with a lot of refractions in materials, reflections and the like, can really need a lot of oomph to process. I’ve done 10 second animations for my personal DVDs that have taken over 3 hours to render.

Here you can see how setting the smoothness of an edge affects the look of the object’s surface.
You can do some interesting stuff with texturing. Using a bitmap for a displacement actually changes the object’s surface, unlike bump mapping, which just changes how lighting, reflections and refractions appear.
Rendering just a single sphere with this displacement texture took about 15 minutes on my 2.4 GHz AMD Athlon CPU. The result though is a really cool looking, soft fuzziness. You can also tell how much higher quality the finished result is, compared to the texture preview.
This is one way you can do objects that glow, like fire. Because this is now completely transparent, it won’t cast any shadows either, so this is handy also for the likes of LASER beams, light rays and lamps.
Here in this example, you can see how the fire on the left casts no shadows, where as the one on the right is using an alpha channel to set its transparency instead, so it has a shadow that would not normally show up for fire in real life.
Refractions are achieved with materials, and a material can only be applied to a completely closed object. Flat plains / panels of only 2 polygons, or objects with holes, will not work. (By holes, I mean missing polygons. You can have a closed object with a window for instance that will still work.)
Here I’ve done a quickie magnifying glass. The instructions also mention the refractive index for the likes of diamonds, glass and so on.

Some of the weak points of the program are the texture mapping methods and the lack of anti-aliasing / filtering on bump mapping. There is only projection, spherical and cylindrical texture mapping methods, and a more complex UV mapping section, which doesn’t seem all that apparently useful to me. I didn’t really get it or understand it. It could really have benefited from a box mapping method, and tubular as well. As for the bump mapping, if you’re using regular textures, you may have to scale them up to enormous sizes, because it appears the developer forgot to implement some kind of texture smoothing in this regard. So you end up with very blocky bumps. The built-in texture generation methods don’t seem to suffer with this problem though, which is some consolation. While I remember — the texture mapped view could be a LOT better. You seem to get a very low resolution rendition of the textures on objects as you work, and you can’t really see what’s where until you render. This can be a bit of a pain, especially for layered texture objects.
There does seem to be some minor inconsistencies when opening older AOI files in version 3, which I have on my PC with Windows 7. Mostly to do with texture alignment not coming out right.
The base shapes that the program lets you create, are rectangular prisms, cylinders, spheres, spline meshes and polygons. You can also draw curves, and extract curves from other shapes. This is the key to creating other different objects. For instance, to create a torus (which is like a doughnut), you could draw a multi-sided polygon, set all its nodes to fully smooth, and then have the program create a tube from it. The good thing with tubes, is that their nodes don’t all have to have the same thickness, so this is an ideal way to make tree branches and stalks of plants, which may be thicker at one end than the other.
You can also create 3D, extruded text, but I often find that importing it from OBJ files is preferable. You can get an add-on for AOI, which will allow you to import more object formats too. Plus scripts as well. I have one that makes spirals, which are very useful for springs. This is awkard to do by hand.


Boolean Modelling allows you to determine what happens when 2 objects intersect with each other. In this case, a longer, skinnier cylinder is cutting a hole through a fatter, shorter one. This is the easy way to the likes of windows and doorways too. You should really complete all the cutting out before texturing as well. Unless you’re just using a very simple texture for the entire object.
Tubes can only have flat or open ends. So, what if you want a nice spherical end? Well, the answer is to make a boolean union of a tube and sphere of the same thickness. You then convert the union to a triangle mesh. Next, cut the sphere in half, and take off the polygons from the end of the tube. After that, join them together. The result can be seen in this lower picture.
Caustics and scattering from materials produces some really b!tching results, although personally I would steer away from this in animations, as its randomness can often have odd results. This is very CPU intensive, so render small if you’re testing, and get ready for a long wait for your final, big sized image.
The score at the bottom can be shown when you’re doing animations. This is something I haven’t really gone into a great deal, as I find it a bit overwhelming. The program can be set to render at various frame rates and between a selection of times as well, in case you want to render certain parts at a time.

Rendering can be done with the raster setting, for quick, lower quality previews of your scene. This is good for testing texturing results and camera positioning. The ray tracer, is the high quality renderer, which you use for your final product. Sometimes you’ll want to render at low resolutions, like 320 × 240 pixels, to get a fast, and more accurate glimpse at how things are looking, which can be critical when it comes to lighting.
You can add “bones” for animations too, but this is not something I have tried out. The instructions mention how to do it though. Speaking of which, some of the instructions are written a bit vaguely in places, and the numbering of sections is most peculiar. Actually, I think they’re a separate thing you can download, if I remember rightly.
Exporting meshes is something I’ve done quite a bit — especially for Morrowind. The texture mapping only seems to come out right though on surfaces that have projection mapping, AND without the scale to object selection on. Sphere & cylinder mapped objects have their texture mapping coming out quite weird. So I use another program called UV Mapper Classic to fix the OBJ files before importing into NIFSkope. That said, AOI makes a very clean mesh, with no holes or stuff ups regarding polygon edge smoothing.
Layered texturing will allow you to put more than one texture on an object, and assign what texture you want, to what faces or nodes. They can also be blended together, which is great for landscapes, but it can be done for anything really. What you need to realise though, is that one texture must be the “primary” one which covers everything. If you were using 2 textures and equally used one on 1 half of the object, and 1 on the other, and blended them, you would get a transparent section where they meet. So there is a texture priority. You set 1 texture to cover the whole object, and then the one which takes priority appears in areas where it has a value higher than 0. Where it doesn’t, the one which covers the whole thing appears. If that makes sense.

Here you can see what I was on about above. While both textures are set to a value of 1, the grass takes priority, because it’s higher up the list. If the rock was set to 0, there would be a blend to that level of 0 where the grass met, and hence the transparency, which you don’t want.
Procedural 3D textures don’t require much in the way of alignment on objects, because they’re always represented in a 3D space, rather than 2D, like bitmaps. These are mathematically generated by the program, and there’s a bit of a variety of useful patterns. By mixing things together and using various operations, (if you understand them,) you can make some pretty cool texturing.

Creating pots and vases is as simple as making a cross section curve and then using the lathe feature to spin it. I recommend converting the finished result to a triangle mesh, then deleting the polygons that go a bit kooky on the central axis, & finally re-closing the hole. It makes for a much smoother and neater mesh.
A sample frame from my recent Elegant Corridor “fly-through” animation for the start of my DVDs.

If you’re doing simple 3D work, Art Of Illusion may be a great choice. If you’re looking at working with animating 3D people and that kind of thing, you might want to go for a commercial program, like Maya or 3D Studios Max perhaps. But I don’t really do anything like that, so I’ve stuck with this for the time being. Once you start adding oodles of textures and get highly detailed enviroments, it can really chunk, if your computer isn’t up to it. So if you have a couple of computers in your house, run this on the most powerful one. I would say it’s worth checking out if you want to get into 3D work for the 1st time, as it can do some pretty cool stuff. As I said, it runs on Java, although there are programs designed to launch it for Mac OS X, Windows & Linux. (Which come with the copy you download anyhow. Although you should also be able to directly run the JAR file too.) Plus, you can’t complain about the price — it’s free!

Other Reviews In This Monthly Dealie:
• Corel CHART! 3
• Windows 10
• JES De-Interlacer + Microsoft Works 3
• Power DVD 6
• Corel DRAW 8
• XMPlay + Cog + MacAmp Lite X
• iMovie 6 + iDVD 7
• Open Office 3.3
• Winamp 2.8