A Touching Event

So, silently but inexorably, this project advanced without many announcements — until, at last, a few days ago, it was launched on the Preview Grid for anyone to explore. It’s rock-solid and works incredibly well — the kind of thing we actually have been expecting from “Magic Qarl”, Wizard of SL Features!

To do a simple test I had to figure out something within my reach to demonstrate how it works, and that is also visually appealing. My first thought was to get back to my old LSL-based web browser and add proper support for clicking on hyperlinks and moving the scrollbars, but that is not the work of a couple of hours. The second idea was to create a whiteboard, that dynamically updates a texture (streamed via HTML-on-a-prim) with dots as you move the cursor over a prim. This would be quite useful, and it’s not too hard to do. Alas, I would need a parcel on the Preview Grid to be able to set the Media URL to allow HTML-on-a-prim, and I can’t do that on the public sandbox, so I have to wait until this feature is rolled out on the Agni (main) Grid — very likely, it’ll be there once Mono is rolled out, which is scheduled for “any time real soon now” (watch the Linden Lab Official Blog for announcements in the next few days!).

So I thought about my old scripting classes, where I usually give the students learning LSL something to do that is visually appealing to encourage them. One of the items that they almost always start to do is a colour changing script (usually tied in to clicking on buttons to change another prim’s colour). This is a variant of the same old story — since you have three parameters for a colour (red, green, blue), showing all possible colours is best done by using a cube — an interface issue on all “colour picker” widgets on the 2D world of our desktops, since invariably you have to map a 3D vector space onto a 2D interface. Not so in SL! A colour cube for picking all possible colours is a natural interface inside a 3D virtual world, of course, and thanks to Qarl’s magic LSL functions, which retrieve things like the face you’ve touched, the coordinates on top of the face, and even the normal and binormal vectors of the avatar-prim interaction (think what people will now be able to do with particles and the physics engine!), this becomes immensely easy to do in plain old LSL.

| ← Previous | | | Next → |
%d bloggers like this: