Active Worlds Newsletter
Header Art
<empty>
 
Commands & Features to Take Advantage of

This month I thought I'd cover several small features that have crept into the browser without much fanfare and sometimes have been virtually overlooked because something bigger was released at the same time. You might find a nugget of information that will be of great help in your builds.

 

1. Visible Off Radius: This is a welcome addition to the "visible off" command. It can be used to remove objects from the scene based on the viewer's distance from the object. When used, the visibility will be off on an object until the viewer walks into the stated radius range, at which time the object will become visible. Why have this?

Because of how the browser renders objects. For instance, say you are walking by a house, and inside are any number of furniture items and knickknacks, but you cannot see them through the walls of that house. Even though you cannot see them visually, they are still being rendered by the browser. With this new command feature you can control when that object will be visibly rendered.

create visible off radius=10

This would cause an object to be "visible off" (hidden) until the viewer gets within ten meters of the object. Since we can't see an item inside a home until we get near it anyway, this command does not do anything to damage the effect we are going for. This can greatly boost users' frame rates in heavily built areas, and is particularly useful for removing small items from the scene which are not normally visible at a distance or in hiding objects that are located within buildings that you are not able to see when outside. For more information on the visible command, look here: http://wiki.activeworlds.com/index.php?title=Visible

Note: While the radius option for the "visible off" command can help improve frame rate on objects in general, it does not seem to improve frame rate when used on sign objects due to each sign's need to be downloaded fresh as it comes into view.

 

2. Lock: Ever wish you could lock the door on your virtual bedroom so only you could open it? Ever wish you could make a chest with a special gift inside that only your friend could open? The lock command finally gives you this ability. This allows you to lock command actions to only one, or a few, designated citizen(s).

activate lock, rotate 0 10 0 time=5

The above example will lock the object so that only the builder of the object (you) can activate the rotate command on the object. Maybe you want to give a few friends the ability to open it as well.

activate lock owners=337845:32:198174, rotate 0 10 0 time=5

Now they have the power too. Note this still allows the builder to activate without adding their citizen number to the "owners" list. Note: All actions listed before the lock statement are executed for everyone; all actions listed after the lock statement will be restricted to the object owner and citizens listed as owners. It works in combination with create, bump, and activate triggers. The wiki gives more examples. http://wiki.activeworlds.com/index.php?title=Lock

 

3. Gravity: This is not a command, but an additional feature for the move command. Using the gravity option will cause the object to move to the destination and then begin falling instead of continuing straight on its way. Note that the object will not collide with scenery or bounce off of other objects, it will simply fall through other objects until the time runs out, when it will return to its original position. If you want the object to stop on the ground, you will need to use the wait and time commands. If you've ever wanted to fling things from a trebuchet, this could be just the command you need.

Example: create visible off radius=40; activate move 6 19.69 0 gravity time=2 wait=25 global

To see all possible arguments for the move command, both new and old, visit this wiki page: http://wiki.activeworlds.com/index.php?title=Move

 

4. LTM: Not a command by itself, it's an additional feature for the move command. It stands for "local transform matrix." By default, an object will move along the global, or world, axes. This means that the object will move in the same direction regardless of its rotation. With the ltm option applied, the object will instead move along its local axes, which means its own rotation will be taken into consideration. Where might this come into play? A good example I saw was having an avatar object pacing back and forth. If the avatar is turned at an angle, having it "walk" in the direction it was facing would have been tricky before. The ltm option allows you to easily apply the move command to the avatar according to how it is rotated.

create move 0 0 -20 time=16 loop ltm, rotate 0 120 0 time=0.25 wait=15.75 loop nosync, seq walk loop

The above example was courtesy of DeltaPHC. It makes an avatar walk in one direction, swing around at the end of it's path, and walk back in the opposite direction on a loop. The use of the ltm command ensures that no matter what direction the avatar might be facing, it will walk straight, and not glance off at an angle. (For the formula DeltaPHC used to arrive at the above example, check out this forum thread)

 

5. Global: This one has been around longer than some of the others on this list, but it isn't a well known feature. When you use the "global" parameter, it allows everyone who has the scene loaded to see commands when other people activate them. So now, if you open a door, everyone else around you can now see that happening. And if something jumps out at you from behind that door and screams, they will all see and hear that too. Now everyone can share in the fun at the same time.

Example: activate rotate 0 -15 0 time=1 wait=10 smooth, noise door.wav global

Note: This command only has to be placed once in the entire object action box. It will automatically be applied to all action commands that exist on that object. For this feature to work, global events must be enabled. (Options/World/Features/Options: check "Enable Global Events")

 

6. Smooth: This is not a command but an additional feature for both the move and rotate commands. The "smooth" argument will cause objects using these commands to accelerate and decelerate instead of abruptly changing directions. The time it takes them to perform their task will remain the same as the value you set for time, but its speed while moving will change to make the movement less "jerky".This will allow a clock pendulum to swing back and forth and a door to open in a much smoother (hence the name) and more realistic manner.

Example: activate rotate 0 -15 0 time=1 wait=10 smooth, noise door.wav

Note for rotate commands: This option is only meaningful when the rotate command uses the "time" argument. For commands where time is not specified, smooth will have no effect.

 

7. Seq: The seq command (short for sequence) allows a designated sequence from the object path to be applied to an object in the world. This gives new life to avatar objects. It could also have a lot of extended uses: trees that sway their branches, curtains that flow in the breeze, and a book that flips it's pages all by itself. The object in question must have a hierarchy system (both skinned and jointed avatar objects will work).

Example: activate seq somersault time=5 translate

This will run the somersault.seq for 5 seconds. The "translate" argument allows the avatar to move from it's spot if the sequence would normally have made the avatar do so. For a full listing of this command, check out this link: http://wiki.activeworlds.com/index.php?title=Seq_%28building_command%29

8. Increased Avatar Viewing:  Going to huge events like the CYs or Support AW Awards can be exciting... and frustrating. No, not because of the popcorn-throwing hairsquare seated behind you, but because you can hear that guy and you can't hear what your friend two rows up just said because one other person walked into your visible range and that bumped them out of the 50 avatar limit you have. Grrrr! Well good news: now you can hear everyone at large events in glorious surround chat!

The max avatar setting has been raised from 50 to 400. This not only allows you to hear all 80-120 people talking at once, but if you alter your "render nearest avatars" setting, you can also see them all. (You do not need to change any settings to be able to see the chat from all 400). Events will never be the same again!
 
To change the number of avatars that render in an  area for you, go to Options/Settings/Chat

Caution: Higher numbers of avatars  being rendered will reduce performance in crowded  areas.

 
 
New features are always popping up in the AW universe, and 4.2 heralds more new arrivals. If you haven't had an opportunity to visit the 4.2 Beta universe and check some of them out, I highly recommend you come and see what you have to look forward to. http://objects.activeworlds.com/downloads/awb42beta.exe (Save this browser in it's own folder apart from the 4.1 browser you are currently running). Happy building!

 


The AWNewsletter wants your feedback! Send comments and suggestions to: newsletter@activeworlds.com.

If you would like to write an article for the newsletter or have a project you would like to share with the community through this newsletter, please contact us (newsletter@activeworlds.com) to find out more about participating.

 
<empty>
A product of Activeworlds, Inc. Active Worlds Newsletter Home Newsletter Archive Contact Us Disclaimer