Warning: Creating default object from empty value in /home/davancamus/public_html/blog/wp-includes/functions.php on line 292

Warning: Cannot modify header information - headers already sent by (output started at /home/davancamus/public_html/blog/wp-includes/functions.php:292) in /home/davancamus/public_html/blog/wp-rss2.php on line 10
Royal Cavorite Society http://cavorite.hexaflexagon.com/blog Proceedings, Observations, and Amusements Thu, 22 May 2008 05:00:01 +0000 http://wordpress.org/?v=1.5.2 en Aah Caledon! http://cavorite.hexaflexagon.com/blog/?p=72 http://cavorite.hexaflexagon.com/blog/?p=72#comments Thu, 22 May 2008 04:59:39 +0000 Davan Camus Virtual http://cavorite.hexaflexagon.com/blog/?p=72 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
Always nice to drop by. ]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

Always nice to drop by.

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=72
Aah, Transparent TGA’s Made Easily! http://cavorite.hexaflexagon.com/blog/?p=71 http://cavorite.hexaflexagon.com/blog/?p=71#comments Sun, 30 Sep 2007 00:41:47 +0000 Davan Camus Virtual Photoshop http://cavorite.hexaflexagon.com/blog/?p=71 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
I am pleased to mention that my User has released a new version of his Mac OS X utilities, qt_tools. These command line tools are remarkably handy for two Second Life related tasks. First, qt_proofsheet can be used to dice up any QuickTime movie into a grid of still frames, suitable for texture animation. Second, qt_export can [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

I am pleased to mention that my User has released a new version of his Mac OS X utilities, qt_tools. These command line tools are remarkably handy for two Second Life related tasks.

First, qt_proofsheet can be used to dice up any QuickTime movie into a grid of still frames, suitable for texture animation.

Second, qt_export can convert Photoshop to TGA files keeping transparency correctly! Yes, yes, it can be done with proper use of the Alpha Channel in Photoshop, but I do find it a bit of a bother. QT_Export respects the Photoshop document’s transparent areas, and converts them into TGA alpha channel.

Simply type:

	
    [bash] qt_export myFile.psd myFile.tga
	

Handy!

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=71
llRegionSay(), and Modern Convenience http://cavorite.hexaflexagon.com/blog/?p=70 http://cavorite.hexaflexagon.com/blog/?p=70#comments Thu, 17 May 2007 04:25:43 +0000 Davan Camus Virtual Science Scripting http://cavorite.hexaflexagon.com/blog/?p=70 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
So, at last, it appears that someone has cracked the 100m barrier! Apparently there is a new technology, soon to be available, which allows an object to speak clearly — without even shouting — and be heard anywhere in a Sim. Oh, progress is a wonderful thing, but I cannot help but feel a bit of [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

So, at last, it appears that someone has cracked the 100m barrier! Apparently there is a new technology, soon to be available, which allows an object to speak clearly — without even shouting — and be heard anywhere in a Sim.

Oh, progress is a wonderful thing, but I cannot help but feel a bit of sadness as, one by one, the old ways pass and newfangled conveniences become available. You know, a loss of cleverness, too. I remember being surprised and delighted by someone’s description of a scanner which sent out a flurry of invisible prims to gather data, and they’d all reconverge to report their findings.

And our own endeavors, at the cavorite mines: To summon our Vertikon, which does carry us between ground level and our 700m altitude workshop, we managed to train an Alien Annoyer to dutifully travel the 700m, ask the Vertikon to please report to ground — or workshop — level, and then return. It’s really quite dramatic!

But alas, such jerry rigging shall no longer have motivation, with cheap and plentiful long distance bandwidth.

And the ShoutMesh! Although it still perhaps has application for continental communication grids. But how long until someone discovers llAnywhereSay()?

Ah well, I am happy to have been here during those simpler times, when an avatar had to distort his own trapezoid textures, live with Local Lighting for its sheer pleasure, and string together networks in 100m intervals. Those were exciting times!

But bring on the New Progress, I say, for greater challenges still await!

Onward and upward!

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=70
Physics Folly http://cavorite.hexaflexagon.com/blog/?p=69 http://cavorite.hexaflexagon.com/blog/?p=69#comments Wed, 16 May 2007 17:35:20 +0000 Horg Neurocam Virtual http://cavorite.hexaflexagon.com/blog/?p=69 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
I made a poly mesh cube in lightwave, subdivided it, then pulled and pushed the heck out of it to approximate a combination cave floor/ceiling. I then took it into maya and threw on a simple spherical map, and relaxed the heck out of it, then ran the melscript plugin. This generated the wee color [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

I made a poly mesh cube in lightwave, subdivided it, then pulled and pushed the heck out of it to approximate a combination cave floor/ceiling. I then took it into maya and threw on a simple spherical map, and relaxed the heck out of it, then ran the melscript plugin. This generated the wee color image that i used in the SL beta grid. So far so good.
beta grid sculpt tests
Except, as Davan had warned me.. i can’t actually walk on my creation! How frustrating! The physics is still a blobby sphere. However, that didn’t stop me from making a collection of phantom mega-cave-prims to work under…
beta grid sculpt tests

dunno how to address the physics problem, but it sure it exciting.

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=69
More Sculpts! http://cavorite.hexaflexagon.com/blog/?p=68 http://cavorite.hexaflexagon.com/blog/?p=68#comments Tue, 15 May 2007 07:42:26 +0000 Horg Neurocam Virtual Photoshop Science Construction http://cavorite.hexaflexagon.com/blog/?p=68 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
So attempted to create some sculpt textures using this maya plugin, and it seemed to do quite well- though i found out a couple of things- that UVs, when flipped, result in inside-out prims, and that having holes in your mesh makes your neat roach abdomen… will turn into a roachy sphere when approached at close [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

So attempted to create some sculpt textures using this maya plugin, and it seemed to do quite well- though i found out a couple of things- that UVs, when flipped, result in inside-out prims, and that having holes in your mesh makes your neat roach abdomen…
roach
will turn into a roachy sphere when approached at close range!
roachsphere
but the head and maxillae turned out great!
roachlove
mm roachy love.

this, in case you were wondering, is what a roach head looks like:
roachhead

i might also mention that these sculpted prims were as solid as anything!

next up, an attempt at geography!

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=68
Sculpts! http://cavorite.hexaflexagon.com/blog/?p=67 http://cavorite.hexaflexagon.com/blog/?p=67#comments Thu, 10 May 2007 16:10:08 +0000 Davan Camus Virtual Photoshop Construction http://cavorite.hexaflexagon.com/blog/?p=67 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
This will make things interesting. (This sculpt texture drawn from scratch in Photoshop, using a red and green gradient-pair to establish the plane, and a muddy-yellow border to wrap it around in back, and blue details for the embossed parts.) ]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

This will make things interesting.

(This sculpt texture drawn from scratch in Photoshop, using a red and green gradient-pair to establish the plane, and a muddy-yellow border to wrap it around in back, and blue details for the embossed parts.)

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=67
Writing On The Wall http://cavorite.hexaflexagon.com/blog/?p=66 http://cavorite.hexaflexagon.com/blog/?p=66#comments Fri, 09 Feb 2007 15:51:36 +0000 Horg Neurocam Virtual Exploration Minerology http://cavorite.hexaflexagon.com/blog/?p=66 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
After reading an article an NWN, visited the Lascaux caves on the mainland. An impressive labyrinth! nothing below sea-level, but a pleasant journey through prim-built caverns nonetheless. I need to bring my rock-sample kit next time. Also started work on uncovering the Lost Friezes in the Abyssal regions of the moors… ]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

After reading an article an NWN, visited the Lascaux caves on the mainland. An impressive labyrinth! nothing below sea-level, but a pleasant journey through prim-built caverns nonetheless. I need to bring my rock-sample kit next time.
http://www.horg.com/pms/lascaux_thm.jpg
Also started work on uncovering the Lost Friezes in the Abyssal regions of the moors…
http://www.horg.com/pms/frieze1_thm.jpg

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=66
LSL Listener Lag? http://cavorite.hexaflexagon.com/blog/?p=65 http://cavorite.hexaflexagon.com/blog/?p=65#comments Tue, 02 Jan 2007 08:12:15 +0000 Davan Camus Virtual Science http://cavorite.hexaflexagon.com/blog/?p=65 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
It seems to be “common knowledge” that “listeners cause lag”. That is, you’re “supposed” to avoid having too many open listeners, especially on channel zero. (A listener is any script which can respond to spoken chat commands.) Just to put things into perspective I’ll quote an offhand remark of Philip Rosedale’s when asked, Does such and [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

It seems to be “common knowledge” that “listeners cause lag”. That is, you’re “supposed” to avoid having too many open listeners, especially on channel zero. (A listener is any script which can respond to spoken chat commands.)

Just to put things into perspective I’ll quote an offhand remark of Philip Rosedale’s when asked, Does such and so cause lag? His reply: “Well, of course, everything causes lag.”

A very brief, informal experiment suggests that a smallish number of listeners makes no significant impact on sim performance. Normally, Simulator Time Ratio at the Caledon Moors blinks between 99% and 100%, with occasional excursions to 80% or even 75%.

Rezzing 3 continuous shouters and 64 listeners didn’t seem to change that. I don’t have any graphs or collected data, just an informal observation. A more systematic investigation is of course needed.

(Obviously I chose a snapshot that shows 100%… but that’s where it mostly was.)

Shouter code:

default
{
    state_entry()
    {
        llSetText(\"shout 888\",<1,1,1>,1);
        while(1)
            llShout(888,\"testing\");
    }
}

Listener code:

integer gCount = 0;
key gOwner;
	
default
{
    state_entry()
    {
        llListen(888,\"\",\"\",\"\");
        llSetTimerEvent(1 + llFrand(.4));
        gOwner = llGetOwner();
    }
	
    timer()
    {
        llSetText(\"listen 888\n\" + (string)gCount,<1,1,1>,1);
    }
	
    listen(integer channel,string name,key id,string message)
    {
        llMessageLinked(-1,888,message,id); // just to do something
        gCount++;
        if(id == gOwner)
            gCount = 0;
    }
}
]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=65
Rotating A Wheel http://cavorite.hexaflexagon.com/blog/?p=64 http://cavorite.hexaflexagon.com/blog/?p=64#comments Fri, 29 Dec 2006 22:38:24 +0000 Davan Camus Virtual Scripting http://cavorite.hexaflexagon.com/blog/?p=64 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
…or a reel. From time to time I have come across a device whose wheels are rotating all akimbo. This is due to incorrect usage of llTargetOmega(). The behavior of llTargetOmega() is a little bit odd, and we shall here demonstrate a small script which tames it. llTargetOmega(vector axis, float spinrate, float gain); For a nonphysical object (the [...]]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

…or a reel.

From time to time I have come across a device whose wheels are rotating all akimbo. This is due to incorrect usage of llTargetOmega(). The behavior of llTargetOmega() is a little bit odd, and we shall here demonstrate a small script which tames it.

llTargetOmega(vector axis, float spinrate, float gain);

For a nonphysical object (the only kind we shall here discuss) this creates a client-side rotation*. The “axis” is in world coordinates. the spin-rate is in radians-per-second (there are 6.28 radians in a circle). and the gain is ignored. I always set the gain to “1″.

To rotate an object around a vertical axis at one-tenth revolution per second, you would say:

default
{
    state_entry()
    {
        llTargetOmega(<0,0,1>,0.628,1);
    }
}

This rotates the object around the vertical axis regardless of how the object itself is oriented.

For a wheel, this is almost certainly not what you want! You want the wheel to rotate around its center no matter which way it is turned. Furthermore, if the wheel is linked to something, you still want the wheel to rotate around its own center. So, without further ado, here is a simple script which turns a wheel around its correct center, even if it’s attached to something. The script is set to start and stop the wheel by touch.

	
integer running = 0; // if zero, stopped. if one, we are presently turning.
	
default
{
    touch_start(integer k)
    {
        integer isRoot = llGetLinkNumber() < = 1;
        running = !running;
        if(running)
        {
            vector axis = <0,0,1>;
            axis *= llGetRot();
            if(!isRoot)
                axis /= llGetRootRotation();
            llTargetOmega(axis,1,1);
        }
        else
        {
            llTargetOmega(<0,0,0>,0,0);
        }
        // one last trick: sometimes the client doesn’t update
        // after a change to client target omega. setting the
        // text to a new thing — but with alpha zero, so it
        // doesn’t actually display anything — works around that.
        llSetText((string)llFrand(1.0),<0,0,0>,0);
    }
}

(Edit: Thanks Ordinal Malaprop for the more correct way to ascertain root-ness.)

(One last hack: there is a bug in Second Life where sometimes a change to llTargetOmega() doesn’t get sent to the client. The llSetText() sets a random number as the text with alpha 0.0, so it is invisible. This is enough to “nudge” the client into respecting the llTargetOmega().)

And then you can link complex items whose wheels, and reels, behave.

An Open Question

What is the best way to determine if the prim running the script is the root prim? The script above attempts to discern it programmatically, and will behave correctly, but a more explicity query would be nice.

*Note: It appears to me that in recent revisions of the client that this may be more than client side, now; when the object is stopped, the edit tab shows a new and different rotation.

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=64
The Long Range Gig http://cavorite.hexaflexagon.com/blog/?p=63 http://cavorite.hexaflexagon.com/blog/?p=63#comments Thu, 21 Dec 2006 07:33:22 +0000 Davan Camus Virtual http://cavorite.hexaflexagon.com/blog/?p=63 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76
At 2pm PST today (or 10pm in the Rave time zone of the UK) the band Long Range performed, in Second Life. Here’s some pictures! ]]>
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/davancamus/public_html/blog/wp-includes/functions-formatting.php on line 76

At 2pm PST today (or 10pm in the Rave time zone of the UK) the band Long Range performed, in Second Life.

Here’s some pictures!

]]>
http://cavorite.hexaflexagon.com/blog/?feed=rss2&p=63