Creating RenderWare® Objects For Use In Active Worlds
 
 
 

Developed by Criterion Software Limited (a Canon company), RenderWare (RW) is the name of the 3D API graphics engine used in Active Worlds (AW), developed by Circle of Fire Studios, Incorporated.

Creating RW objects can be very irritating at first, but once you get the hang of it, as with anything, it becomes...well, less irritating. I think until an actual RW modeller comes into existence, or an existing modeller (Kinetix 3D Studio, LightWave 3D, Caligari trueSpace, et cetera) with correct RW script language (RWX) exporting capabilities, making objects this way will continue to be irritating and annoying. But, for the most part it's all we have so we have to make due.

To make this painfully-irritating process easier, I have decided to create a tutorialish guide to making RW objects. This tutorial was mainly inspired by grover's "Renderware Walk-Through" because his website is supposedly down for good. So, instead of just putting his up on my site, I decided to make a whole new one. To be honest, I didn't really like his anyway. It wasn't organized very well and didn't look too good. No offense, grover.

The first thing you probably want to do is get some RWX viewers. There are a few out there (each have their advantages and disadvantages), so try them out, see which one you like figure out how to set it up (setting the correct paths, mainly) and then come back here and we'll begin:

AlphaWorld Object Browser
RenderWare 3D Object Viewer 2.1.09 MR1*
RWX Modifier Beta 1.7*

* RenderWare 2.0 DLLs are required because this program has not been updated for 2.1, which Active Worlds uses.


Terms

Script

clump: a collection of polygons and vertices
polygon: a collection of vertices connected together
quad: a 4-vertex polygon
triangle: a 3-vertex polygon
uv: unknown acronym definition; used after vertex coordinates; defines texture repetitions across vertices: u is the horizontal distance across the texture and v is the vertical distance across the texture
vertex (vert)/vertices (verts): (a) point(s) in the Cartesian graphing system (x,y,z); defined in either clockwise or counterclockwise order

General

m: meter

.1m in a RenderWare script equals 1m in an Active World.



Making A Script File

According to Criterion's RW API documentation:

"All of the scripting keywords are case-insensitive, i.e., upper and lower case may be freely mixed. Keyword values are also case-insensitive with the exception of filename. The case sensitivity of filenames is dependent upon the host operating system.

· Every script file should have exactly one top-level ModelBegin ModelEnd block. Within such a block, zero or more ProtoBegin ProtoEnd blocks followed by one top-level ClumpBegin ClumpEnd block are expected. The ProtoBegin ProtoEnd blocks are prototype declarations, and the top-level ClumpBegin ClumpEnd block is an actual clump being constructed by the script."

If a pound sign (#) appears in a script file, RW will ignore it and anything after it on that line. # is used for making comments, labelling verts, or other information, so I will use it in this guide to explain what is going on within a script file.

modelbegin    # start of model

clumpbegin    # start of clump

vertex -.1 0 0    # creates a point at -.1 0 0

clumpend    # end of clump

modelend    # end of model



Other RenderWare Object Creating Tutorials/Guides/Help Files

http://al.matek.sintef.no/henrik/tt/index.htm
http://www.activeworlds.com/support/docs/makingar.htm
http://129.241.12.40/guild/bats/tapbasic.htm