|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Friday, 1 December 2000||Author: Alex Young|
|Published to: enhance_articles_multimedia/Images Articles||Page: 1/1 - [Std View]|
3D Modeling Software
Feel like rendering space stations, like Babylon 5? Want to try your hand at your own Toy Story? Alex Young takes you on a trip through a few of Linux's most popular packages for rendering 3D objects and creating digital animation. You might be surprised at how many file formats are compatible between the Linux modelers and their Amiga and Windows-based counterparts. Take it away, Alex!
AC3D first application I came across, has been around for a long time. The main reason people avoid AC3D is simple. It's not open source. While the trial binary will not save AC3D files, it does give you a feel for the package. I personally like AC3D, and its registration (US $40) isn't that expensive. Intuitive and easy to use, AC3D supports many common file formats. For example, you could use it with POVRay or BMRT. AC3D ran quite well on my old k6-2 300 with 64MB RAM. I had quickly surrounded the Tie Fighter object with an array of objects. These included extruded texture mapped text and scary saw-looking representations. If it's imperative that you obtain a competent 3D modeler for Linux right now, give it a try.
This really wouldn't be Linux without recursive acronyms, would it? Giram Is Really A Modeler (GIRAM), and can read and write POVRay and AutoCAD DXF source files, using GTK+ for the interface (no more boring grey motif-style interface!). Upon loading GIRAM, you are presented with a small toolbox much like The Gimp. The interface took me a little bit of getting used to, and at the moment you can't really do much more than edit simple objects, and perform operations such as scale and rotate. And much to my disappointment, I made it segfault when cutting an object. However, GIRAM has improved somewhat, so may develop into the definitive open source modeling package (maybe with more community help!).
The next program I found was gSculpt. Notable was gSculpt's small source size, only 88k! My poor old 56k modem could just about handle this. The program compiled with no modifications of the Makefile or anything out of the ordinary. Apparently gSculpt is based on Cybersculpt, popular on the Atari ST.
After playing with gSculpt for a while, I began to get my bearings with the interface. The main method in gSculpt creating is manipulation of polylines. If you imagine modeling a cross-section of a bottle, you could sweep the cross section around to create a 3D representation of it. With gSculpt, you can go on to select points on the object, and apply tools such as magnet and fluid to move these groups of points in natural-looking ways.
At first, I found gSculpt's approach awkward, but with practice I probably could create quite sophisticated objects. To become a really great modeler, however, gSculpt should allow objects to be exported in all the common file formats, and permit texture and material editing.
I'm sure most people interested in 3D modeling and ray-tracing have heard of Blender, which offers modeling, rendering and animation, and is widely used in the Linux community. It also is ported to other platforms. If you haven't used a similar package to Blender, you may find it heavy going at first. With perseverance, you can create amazing images and animations (check out the gallery on Blender's site). There are tutorials online as well as a Blender manual for sale.
Parts of Blender 2.0 are actually open source. Blender 1.8 and 2.0 are available for download. You can buy the manual for $40 (The Blender Shop carries it). A good tip for using Blender is to run it on its own X server. I do this by starting X on a new display, then exporting the DISPLAY environmental variable to be equal to the new display, and running Blender. I've had problems in the past with a few window managers and blender, and this seems a good way to get around the problem.
The last program I tried was 3dom, which is a 3D Solid Object Modeler, featuring a "reality-based material representation," modeling from primitives, a plug-in system scripting through Python and a constraint solving engine. This program took an hour or so to compile on my machine, so you may want to take time to make a nice cup of green tea (or whatever your hot beverage preference is), and read linux.com whilst it builds.
3dom includes some nifty features, such as Constructive Solid Geometry (CSG) operations, and solids constructed by extruding or revolving 2D drawings. I personally found 3dom natural to use, but I haven't as yet tried using the scripting engine. Through scripting, 2D extrusion and CSG operations, it would be possible to create some very detailed objects, and then you can even export to BMRT or POVRay!
If you want to incorporate landscapes into your POVRay scenes or RIBs, you may want to look at landscape generators. Landscapes can be exported as polygon models which can be included in scenes with other objects, or they could be rendered separately for use in a 2D scene or your Web site. For Linux, the most notable landscape generators are, Height Field Lab and Terraform.
There are more modelers for Linux, which are either commercial (including Amapi 3D) or too early in development to be really useful. Try looking here for a good list of programs, or try the usual application news sites such as freshmeat. I found a few programs on sourceforge.net that looked promising, but have not released files (such as Magiclight). At the moment, I use blender, but hopefully in the near future programs such as GIRAM will compete with the commercial applications! And don't forget trusty old Sced, and also try looking for Moonlight 3D, which seems to have vanished, unfortunately. Happy rendering!