Clothing hacking …

…so when you make something in Wings3D, the geometry forms a VERTEX (or 3d point) cloud. It’s solidity is comprised of polygons that are the result of the correct sequence of this “join the dots” to make FACETS that can then have visual properties of colour, texture, specularity, reflectivity, opacity and so on applied to them.

Hat polygon mesh

Hat polygon mesh

When you choose tools in wings to “color” each facet, it modifies the UV mapping of that facet when rendered in-world but the light model used by default (and no, for the life of me I cannot find how to change this) is a little odd – any colour you choose in wings is really, really light in-world (black looks light grey, blood red comes out light pink and so on). Wings has EXPORT as RWX, fortunately which is luck as RWX and COB are the two supported object definition formats Activewords seems to use.

The resultant RWX (object/model definition file) contains the locations of each vertex in x-y-z terms, relative to the centre point of the cartesian plane (0,0,0) where the object was sculpted, and the order these points are joined to make a polygon mesh  [you will notice I have opened up the object file in notepad – geometry purists argue you do not need anything else than notepad to make objects – they are out of touch nerds who need to get a life in my opinion 😛 ]

TEXT object definition file - the RWX file

TEXT object definition file - the RWX file

Fortunately, after breaking a bunch of RWX’s, I have stumbled across (yee gods, why does no one document this junk in a way HUMANS can read) a tweak – you can effect the overall colour and opacity of the model by defining the overall luminance – I have found 0.3 0.3 0.3 (for RGB) seems to work pretty well for most colours (except for yellow which comes out muddy and brown).

With some tweaking, my DeBono Hats finally look like they should:

iHatrack 2.0

iHatrack 2.0

These “player controlled” movers are worn – by clicking on them, users stick them to the heads of their avatars and they look quite cute (in a top-hatty sort of way). Punters, through their avatars adopt a DeBono thinking mode, and then you walk over and reflect on an issue using that mode – you can see in the background some kids have already started doing just that.

It is nice when an idea finally coalesces into the shape you wanted it to be (or is it just me being anal and doggedly plugging away at an unimportant detail until I am happy with it?) – prolly a little of column A, little from column B.

Sittin’ on the dock of the bay…

…now it occurred to me that people would want to sit around and discuss things in world. Whether it is at a table, bus stop, campfire circle or octopusses garden, in the shade.

This sort of thing is almost trivial in Secondlife so I assumed it would be equally common in Activeworlds. Oddly, in searching, I found nearly NO information about making seats – this perplexed me as I assumed it was something people would routinely want to do with their avatars – in meetings, say…

Sitting animations, gender assorted

Sitting animations, gender assorted

…so I got me thinking – a “mover”object lets a character attach themselves to it – now this is usually used for vehicles and so on, and often the avatar is hidden whilst on a mover as all the documentation suggests making posture sequences for avatars so they look like they are sitting “in” the vehicle were more trouble than they were worth (again, not a good sign, nor very encouraging).

The trouble with movers, is, well … they move – lol. Yes, I know that sounds obvious, but the last thing you want a chair to do when you are sitting in it is to let you then steer it around the room like some feral “baby walker”.

Hidden away in the sequence files for avatars were sequences with esoteric names like “qsitmale” and “qsitfem2” [only 4 from hundreds of preloaded sequences] – no wonder I missed them. A mover can be “disabled” making it stationary, you can tell the mover to grab the avatar and place them in a particular place, orientation and displacement to the centre of the object you have chose as the mover when the person clicks on the seat object – all very neat and just a little bit fiddly to work out what directions were which initially – sometimes it is absolute world coordinates, other times relative the the object, other times relative to the avatar’s aspect, sometimes relative to the direction the person’s camera is currently pointing … grrrr.

There are literally hundreds of sequences for all sorts of gestures and actions, from nodding, to performing the “macarena” but oddly nearly NONE for sitting. I think I can see why – avatars have jointed bodies, the distances from ankle to knee, knee to hip all vary avatar to avatar. Having an avatar sitting convincingly, depends on their body geometry. What looks good as a sitting position for a short character, has a tall avatar floating oddly above the seat, or visa-versa one that looks good for a tall avatar has a short avatar sunk oddly into their seat.

Some tweaking and I have some acceptable sitting attitude parameters that I can now apply to chairs, stools, bean bags, hollow logs and campfire circle stones which is ok if the seat is elevated off the ground a little. I have yet to find anything that looks remotely like sitting with cross legs (on a picnic blanket, say), but that is for another search [unless any of my devoted readers have a solution they would be prepared to share … is there anyone actually reading this?].

Progress is progress I guess.

Mover parameters expanded

Mover parameters expanded

Movers and shakers

I am working on a bunch of ideas, but common things like “airlocks” and doors are the first to get a guernsey. In our homebase, we will need airlocks – little intermediary chambers in between sectors.

airlock

An airlock with an "activate" pair of doors

There are a bunch of building primitives, so i made an elongated tunnel, purloined a “fence” segment [looked sort of industrial] and programmed it to slide down on activation – nothing new here. In the production airlock there will be a wall-mounted button to do this also, that would look more natural.  It did however get me thinking about moving objects in general.

Now I have seen vehicles, lifts and other essential things in other Activeworlds, so decided it was high time I understood how these things work. It seems there are 3 “classes” of objects termed “movers”.

Server-controlled movers are objects that users ride but do not have any control over the path they take. Lifts and busses are examples of this sort of mover – you “hop on board” and initiate the trip somehow [activate = click, bump = coming in physical contact with] and the object then follows the pre-set path with the user on/in it. All movers let you “detach” yourself from them via a button-bar icon, but it would be normal to go for the full ride and have the mover detach itself from you automatically when you are safe, at your destination and most importantly stationary.

Lift via a "server-controlled" mover

Lift via a "server-controlled mover"

There are some nifty controls available when defining these things. The movement is controlled via a “waypoint editor” – you control the world coordinate displacement in XYZ, velocity, as well as the bumpiness of the ride [rock and roll] with pitch, yaw and roll. There are some complications using “add on bump” when you try to get off the mover – each movement is another “bump” whilst on the surface of the mover which can get interesting [or less so if you do not want to re-take the journey].

The amount of control you have here is quite feature-rich and if you choose a suitable “pad” object, quite natural movements can be achieved. This sort of mover has natural applications for lifts, travel tubes, roller coasters and so on where you get on, strap in and hang on.

Magic carpet ride via a "user-controlled mover"

Magic carpet ride via a "user-controlled mover"

User-controlled movers are a lot of fun – naturally I decided I needed a “magic carpet” and decided you would need to climb on board and then click to say you were ready for a ride [and again click when you wanted to get off].  Walking [and flying] unassisted is necessarily tedious in most virtual worlds – a user-controlled mover lets you go fast and can make the journey much more entertaining. Essentially, a user-controlled mover “enhances” player movement – speeding it up, making flying much more risky – the control you have over this form of transport is fairly detailed – I had the carpet dipping and rolling, banking and flapping on tight corners, so violently in some trials that it actually flung me off when I banked too hard. It is rare that I howl with laughter whilst experimenting but this was fun – the avatar and the object are also separately configurable – this means that, although the carpet is wildly flapping underneath me, my avatar is steady … or the other extreme where you lean, tilt and get chucked about.

Cars, spaceships, skateboards and gliders are but a few obvious applications of this type of mover. The world has a bunch of cars but I could not find one in the Q2 sim that actually let me drive – it might be that the config is confusing for little kids – I am sure however we can come up with “vanilla” recipes of setting for types of vehicles.

"Pick-up" mover locations

"Pick-up" mover locations from http://wiki.activeworlds.com/index.php?title=Mover_(Pickup_Item)

The third class of mover is a “pick-up” item that is attached to some part of the avatar [as per location tags above] – they are similar to user-controlled movers except you carry them around and choose when to wear them. I can see jet-packs, helicopter beanies and rocket-powered rollerblades as applications for this sort of mover. Because they are attached to the avatar, seeing them to remove them is problematic [indeed – server and user-controlled movers need to be big enough for you to see if you are relying on using activate to use them]. These become active when you attach them to you or hold them. Will play some more here when an application surfaces – they do not appear that different to user-controlled movers to warrant time now.

So what? I can see movers being very useful – transporters between locations, walk-through and guided tours of facilities, personal transportation and a bit of fun – if an oldie like me gets the giggles trying to hang on on a magic carpet ride, then I think our punters might like it also – especially if they can make and configure them themselves. Races take on a whole new meaning if you limit their speed setting but let them play with other parameters and get them to take to an obstacle course.