Not a member yet? Register for full benefits!

Username
Password
ActiveWorlds: Avatar Overriding

 

Extending an oft-overlooked Staple of VR

One of the key points about VR has always been about visualisation. Making things look as they should. Whether that is analysing data sets ,or sprawling landscapes, VR has always had the power to create form from formlessness.

When it comes to more advanced concepts, like appearance, VR has been able to alter the shape, form, and style of a person's outward appearance. Never was this more true in collaborative VR, where large numbers of people see the VR produced form of a person.

Collaborative 3D social VR systems like ActiveWorlds, IMVU, Moove, SecondLife, There, all allow the user to choose their own appearance, choose how they look, how they present themselves. However, it missed something, something key.

VR is not just a chance for you to choose how you would like to be seen, it is a chance for others to choose how they would like to see you. To assign you a form other than the one you chose, and see you in that form, without you ever needing to be aware they are doing it. Simply overriding their perception of you, to be something different.

Avatar Overriding in AW

ActiveWorlds is different to most persistent, social, collaborative 3D platforms, in that it only has very limited support for personal avatars. ActiveWorlds is based off a client-server model, and so, usually, the only avatars you can wear in a given world, are those in the selection available on the world's server.

AW does have a personal avatar option, but the individual world operator has to turn it on, and none of the main community worlds have this option available forcing users to choose one of only a couple of dozen images they provide. This is all well and good, after all, the community worlds have to be acceptable for everybody, and whilst you may have fetishes, it is generally best if other people who do not share them, do not have to put up with you kited out in leather, showing maximum skin.

However, there is a way to override or add avatars to the local client in AW. If this is done, only the people who have made the modifications will experience them. This can be the perfect way to look good for your lover, whilst nobody else is aware how little you are wearing; how much you are showing.

To everyone else, you look sedate and dignified. To you and one other who share modified files, you look anything but - but then, neither do they.

If you look at the top of this article, the two pictures there, are an ActiveWorlds standard avatar called Sarah. The one on the left, is the Sarah avatar as it is meant to be viewed. The one on the right, is the Sarah avatar after modifications were completed, by the same methods as we will be discussing here.

Setting up a Local Path

ActiveWorlds relies on a cache of downloaded files in order to function. When you first visit a world, it queues everything in the world, or everything that has changed since last visit into a download path, and transfers them, one file at a time to your hard drive.

If you have what is called a local path, an area already on your hard drive where files are stored, AW will 'download' them from there, rather than from the world, if you have them. If you don't have a file matching the name of the one it expects, it will take it from the world instead. This is the basis for the avatar overwrite trick.

To set up a local path, you create a dedicated folder on your hard drive. It does not matter whether this folder is on the desktop, in 'my documents', 'program files' or wherever. All that matters is the folder and file structure inside it.

For the purposes of this tutorial, our local path folder will be:

C:\LocalPath\

Yours can be named anything you like, just so long as you remember what you called it, and where it is.

You should now have:

   C:LocalPath\avatars\
   C:\LocalPath\models\
   C:\LocalPath\textures\

All that remains now, is to tell ActiveWorlds where your local path is, and you will have a functional - if empty - local path.

To do this, open ActiveWorlds, and log in as normal. Tourist or citizen it does not matter. Once in, go to:

Options, Settings, Advanced

About halfway down, is a box labelled Local Path. In here put the file structure of your local path, right from the drive letter on up. Ours is shown below.


Figure 1: AW Advanced options box

That's it, to create a generic local path. Next, we have to ready our preferred avatar, the one we will be replacing the existing avatars with.

Preparing an Avatar for Local Path Use

An ActiveWorlds avatar consists of three things:

  • A large RWX script graphics file
  • A collection of texture files
  • A short script in the Avatar.dat file for the world.

All three components must be present, in order for an avatar to function within ActiveWorlds.

The first step, if you have not done so already, is to download the avatar you intend to use, from its position on your world, or a worldthat has agreed to let you use one. It is best not to try on a world that has not agreed to let you, as avatar files are usually stored in password protected zip files, which will give you a lot of trouble if you do not know the password.

To find out where you download an avatar from, we look at the ActiveWorlds cache directory. For the purposes of this tutorial, this is in:

C:\ActiveWorlds41\cache\art\

Whilst your ActiveWorlds folder may be called a different name, depending on how you installed ActiveWorlds, the cache and art sub folders will be named and linked as above. In the art folder will be a large number of sub-folders, with long and complex names. These are what are called Object Paths, and are the locations on the internet, different worlds store their files.For example, tyhis is the path for Alpha World:

C:\ActiveWorlds41\cache\art\objects.activeworlds.com-aw

The - marks a web folder, so we replace that with / to access it like a normal web site, and prefix it with http, like so:

C:\ActiveWorlds41\cache\art\objects.activeworlds.com-aw
objects.activeworlds.com-aw
objects.activeworlds.com/aw

http://objects.activeworlds.com/aw/

The final result is the URL all Alpha World objects can be found at. There will be nothing there if you try to access it, but do you rememberthe three folders we set up for local path? avatars, textures, models. Object paths are set up in exactly the same way.

http://objects.activeworlds.com/aw/avatars
http://objects.activeworlds.com/aw/models
http://objects.activeworlds.com/aw/textures

It should come as no surprise to anyone as to what is stored in which folder. The foldersd are usually non-browsable, so you have to enter in the precise filename. Textures can end on jpg, gig, png or bmp, depending on the type of texture, avatars and models both end in .zip.

It is possible to obtain an avatar without knowing its filename, but since this is not a tutorial on how to steal avatars, we will not cover that here.

Finding the textures

Once you have downloaded the zip file, open the zip and view the rwx file. Do not unzip it unless you have to, as rwx files will not work in ActiveWorlds unless they remain zipped.

You will see long lines of RWX coding, looking something like this:

ModelBegin
  TransformBegin
    Identity
    JointTransformBegin
      IdentityJoint
      ClumpBegin
        Color 0.000000 0.000000 0.000000
        Ambient 0.000000 0.000000 0.000000
        Diffuse 0.000000 0.000000 0.000000
        Specular 0.000000 0.000000 0.000000
        Opacity 1.000000
        LightSampling Facet
        GeometrySampling Solid
        TextureModes Lit
        MaterialModes NULL
        Texture NULL

You have to scroll through this lot - notepad's find command is extremely helpful here, looking for lines like this:

              Texture ayskin04

These are wherethe actual texture files are called within the script. For avatars, these are always jpg files, so we know for this avatar, the file ayskin04.jpg will be required. Do not download these jpg files.

Go right through the avatar file, make a note of every texture it asks for. Sometimes you will find a mask file after the initial texture file - note both.

Obtaining Textures

One of the weird ways ActiveWorld has developed is its use of texture files. You cannot use jpg files on local path.It simply will not work.

Instead, ActiveWorlds takes the jpg files off the server, processes them, changes them into a proprietory file format called RAS, and sends that to the client, in the /cache/art/object-path/ folder for that world. This is where you have to retrieve the files from.

So, instead of ayskin04.jpg, we require ayskin04.ras.

Return to your Activeworlds cache:

C:ActiveWorlds41cacheart[path of world the avatar came from]textures

taking your list of files, search through this folder and copy out the texture files. Place them with your avatar zip file for now. Mask files will be in the same file as the original texture, eg. texture01_texture01m.ras, take these in the same way.

Placing an Avatar on Local Path

We are now ready to extend our local path, so it will override normal settings for world avatars with yours. To do this, we have to recreate the world path in our local path. Alter the localpath file structure so it matches the one below.

C:\LocalPath
            \avatars
            \textures
            \models
            \objects.activeworlds.com
                                     \AW
                                        \avatars
                                        \models
                                        \textures
 

As you can see, we have modified the local path so it includes a complete replica of the object path for Alpha World. this means it is now capable of overriding Alpha World downloads. You repeat the same process with the object path for any other woreld, rememberingthat a - on the object path name in cache, is a break between directories.

Now we have two choices, the simplest choice is to simply overwrite one ofthe existing avatars with yours, so you see everyone who chooses that avatar, wearing yours.

The alternative is to add a new avatar to the world, so that everyone who does not have the correct modifications, sees you as a 'download failed' sign.

The choice is yours, we will cover both ways.

Overriding An Avatar

Either way we do this, we require a file called avatars.dat. This file is located in the cache for the world, so for AlphaWorld, its:

C:ActiveWorlds41cacheartobjects.activeworlds.com-awavatars.dat

Open with notepad, and you will see each avatar in the world is listed. Scroll down to the one you would like to replace, and you will see something like this:

avatar
  name=Sarah
  geometry=vsarah.rwx
  beginimp
    fly=qfly2
    float=qfloat
    walk=qwalkf
    wait=qwait2
    endwait=qendwait
  endimp
  beginexp
    turn=qturn
    happy=qhappyf
    angry=qangryf
    wave=qwave
    jump=qjump 
    fight=qfightf
    dance=qdance7
  endexp
endavatar

The line to replace is geometry=vsarah.rwx. Replace this with the file name of your replacement avatar, save and close.

Now, place your avatar's zip file in:

C:LocalPathavatarsobjects.activeworlds.comAWavatars

Place the .ras files into:

C:LocalPathavatarsobjects.activeworlds.comAWtextures

Now restart AW, go to AlphaWorld and select the Sarah AV. After a short download attempt, your avatar should now appear.

Adding Onto The End

Either way we do this, we require a file called avatars.dat. This file is located in the cache for the world, so for AlphaWorld, its:

C:ActiveWorlds41cacheartobjects.activeworlds.com-awavatars.dat

Open with notepad, and you will see each avatar in the world is listed. Each listing looks like this:

avatar
  name=Sarah
  geometry=vsarah.rwx
  beginimp
    fly=qfly2
    float=qfloat
    walk=qwalkf
    wait=qwait2
    endwait=qendwait
  endimp
  beginexp
    turn=qturn
    happy=qhappyf
    angry=qangryf
    wave=qwave
    jump=qjump 
    fight=qfightf
    dance=qdance7
  endexp
endavatar

Copy an entire block - or use the one above, and paste it at the very end of the file. Change geometry=vsarah.rwx to the file name of your replacement avatar. Change name=to whatever name you would like displayed in the avatars list, save and close.

Now, place your avatar's zip file in:

C:LocalPathavatarsobjects.activeworlds.comAWavatars

Place the .ras files into:

C:LocalPathavatarsobjects.activeworlds.comAWtextures

Now restart AW, go to AlphaWorld and open the avatar list. Your avatar will be appended on the end. Select it and voila.

Staff Comments

 


.
Untitled Document .