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.
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.
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
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