Skip to main content
Skip to menu
Skip to local navigation
Program Participants


Dan’s Documentation

Dan’s Documentation (last updated 1/21/2004, minor incomplete update 8/21/2006):

Tutorial #1:

Building an object and importing it into the Active Worlds engine

This is a piece of cake thanks to Polytrans, which allows you to export directly from 3DS Max to .rwx (the AW engine reads either .rwx or .cob files) and automatically takes care of all lighting and shading and preserves any textures you’ve applied.

1)      So you’ve built a house and textured it. Simply select export from the file menu in 3DS Max and choose .rwx from the drop-down menu.

2)      Now zip the .rwx file.

3)      In each of the world folders, there is a folder called models. Simply place the zipped .rwx file into the models folder of the world you want the house model to be available in.

4)      All textures you used have to be placed in the textures folder found in the same place.

5)      And that’s all there is to it. Now simply open AW, copy an existing object and rename it (i.e. house.rwx).

Note: .rwx file names can’t include spaces, periods or other punctuation.

Note2: You always have to delete cash before any objects you’ve added will be available or changes you’ve made to existing objects will take effect.

Tutorial #2:

Tricks and tips for Active Worlds

1) Distance:

AW has distance issues. If objects are too big, it won’t render them. You can set your visibility as high as 200 meters, which solves the disappearing object problem most of the time. The problem is, the more you can see the more the computer has to render and the fewer FPS (Frames Per Second) you get.

2) Gravity:

In order to have gravity in a world, you have to have a ground object. Go to options à world à features to set a ground object if there isn’t one.

3) Fog:

To turn fog on, go to options à world à lights and fog. Fog decreases visibility and increases FPS.

Tutorial #3:

Creating an avatar

Refer to the tutorial found here:

C:\avatar tutorial or at this URL: http://www.micromouse.ca/avatars.html

Note: Because you have Polytrans at your disposal, the only thing you will use Accutrans for is the animation. So after you build (making sure that all its limbs are separate objects so you can animate them) and texture your avatar, export it as an .rwx file from Polytrans. Open this file in Accutrans and follow the instructions given in the tutorial referenced above to animate the avatar. Once you’ve created a hierarchy for the various parts of its body and positioned its joints in Accutrans, export the avatar, again, as an .rwx, making sure that the avatar box is checked (refer to Dark Knight tutorial). Zip this file and place it with the other avatar files in the Avatars folder of whichever world you want it to be available in. Then, remember how you saved the animation sequence you created for the avatar as an .seq file in Accutrans? Well, now you’ll want to zip that file as well and place it in the seqs folder of the same world. The final thing you have to do is this: open avatars.zip from the avatars folder and extract the avatars.dat file. Open this file with Word Pad. Before you is a little bit of programming that tells AW which .seq files (animation sequences) go with which .rwx files (avatars) and for what actions. The best thing to do is simply copy an existing avatar’s data and make any necessary changes. Let’s say I’ve made a bear avatar. It would probably look something like this:

avatar

name=Bear (this is the name that will appear in the avatar drop down menu in world)

geometry=bear.rwx (this is whatever you exported the model as)

beginimp

walk=shanub01 (b/c I want my bear to use the avatar Shanub’s walk sequence)

wait=bearwait

endimp

beginexp (expressions are those buttons that allow one to make his/her avatar gesture, express an emotion, etc.)

wave=bearwave

endexp

endavatar

If You Don’t Have Polytrans, Refer to This:

So, you don’t have Polytrans and you have to do everything in Accutrans. Well, you’re in luck because using Accutrans isn’t nearly as much of a headache as it used to be. It now preserves UVW mapping data so you can texture your models in Max. It also has these little buttons that allow you to copy a given setting for one layer to all layers. First of all, what are layers? Well, when you create your model in Max, it will be comprised of many different objects; presumably one for the head, one for the neck, one for the torso, one for the pelvis, one for the right upper arm, one for the right lower arm and so on and so forth. You get the idea. Anyway, each of these objects, or layers, as they’re called in Accutrans, has a set of properties associated with it. To change these properties, go to layers > attributes. In the top left corner of this window, you’ll see a list of all the layers in your object. You can select them individually and change their attributes, or you can select individual attributes and copy them to all layers. The latter is what you’ll want to do most of the time.

Important: I should mention, though, that before you even export your object to .3DS file format, there are a couple things you’ll want to check for. First, make sure that all the objects in your scene have their pivot points in the exact same location. If this is not the case, they will be positioned incorrectly relative to one another when you open up the file in Accutrans. You can check where an object’s pivot point is by selecting it and then selecting the hierarchy tab. If you want to reposition it, just select the affect pivot only button. The best way to make sure the pivot points of all your objects are in the same place is to attach them all together, center the pivot of the new mega object (when you have the affect pivot only button selected, press the center to object button) and then bust it up into its separate parts again.

Update: Let’s say you have a scene that needs to be exported in separate pieces, perhaps because it’s comprised of objects that need to move independent of one another. In this case, only the pivots for the objects that will be exported together need to line up. So if, say, you are making a house, and you export the frame of the house and the door separately (so the door can have a rotate command associated with it), all the objects that make up the frame have to share the same pivot point, and all the objects that make up the door have to share the same pivot point, but the frame pivot points don’t have to be the same as the door pivot points. That is, they can be different, and you can still copy one from the other in world and they will be positioned correctly relative to one another. This being the case, my personal preference is to group all the objects that will be exported together. This way, you can just select the whole group and choose File>Export Selected.

The second thing you’ll want to check is that the bounding boxes of your objects aren’t angled oddly. First, change your view from wireframe or smooth (or whatever it’s set to) to bounding box. You’ll know if it looks right or not. If it doesn’t, create a new box primitive and then attach it to the objects in your scene. This will cause their bounding boxes to be aligned with its properly-oriented bounding box. Delete the box when you’re done.

For starters, you’ll want to give your character lighting properties (actually, even before that, make sure you select the renderware tab). To do this, first check the box for “lit” under the “texture modes” category. Next you’ll want to set ambient, diffuse and specular lighting levels. Depending on how light, dark or reflective you want your character to be, these settings will differ, but I usually go with about .5 for ambient, .5 for diffuse, and .3 for specular or thereabouts. Make sure to copy your selections to all layers. Another thing is, you’ll probably want to set your “light sampling” to vertex instead of facet. This will make your model look smoother.

To give your avatar animations, click on the button with the little running man icon. Use the < and > buttons to scroll through the different layers in your model, and select the corresponding body part on the green man under the “tags” tab for each one. When you’ve finished doing that, hit the “tags + tree” button. I’m not sure if you need to hit the “merge children” button or not but I know that if you do, your textures could get messed up because your children will assume the textures of their parents. So, probably best not to press this button. Anyway, now select the “joints” tab. Before I position any joints, I like to select the “preset positions of all joints” button. This does a pretty good job of guessing where the joints should go for a humanoid character, but you’ll still usually have to position one or two. Remember, you’re working in three dimensions so look at your model from both the front and the side when you position joints to make sure that they’re positioned correctly in all axes. Once you’ve got all your joints where you want them, go to the “action” tab. Select the button with the key icon whenever you want to create a key frame. When you’ve finished one animation sequence, hit the “save animation to SEQ file” button, and then zip the resulting file and place it in the “seqs” folder of the world you plan to make that avatar available in. All done.

Note: When you animate your avatar, you’ll find sometimes when trying to create a complex motion (i.e. one that involves a lot of rotation in different axes) that things get pretty messed up (i.e. your avatar’s arm will flip backwards – owe – on its way to a given key frame). Most of the time, this is because the arms (or whatever your having trouble with) on model you imported from Max already had some degree of rotation assigned to them. So the obvious solution is to position your avatar in Max like it’s JC on the cross (no disrespect intended); that is, with its arms pointing straight out at 90 degree angles from its body. This way, they begin with zero rotation and should be easier to animate.

When you save your object, make sure to save it as an .rwx file. If it’s an avatar, check the avatar box. UV should be checked by default, which you’ll want to keep if your object has UV mapping from Max. You’ll almost definitely want to scale it down, so in the box next to OSF set to type .002 or something thereabouts. This will vary according to your specific needs and the size of your object.

Tutorial #4:

Creating a sprite (masking)

If you’re making a sprite from scratch (i.e. not using Max and working strictly in .rwx format), check out this tutorial: http://host.scicentr.org/people/alant/renderware/sprites.html

The above tutorial will make a whole lot more sense, however, if you read his basic intro to .rwx object files first, which can be found at:

http://host.scicentr.org/people/alant/renderware/model.html

Anyway, if you do have Max at your disposal, this way works as well:

1) First, go into Photoshop and figure out the dimensions of the picture (.jpg) you want to make into a sprite. Then go into Max and create a vertical plane that has the same dimensions. Map the .jpg to the plane with planar mapping. Save this as an .rwx file like you would any other object. Now return to Photoshop. Take the picture you want to make into a sprite and do the following:

·        Make everything you want to be invisible black

·        Make everything you want to be visible white

·        Make sure that pure black and pure white are the only two colors in the mask. AW won’t know what to do with varying shades of gray and your sprite won’t render. Update: this is no longer the case. The latest version of AW allows you to incorporate different shades of grey to create a partial transparency effect.

2) You should now have a picture that looks like a white silhouette of whatever part of the picture you want to make into a sprite on a black background. Save this as a bitmap (.bmp), naming it whatever you named the original .jpg, only with an m on the end.

For example: if plant.jpg is the picture I want to use, I will call the mask (that’s what it’s called) plantm.jpg

3) Now zip the mask and place both it and the .jpg in the textures folder of whatever world you want the sprite to be available in.

4) Ok, remember the .rwx file we created? Open that up with WordPad. Scroll down to where all the vertex coordinates are listed and insert this little bit of code:

AxisAlignment ZorientY

That tells the object to always align its normal with the viewer or, in other words, always face toward the viewer.

This is what it should look like once inserted into the .rwx files code (minus the highlights, of course):

ModelBegin

ClumpBegin

TransformBegin

JointTransformBegin

IdentityJoint

# Object name: Rectangle01

ClumpBegin # Start of 'Rectangle01'

TransformBegin

JointTransformBegin

IdentityJoint

# 4 num vertices

Tag 1

AxisAlignment ZOrientY

VertexExt 0.25 0.175 0 UV 0.999500 0.000500 Normal 0 0 1 # 1

VertexExt -0.25 0.175 0 UV 0.000500 0.000499 Normal 0 0 1 # 2

VertexExt -0.25 -0.175 0 UV 0.000500 0.999500 Normal 0 0 1 # 3

VertexExt 0.25 -0.175 0 UV 0.999500 0.999501 Normal 0 0 1 # 4

# 2 faces

# Material name 'Material #1'

Color 1.000000 0.364964 0.364964

Surface 0.179083 0.537255 0.050000

Opacity 1.000000

LightSampling Facet

GeometrySampling Solid

TextureModes Lit ForeShorten Filter

Texture plant mask plantm

Triangle 3 1 2 # 1

Triangle 3 4 1 # 2

JointTransformEnd

TransformEnd

ClumpEnd # End of 'Rectangle01'

JointTransformEnd

TransformEnd

ClumpEnd # "World" end group

JointTransformEnd

TransformEnd

ClumpEnd

ModelEnd

Notice in the example above that I also highlighted the line

Texture plant mask plantm

That’s the other bit of code you have to add. You’ll presumably have textured the object in Max so the Texture plant part will already be there. All you’ll have to add is mask and then the file name of the .bmp mask you created like in the example.

GOOD TIPS

1) Known Issues with Making Copies of DV Tapes:

1)      Computer may run out of RAM when capturing large files. Best method is to capture half hour segments or less.

2)      When exporting back to DV tape (from Premier), be sure to use export to video as opposed to print to tape. The latter will result in a large number of dropped frames.

3)      Using a tripod is recommended. Cameras have trouble focusing on computer monitors when zoomed in close enough to see well what’s being displayed if there is any movement. The minor sacrifice in mobility is more than justified by the significant increase in legibility of monitor displays.

4)      DV tapes are usually 70 minutes in length. Try avoiding using more than absolutely necessary. In the case of the Expand Your Horizons event, three tapes were used when only two were needed, which made the capturing process more difficult.

5)      If screen dialogue is to be synched with camera footage, be sure when capturing that the beginning and end of each separate segment overlap so there are no voids in time.

6)      When filming, focus less on what people are typing (as this is already being recorded) and more on their faces and what they are doing.

2) Adjusting an Object’s Brightness

The brightness of a given object in Active Worlds depends on its ambient and diffuse lighting values. These values are set in Max prior to export to RWX. Open the Material Editor. Notice that each material has three colors associated with it: ambient, diffuse and specular. Active Worlds discards specular lighting information, so all you have to deal with is ambient and diffuse. Right-click on one of the boxes (but not the specular one). Notice the value slider in the middle of the pop-up window. That controls brightness. I usually set it slightly below the middle, but you should experiment to see what works best.

3) Scaling an Object

I get the best results when I scale each object I export from Max by a constant factor. First off, scaling can be done both in Max and during the export process. Before I scale an object in Max though, I like to see how big it is in Active Worlds. Bottom line is, scaling is very important. If you export an object from Max without scaling it first, it will be so ridiculously big in AW, you won’t even be able to see it. So here’s the key: when you export, scale your object by a factor of .002. That’s something of a golden number, but of course, it all depends on how big your object is in Max to begin with. If it’s a little too big or small after being scaled by .002, go back into Max and make any necessary adjustments, then export again, still scaling it by .002.

Note: I just made a Max file called master avatars. This file contains all the avatars I made, and they are all the correct size given a .002 scale factor in Accutrans. All you have to do is import the master avatars.3ds file into your scene and scale everything accordingly. Then you know that .002 will be the correct factor by which to scale your objects when you export them from Accutrans.

Ok, a few really important updates… Scaling an object should be done thusly: Accutrans doesn’t care what your units in Max are set to. It sees them as raw units of measurement. In Max, by default, the distance between grid lines is ten units. Also by default, one unit equals one inch, but that doesn’t matter at all. So, let’s say your making an avatar. The average avatar is .18 meters tall (AW measures everything in meters). In max, your avatar model needs to be 180 inches, which we’ll just think of as 180 units (i.e. the top of his head is two grid lines below the second major grid line – which are spaced 100 units apart by default – from the origin). Now, when you open this model up in Accutrans, go to tools à adjust object. Height will be the Z-axis information. As you can see, your avatar (assuming his feet were positioned at zero units when you exported him) is 180 units tall. Hit the units button. By default, both import and export are set to meters. So import height is 180 units and export height is 180 units. Switch the import units to millimeters. Now it shows that our avatar will export as .18 meters, just as we want him to. Click ok to exit and then click the scale button below the units button. Notice how our avatar is now 1.8 meters tall.

Do all scaling BEFORE you give your avatar joints/a hierarchy and animate him/her.

4) Double Sided Objects

Double-sided geometry can be a great way to save on polygons. Things like windows and ropes and leaves often don’t need to be 3D, but they do need to render from both sides. In many cases, your models will have some parts that need to be double-sided and others that don’t. You’ll need to export them separately, as it is during the export process that you specify whether an object is to be single or double-sided (there’s a box you have to check). I recommend that you attach all the objects that you want to be double sided together in Max and then export them all at once. This way you only have two objects to deal with in world; one that’s double sided and one that’s not. The Tree Of Life, for example, is comprised of tree.rwx and tree2s.rwx, the latter being those parts of the Tree that are two-sided (hence the 2s designation).

5) Precise Positioning of Objects

For precise positioning of two or more objects relative to one another, position them in Max (as opposed to in world). You may still export them separately (thus making them separate objects in world) by simply selecting each object one at a time, deleting everything else in the scene, exporting the selected object and then undoing the delete and going to File à Export Selected. One reason you might want to have precise control over how multiple objects are positioned relative to one another is this: let’s say you have a single object that has both single and double-sided elements. As was just mentioned, the double-sided elements will have to be exported separate from those that aren’t, and in most cases, you’ll want their positions relative to one another to stay as you have them in Max. The thing is, you have considerably less ability to fine-tune an object’s position in world as compared to Max, and you’ll be further encumbered by the inability to view your changes from multiple/orthographic angles. So clearly, the answer is to do all positioning ahead of time in Max. And as it turns out, all positions will be preserved in world even if one object is broken down into two or more for export. This is because Active Worlds preserves a given object’s relationship to the origin in Max. If, for example, ObjectX is at 10X, 3Y and 1Z in Max, it will be the same distance away from the origin in AW (not the center of the world, mind you). So if ObjectY is at 0X, 0Y and 0Z in Max, and in AW, you copy ObjectX from ObjectY, ObjectX will be ten units above, three to the right and one behind ObjectY. It sounds funky but it’s really uncomplicated. So as I’m sure you just picked up from that example, if you want multiple objects to be positioned relative to one another as they are in your Max scene, you have to create them from copies of one another, as opposed to other, unrelated objects in world. This should be completely logical, but just to make sure you get it I’ll give an example. Remember the Tree Of Life from the previous section? Well, in order to be positioned correctly relative tree.rwx, tree2s.rwx would have to be copied from tree.rwx. One last thing to mention is that when you make a copy of something in Active Worlds, the copy is automatically moved back one space. You therefore have to move it forward one space to offset this and return it to the position it has to be in in order to be aligned correctly.

6) Visibility and Positioning of Objects

As I mentioned above, an object’s position relative to the origin in Max is preserved when it’s exported to AW. This is important to note because objects that are too far from the origin may not render in world. It’s therefore important that every object be as close to the origin as possible. Of course, you have different degrees of flexibility depending on what the visibility setting is for the world you’re working in. The basic idea is this: objects render from their origin. Whether or not an object is visible to you at any given location in world depends on how you are positioned with regard to its origin; i.e., whether you are within “visible range” of its origin. So if, for example, visibility is set to 100 yards and you are 101 yards from the origin of an object, you will not see it… even if you’re standing right on top of it. This is why you have to limit the size of the objects you make. Let’s say you make a building that’s 300 yards in length, and before exporting it, you position it so that its center right smack at the origin (0X,0Y,0Z). Moments later, you’re walking through one of its rooms when you cross over the 100 yard line, and despite the fact that 50 yards of structure lay ahead of you… woosh, it all vanishes and you’re floating in space.

7) Modeling Recommendations

1)      Keep it Clean

As you’re constructing your model, periodically take a step back and evaluate your progress. In particular, take note of how clean your mesh is. Ask questions such as: Are there holes in the mesh? Excess faces/vertices? Overextended faces? Awkward geometry? Etc. Another good thing to do from time to time is to uncheck the edges only box in the display properties section of the object properties window, which you can call up by right clicking whatever object you’re working on. This allows you to see the mesh for what it really is, and it’s when you can see those extra edges that you can do any necessary edge turning.

2)      Keep it Smooth

In Max you can smooth your models out in two ways. The first, the smooth modifier, doesn’t make changes on the geometric level, but simply increases the level of shading between the vertices that make up your mesh. The cleaner your mesh is, the better this will work. The nice thing about Active Worlds is that it preserves all smoothing information, and smoothing is a great tool in that it lets you cheat. For instance, you can make a sphere with twenty faces look almost perfectly round. Every once in a while I like to add a smooth operation to the stack but not check the auto smooth box. This gives me a raw, unaltered view of the model (sometimes smoothing can make blemishes that need to be fixed more difficult to detect). The other method of smoothing involves the Meshsmooth modifier, which actually adds polygons to your model in order to give it a more organic look. In most cases, you’ll only want to apply this modifier to one or two parts of your mesh (i.e. areas that need extra detail or need to be particularly aesthetically compelling). Use it sparingly as it rapidly increases the polygon count of your model.

3)      Keep it Light

Try to keep your geometry simple. The fewer polygons you use in your models, the smoother AW will run, and the smoother AW runs, the more people learn, and the more people learn, the better we feel, so eat your beans in every meal. Wait… Er, never mind.

The following is your official Keep it Clean and Light Toolkit:

·        Create Your Own Faces/Polygons: When you spot a group of polygons that could be effectively replaced by a single polygon, delete them and use the create tool to make a new one.

·        Weld Vertices: Whenever you attach two objects and their vertices overlap, select and weld them with the weld selected tool. Welding vertices makes your mesh a whole lot cleaner and easier to manage.

·        Monitor Your Polygon Count: Under the Utilities tab (the hammer), hit more and select Polygon Counter. You’ll be happy you did. Try to stick to a reasonable budget as best you can.

·        Snap: You almost always want to have snapping on. I usually select grid and vertex snapping to begin, and then others as I need them. I use pivot and midpoint snapping quite a bit. The thing about the former is, make sure your object’s pivot is where you want it to be (this is important for when you rotate an object as well). To adjust an object’s pivot point, open up the Hierarchy tab and select Affect Pivot Only. Most of the time you’ll then want to select Center to Object.

·        When Moving Vertices, Grab Several at a Time: This is more important than you might think. When moving individual vertices, results are often not desirable as polygons tend to lose their planarity and get distorted. So try to move them in groups of two or more.

·        Delete Polygons That Won’t be Seen: As you model, you’ll inadvertently create many hidden faces. Make sure you watch out for them and delete them because even though you won’t be able to see them in world, AW will use memory to render them (as of version 3.3, hasn’t been programmed to know not to render occluded objects). For example, you create a sign made up of one long rectangular cube for the post and another flat one for the sign itself. In this instance, two faces can be deleted… You guessed it: the top and bottom of the post. Makes sense right?

8) Making a Torch and Other Objects That Make Use of Animated Textures

So, you want to add some light to your world. The body of the torch should be a snap, but the flame… That’s the tricky part. Make two polygons at ninety-degree angles to each other. Their centers should match so if you look at them from the top they make a + (the other option would be to make the flame a sprite, but this works too, and if you go the sprite route, you have to export each flame separately, making it more work in the long run I think – especially if you have like twenty torches). Ok, so here’s the thing: textures in AW animate if they have a certain height to width ratio. I’m not sure what the exact figures are, but suffice it to say that the length has to be bigger than the width. So most animated textures look like a filmstrip, long and narrow with frame after frame of multiple different iterations of the same image. This is not to say, however, that the object you intend to have the animation play on has to be of any specific dimensions, although you’ll probably find it works best to have it be roughly the size of one frame of the animation. So, you’ve got your two flame planes and an animated flame texture. In Max, assign the flame texture to the planes and bam, instant torch. Ok, well, not quite. Now you’ve got to UVW map those planes. All the frames of the animation will be scrunched to fit on each polygon but don’t worry, it will still look right in world. Now, this should be logical, but make sure the texture is oriented correctly on both. Also, make the height of the mapping gizmo a little bigger than that of the polygon so when the animation plays, one frame doesn’t spill over into the next. In other words, if you don’t do that, you may notice in world that floating above the flame of your torch is the bottom of another flame, which just looks weird. So that’s it. Congratulations, you’ve discovered fire.

9) Textures Not Rendering in World? Read This!

Really important: make sure that all the textures you use in a given object are in the texture folder for the appropriate world or none of them will render. Similarly, if there’s a problem with one of the textures, none of them will render. When naming your textures, keep the names short and uncomplicated. No spaces or punctuation. And finally, check to make sure that none of your textures is larger than one megabyte. I think there may be a limit to the amount of texture information a given object can have, but I’m not sure. So if none of the above solutions work, try breaking up your model into several smaller pieces, using smaller textures and tiling them a fewer number of times.

Since writing the previous paragraph I’ve discovered something very important about texturing. READ THIS if you tried all of the above methods and none of them helped. Ok, in Max, a single object can have multiple textures, right? You can apply different textures to different polygons or simply attach two objects that have different textures. Well guess what? If, in your Max scene, any objects have multiple textures, none of them will render in world… That goes for the entire scene. If you go to the material editor and scroll through the textures in your scene, you may notice that some textures show up multiple times. If this is the case, then some of your objects contain multiple textures. So bottom line is, make sure that every object in your scene has one and only one texture applied to it. This is not to say, however, that a single object in AW can’t have multiple textures. That’s no problem at all. Once you’ve exported to .rwx, you’re home free. Alternatively, when you load your object into Accutrans, you can just select always when it asks you if you want to divide objects with different textures.

This just in: Name length really matters (of textures that is). This is probably more important than anything else. A good way to test whether a texture name is too long is to export your scene to .3DS. Any texture names that are too long will be shortened and Max will alert you to this whenever it shortens a name. I think the maximum is eight characters. One other thing: make sure you don’t have any texture repeats in your material editor. This may mess things up as well.

Yet another development: If you single out a texture that’s giving you problems (and that’s all it takes… one bad texture will prevent all of them from rendering), try messing around with it in Photoshop and renaming it. Dave did this with a texture recently, and while I don’t know what it was he did, it worked.

10) Creating Pict/Sign Objects

Creating pict and sign objects is so easy when you know how and so difficult when you don’t. The process is going to sound simple when I describe it, but trust me, it took me forever to figure out, mostly because I was looking for a complex answer that didn't exist. So, without further ado, behold, the magical craft of pict/sign object production:

·        Step I: Construct your model, bearing in mind that one polygon will be designated the screen, if you will, upon which the picture or sign will be displayed. This polygon should be flat (planar) and rectangular.

·        Step II: Add a UVW Map modifier to the screen polygon. Now export your model to .rwx and then open up the file in notepad. There should be two objects – a frame and a screen – so scroll down to where the data for the screen begins. Since its just one polygon, there should only be four vertices and two triangles. In fact, it should look something like this:

ClumpBegin

TransformBegin

JointTransformBegin

IdentityJoint

Tag 2

VertexExt -0.15 -0.105 -0.02 UV 0.000500 0.999500 Normal 0 0 1

VertexExt 0.15 -0.105 -0.02 UV 0.999500 0.999501 Normal 0 0 1

VertexExt -0.15 0.105 -0.02 UV 0.000500 0.000499 Normal 0 0 1

VertexExt 0.15 0.105 -0.02 UV 0.999500 0.000500 Normal 0 0 1

Color 0.031373 0.031373 0.533333

Surface 0.300000 0.400000 0.700000

Opacity 1.000000

LightSampling Vertex

GeometrySampling Solid

TextureModes Lit ForeShorten Filter

Texture NULL

Triangle 2 4 1 tag 200

Triangle 3 1 4 tag 200

JointTransformEnd

TransformEnd

ClumpEnd

JointTransformEnd

TransformEnd

ClumpEnd

JointTransformEnd

TransformEnd

ClumpEnd

ModelEnd

·        Step 3: What you need to do is this: for a pict object, add the code tag 200 after the triangle coordinates as I did above. And for a sign object, add the code tag 100.

And that’s all there is to it. Congratulations.

11) Some Thoughts on Texture Mapping

·        Most objects can be textured using the box gizmo. Here’s a tip though: set the length, width and height of the box to the same value, that way your texture won’t be stretched or compressed. Once you’ve done that, go ahead and tile away.

·        For some objects, it may be appropriate to do an Unwrap UVW operation in place of a UVW Map operation. If, for example, it’s important for certain parts of your texture to be positioned over certain parts of your model, this operation will do the job. When you hit the edit button, you can play around with the object’s UV coordinates, thus positioning the texture precisely as you want it. A good technique is to use an Unwrap UVW operation in combination with a UVW map operation. Perform the UVW Map operation first, choosing the most appropriate gizmo shape, and then add a Unwrap UVW operation to the stack. You should find that you don’t have to make quite as many adjustments this way.

12) Polytrans

Whenever you export a model from Max, this is the interface you’ll be presented with. These are the boxes that I check, although I don’t fully understand what all of them do. The most important thing is that you set polygons to be outputted as triangles.

Figure 1

3DSMax Polytrans Dialog screenshot

This is the next interface you get after hitting OK on the one above. Here’s where you have the option to make your object double sided. Notice also the scaling options. As I mentioned earlier, I always choose the last one and set its value to .002. For light sampling I usually choose vertex. Vertex Light Sampling shades between vertices (i.e. within individual polygons), while Facet Light Sampling assigns a single shade value to each polygon. Figure 3 shows a sphere with vertex shading while figure 4 shows the same sphere with facet lighting. Finally, for Texture Modes, I check all three boxes, although I’m not really sure why.

Figure 2

3DSMax Polytrans Renderware export dialog screenshot

Figure 3

Sphere with vertex shading

Figure 4

Sphere with facet lighting

13) Some Tips from Steve-o Based on His First Couple Months

1) Starting Up

- Get comfortable with interface/working environment (takes about a week in my exp.) - Know your short cut keys!!   2) Basic Modeling Techniques - Primitive object manipulation (parameters) - Sub-object manipulation (post-mesh-form) - Low polygon count highly important!!   3) Efficient Modeling Techniques - Use minimum number of subdivisions possible - Cut out bottom polygons if it will be on the ground - A good texture on a poor model goes a long way - Use cap holes, tessellate and optimize (note from Dan: Steve’s right, optimize is a great operation. It often recognizes unnecessary polygons that you don’t)   4) Modeling to Active Worlds Placement - Export to .rwx (need Polytrans plug-in to be installed) - Transparent/double sided objects need to be exported as separate objects - Once converted to an .rwx file, the file needs to be zipped (with the same name) then placed in the object path models folder - ALL textures must be placed in the object path textures folder or else the object will appear flat shaded in world  

14) Using the Batch Functions in Accutrans

To anyone using Accutrans, read this! The latest version (2.8.13) has some very nice batch operation features that will save you more time than you can possibly imagine. Converting files the way I’m about to describe is infinitely better than the way we’ve traditionally converted files, and as you’ll see, it is particularly invaluable when you’re working with an scene that is comprised of many different objects that have to be exported individually (moving doors, glass windows, event triggers, double sided planes, signs, lights etc.). So, here’s the skinny:

Open Accutrans. First off, notice the buttons numbered 1 through 12 at the bottom of the program window. These allow you to load up to twelve different objects simultaneously. Take the observatory object, for instance:

The main structure went in slot 1:

SkyView Observatory main structure in AccuTrans

Then the dome went in slot 2, because it has to be able to move (rotate) independent of the rest of the building:

SkyView Observatory dome in AccuTrans

The telescope went into slot 3 for the same reason:

SkyView Observatory telescope in AccuTrans

Then the left door went in slot 4, the right in slot 5. The spaceship went into slot 6 (because it has to be a clickable object). Then there were several light objects, and 11 sign/pict objects. Obviously, I ran out of slots the first time around, but no big deal. Most objects don’t require 20 slots anyway.

Ok, so we’ve got all the different parts of our scene loaded into Accutrans (see blue note at bottom). This next bit is the best part. Hit the BA (edit and select batch attributes for layers) button and set all the attributes however you like (this will vary depending on what your specific needs are), making sure to hit the @ (depress button to make this a batch attribute) button for any attributes you want to set as batch attributes. These are the settings I usually use:

Ambient: 0.5

Diffuse: 0.5

Specular: 0.3

Opacity: 1.0

TextureModes: Lit

LightSampling: Vertex

Note: You may additionally want to specify colors, tags (for sign or pict objects) or double sided polygons.

Now hit OK to save your settings. Next, you’ll want to go through all the objects you have loaded (1 through whatever) and hit the button that has an @ symbol with an arrow going to a 3D rectangle (apply batch attributes to all the layers) for each one. You’ll recognize this button when you see it. It’s right next to the BA button. Alternatively, you can just hit the @ (if selected, apply batch attributes to all layers after file has been read) button on the far left of the program window under the Open File (read file) button. The layers of every file you load will have the batch attributes you set automatically applied to them when that button is depressed.

Now you’re ready to convert all your files (1 through whatever) to .rwx format. Happily, this operation can be batched as well. Just hit the button that shows a folder with the word batch beneath it (batch convert files) to bring up the batch convert dialogue. Hit the Add New File button and select all the files you want to convert. Then select RenderWare (*.rwx) from the dropdown menu and set an appropriate output path. Check the UV button if your objects have UV coordinates. Lastly, set .002 for the Output Scale Factor (X, Y and Z, of course) and hit OK.

Note: If you are overwriting an existing version of the same file, be sure to check the OverWrite box or else nothing will happen. I mention this because when you’re doing a non-batch save, Accutrans will ask you by default if you want to overwrite an existing file if the circumstance arises. This is not the case for batch saves. You have to specify during the batch save process!

Note: You actually don’t have to load all the different objects in your scene into the numbered slots at the bottom. So long as you have the @ button selected when you run the batch convert operation, the batch layer attributes you set before will automatically be applied to all the objects that pass through Accutrans during the batch operation. Just another big time saver!

15) Working offline

Working offline will save you tons of time. Whenever you make a change that you want to see in world, you won’t have to delete cache and all the unloaded objects will be loaded locally rather than from the Internet. You can see how to setup a local world folder by visiting this link: http://www.activeworlds.com/help/aw34/

 
<img src="/viewcommunity/scicentr/Flash/title_orb.jpg" alt="" style="margin-left:-34px;"/> SciCentr
CUni Status:
Normal.


Please send comments on this site to the webmaster.