Tuesday, June 14, 2005
Look! Screenshots #2!
Ran across a couple more nifty screenshots whilst cleaning out my SL directory.
Last Sunday, I finally got around to decorating my new summer cottage. Mostly, I just sifted through my inventory and rifled the freebie collections I've acquired over the last few months. So far, it's just a couple couches, a coffee table, a nifty particle-based tree, a couple of artsy lamps, a quicky sculpture ("Nightmare in Concertina Wire," by yours truly), and a bed. I plan on adding a photo gallery to the second floor, and perhaps some other random decorative touches elsewhere... Someday.
Once I got tired of playing Susie Homemaker for the day, I settled into some completely unnecessary scripting. First, I added some splashing water to the pond beside my house. This isn't anything particularly new or high tech, but I like the effect. And from the number of people I saw take a running start and cannonball into it, other folks liked it, too.
From there, I added a few refinements to the bed. The bed was originally built by Chrestomanci and myself for SkyPod 3. The halo on the bedpost was my idea. The mysterious red high heeled shoe half hidden under it was hers.
And before you ask, no there aren't any risque pose balls built into the bed. I built a couple of (slightly awkward and decidedly Platonic) sleep poses into the pillows, just for verisimilitude (although I never could figure out how to get a blanket to cover the occupants, so it still looks a little odd), but that's it. Then, I got a little silly.
I finally get Chres into bed.
Yes, that's right, you can now come jump on my bed. Just right click the mattress and select "jump." Like most SL physics-related activities, this proved to be more complex and persnickety than it would appear. At it's base, it's just a simple springboard: touch the bed, and it tosses your avatar straight upward. I added checks for the mass of the user, so that it adjusts the force as required to toss the avatar the same distance upward. This is useful, since smaller avatars tended to smack their heads against the ceiling otherwise.
From there, I had to figure out why the avatars kept stopping suspended in mid air. I don't know what causes this, but physics enabled objects have the tendency to occasionally hang when operating under force of gravity alone. To break it out, you have to somehow apply a tiny nudge to the object. (I ran into this with the pendulums a while ago. I ultimately had to add a timer to give it a tiny, unnoticable impulse every five seconds.) I discovered that, if you apply an angular impulse alongside the linear impulse, the avatars won't hang in mid jump (at least for short jumps). Oddly, angular impulses (torques) don't seem to do anything to avatars. Sometimes they'll twitch a bit, but you can't force an avatar to turn around. However, something must be happening that requires a length of time to resolve. And this is enough to keep the avatar from hanging until it again lands on the bed, and receives another bump upwards. The tradeoff is other physical objects tend to quickly spin out of control and bounce away when dropped on the bed. So, for your own safety, no dropping bowling balls on the bed!
As the day progressed, the script got more and more complicated. Soon, I added a toggle to the bed entry routine (a simple, short distance sit-hack teleport), so that the entry position switches from one side of the bed to the other each time it's used. This lets two people jump in tandem without colliding with one another (unless they want to, of course). Then, I just had to have bouncy noises. Now it selects from three different sproingy sounds each time an avatar lands on the bed (but not when he or she just sleeps on it with the sleep poses in the pillows). Had Chres not shown up to pull me away, I expect the bed would be dancing the soft shoe and doing my taxes by now. I don't know if I should thank her for this or not.
Here's a better picture of my booth at the book expo. If you click on the image, you can see the booth in 3D! (Cross-eyed stereo view.) It's almost like being there!
After I finished the booth, a few random folks showed up, and we ended up sitting around and killing time.