This is a tutorial intended to show you the steps involved in converting a polygonal 3d model into a Renderware model compatible with the Active Worlds virtual world platform.
The pipeline for creating stuff in your preferred 3d modeler to be used in Active Worlds is pretty straightforward. It seems like a lot of people in the AW who don't come from a 3d modeling background go for Truespace because Truespace's .cob format is the only geometry format recognized by AW aside from their proprietary implementation of a very old Renderware .rwx format. Truespace's interface is a colossal pain in the ass, though, and the only people that use it nowadays are folks who don't know any better. Fortunately, pretty much everybody and my mom has some kind of application that can spit out .obj's these days, so that's the file format I'll be working with.
Recently they've added support for DirectX files, which is handy if you use Max or Blender, which I don't. However! It appears that the XSI Mod Tool, which is free, supports .obj exports as well as DirectX files, and includes in the package rigging and animating tools, which are handy to anybody who wants to model for AW without having to work through the hassle of learning Blender or having to drop lots of money on expensive applications. I'll be taking a closer look at using the Mod Tool for creating skinned avatars for AW in the future.
This tutorial assumes you have enough familiarity with your preferred modeling application to create whatever it is you need to create and that you can do the UV layout and texturing. If you don't know how to do these things, go learn how, then come back. We won't start without you, don't worry. It also assumes some familiarity with AW's build mode interface.
A tool you'll need for converting your models is an application called Accutrans, which has a 30-day fully functional trial period available and can be purchased for a modest $20 fee. You'll want to check the list of file formats that Accutrans can read against what your preferred application can export. Accutrans is a very robust utility that does a lot more than just file conversion, but the interface is one of the more terrifying examples of what happens when programmers are allowed to design interfaces. Don't let it intimidate you, they say these things can smell fear. We'll be using Accutrans to convert your model into the .rwx format. Once you've downloaded and installed Accutrans, we can begin.
The Process
1.) Model your thing. You can see here I've made myself a lovely Easter Island Moai, originally modeled in Silo and then brought into Maya to bake the lighting. Save it out in a file format supported by Accutrans. As I said before, I'm saving mine as an .obj.
I can't speak for the usefulness of Accutrans as far as other file formats go, I tried using it to convert .3ds files a few times and there was some uv weirdness happening at some point between the export from my modeler and the import into Accutrans. I should note that I was exporting directly from Silo, though, and so it could have been Silo's fault, instead. Moral: life is full of tiny mysteries.
2.) Open the file in Accutrans. Once your file is open, select Layers > Attributes, and in the tabbed section make sure the Renderware tab is selected. Your window will look like this:

My Moai has only one layer, but if you have multiple discrete pieces of geometry or multiple materials in your object that you'll have a collection of layers, each of which may need to have specific properties adjusted. If you've been modeling for any length of time, then most of these settings should be familiar to you for the most part, and you will probably be okay with the defaults. If you don't know what something does, don't be afraid to experiment, it's not like you're going to break anything.
Some AW-specific stuff that is helpful to know:
- By unchecking collision you turn off collision detection for that layer. AW doesn't support separate collision meshes, but this presents a handy way to fake it - create your extremely low-poly collision mesh, and assign a flat black bitmap to the mask texture layer to make it invisible. Turn collision on for this layer, and leave it off for all of the other layers.
- Texturemodes are specific settings that tell AW how to render the material of that layer. Lit means it recieves lighting from in-world light sources, Foreshorten and Filter are deprecated commands and don't need to be used, since the features they enabled are now enabled by default in all current AW clients.
- Lightsampling determines the shading style for that material layer.. Facet is flat shading, Vertex is smooth.
- If the Face Tag is set to 100, it enables that material to recieve sign and media actions. If you want to create a screen for streaming video, the surface that you want the video applied to must have its face tag set to 100.
Once you've got all the Renderware settings tweaked to your satisfaction click OK.
4.) Go to File > Save with options and you'll pop up a similar dialogue box to the one before, with several of the same options available:
Once Save File Type is set to Renderware, you'll have a Renderware tab appear with a lot of the same options as were available in the Layer Attribute editor. Here you have the option of changing the output scale factor, which is useful if you modeled something very large and must now shrink it down to AW's 1 unit = 10 meters native scale. When your settings are the way you like, click on Save, and pay special attention to the directory you're saving in. Accutrans likes to save in whatever directory it last saved in, rather than whatever directory the file was opened in.
5.) Pack the .rwx by itself into a .zip file. AW won't recognize it otherwise. If you made a grayscale opacity mask for any of your material layers, save them as bitmap .bmp files and make sure they are also each saved in their own .zip file. Upload the .zipped model files to the /models directory on your world server and the diffuse texture and opacity maps to the /textures directory on your world server.
6.) Now you should be good to go! Crack open the build editor in AW and drop your model in-world and position it the way that you like.

It is very important to maintain a level of plausible deniability when you are doing these sort of clandestine builds. If you drop a bunch of mysterious stone carvings in isolated places in world and are later called to account for them, the solution I prefer to fall back on is to suggest that Lemurians were responsible for placing these monoliths long before we ever arrived on these shores, and that we ought not to tamper with things we do not yet fully understand.
Important considerations
- It is helpful to know that one generic unit in Activeworlds is ten meters. You'll want to configure your export properties in your modeling application appropriately. (Or uh just model really small I guess?) You can also adjust the scale of your object in the conversion stage in Accutrans.
- The AW .rwx files are okay with uv's that spill over the edges of the texture space and will tile in both directions, which is handy to know when you're planning how to optimize your texture space.
- The activeworlds browser does not support much in the way of fancy shaders, you get a diffuse layer and, if you like, an opacity mask. Opacity masks need to be saved separately as windows bitmaps and then zipped before uploaded to the /textures directory on your world server.
- As I mentioned in step 2, Active Worlds calculates collision directly from the geometry of your object. A lot of faces means a lot of uneccesary calculation and that can hinder performance for users. If you don't want to go through the hassle of creating an invisible collission mesh as part of your object, there is the alternative of using the create solid off command in AW's building editor for polygon-heavy objects that don't need collision. You could also create another lowpoly object without bothering to texture it, and superimpose it in-world over your more detailed, but nonsolid object, and using the create visible off command to use your lowpoly object as a sort of faked collision mesh.
If you get really into creating content for Active Worlds, do yourself a huge favor and take some time to become familiar with the nuts and bolts of the Renderware language. There's a very handy resource here detailing all of the functional Active Worlds tags and being able to tweak the code by hand is way useful, especially for minor changes that could be done with a few keystrokes in Notepad* rather than having to go through all the steps of exporting your model all over again.
*Uh, but be advised when using Notepad that if you save-as your .rwx file under a new name that you'll have to use some external file manager to get the .rwx extension back, Notepad likes to sneak .txt extensions onto everything. It is much easier to copy and rename the file to the new name you'd like it to have outside of Notepad first prior to opening it.
And that just about does it. I'm certain I've left some useful information out, so if you got questions, go ahead and post them in the comments here and I'll answer them as quickly as I am able.