Original creations in Second Life by Oggy Fink.

Tuesday, December 20, 2016

Theme-O-Matic 1.1

Considering a customer request, I have made a quick update to the Theme-O-Matic system (read the original article about it here) to support two new face properties:

  • Normal map,
  • Specular map.
For those who may legitimately wonder what this is about, here are two pages that explain how you can use these properties to fine-tune the appearance of your objects without overloading their land impact :
Version 1.1 includes these two new properties, so the system is now able to manage 3 object properties, 9 prim properties and 9 face properties. And of course the filter system still allows you to only record the prims and faces you want.

The Theme-O-Matic is now available at our marketplace store as well as our inworld store (check my "picks" to get the latest location). Full PDF documentation is available in English and French here.

Thursday, September 15, 2016

WPS: beware of priority-5 animations

My attention has been brought recently on a so-called problem with the WearPose System (see here for a description), stating that adjustment would not work on some animations.

Problem? Solution!

Indeed, upon investigation it appeared that the "main" animations configured were priority 5 animations. For adjustment to work as expected, the adjustment poses are supposed to have a priority higher or equal to the main pose priority (see here for an explanation about the theory of adjustment poses).

Thing is the standard adjustment poses provided with the WearPose System are priority 4, hence the encountered problem.

The solution may sound easy: just use priority 5 animations as adjustment poses. Or even priority 6! Or 7?

Not so fast!

The animation priority system was (cleverly) designed by LL to allow one animation to override some joints of a lower priority animation. However, people are using this clever system stupidly. Here is what the official wiki says about animation priority usage, summed up in a table.

PriorityPurpose and guidelines
0Used for many of the internal animations which are intended to be overridden with an AO.
1Used for internal emotes.
2Priority 2 is a good choice for stands in AOs.
3Priority 3 should have been the best choice for walks, dances, sits and most other animations. Unfortunately many of those animations have been given priority 4 leading to unpredictable user experiences for creators who do try to use priority 3.
4Priority 4 is used for many walks and most pose ball animations, such as dances, sits and vehicle driving animations.
5Priorities higher than 4 should be reserved for situations when the objective is to override only some joints of the existing priority 4 animation.
For example, a handbag might override an arm and boots might override feet. In these cases, the alternative to a priority 5 animation is a script which continuously alternates priority 4 animations, generating a lot of unnecessary script events.
If you do not need part of the existing priority 4 animations to continue playing, you do not need, and should not use, priority 5.
The internal turn_180 animation, which plays during Edit Appearance, uses priority 5.
6As priority 5 animations proliferate, a use for priority 6 is certain to materialize. However, as with priority 4 and 5. If your objective is not to allow part of an existing priority 5 animation to continue playing, then you can meet your objective either with a priority 5 or a priority 4 animation.
It is uncertain whether viewer and server support for priorities higher than 5 exists today or will continue to exist in the future.

The SL official viewer, as well as third-party viewers like FireStorm, are not able to upload priority 5 animations without some serious hacking. I will not cover this subject here since it's not officially supported. And moreover such hacks are often broken: the hacked viewer appears as it's uploading an animation to priority 5 while some internal code in the viewer brings it back to 4.

Yet some people manage to upload priority 5 animations and sell them, sometimes very expensive. While there is, in my opinion, no true reason for doing that, this is a problem for the WearPose System's adjustment poses.

The WearPose System itself is perfectly able to cope with that, as scripts are not aware at all of animation priorities anyway. But the visual result will not be what you expect as "normal" high priority animations (like adjustment poses) are priority 4.


What do do ? Two solutions.
  1. AVOID buying priority 5 animations. Creating them and selling them is unprofessional behavior in my opinion. It will prevent users from partly overriding them with normal, legitimate, animations or poses.
    If you bought a priority 5 animation from a creator, you should contact them and tell them about this situation and ask (or demand!) they reupload their animation with a lower, more normal, priority, like 4 or 3.
  2. Use priority 5 adjustment poses. You will need to create and download them (as .bvh files) using the WearPose System website and find a way to upload them as priority 5 animations.
    As I said previously, I cannot and will not support this. You're on your own there.
I hope this clarifies this situation. Have fun with your WearPose System !

Tuesday, July 5, 2016

Theme-O-Matic 1.0

Are you a creator in Second Life®? Do you build objects (furniture, clothes, houses...) and sometimes wish your customers had a simple way to "switch" the appearance of some parts of your object, or activate certain settings like color, texture, glow? Then our new product is for you, here comes... Theme-O-Matic !

This is a system made of a set of scripts which lets you define "themes" for your object. A theme here is a combination of "object properties", "prim properties" and "face properties" which can alter respectively
  • the whole object:
    • Phantom (you can "walk through" the object),
    • Hover text (set the text over the object, its color and opacity),
    • Omega (rotation speed around a fixed axis) ;
  • some (or all) prims of this object:
    • name,
    • description,
    • local position (position with respect to the root prim),
    • local rotation (orientation with respect to the root prim),
    • size (prim size in all three directions X, Y and Z),
    • light (color, intensity, radius, fall off parameters of the light emitted by the prim),
    • slice (by how much the prim is "sliced", as in the editor window),
    • flexible (is it flexible, smoothness, wind, friction, force...),
    • material ;
  • some (or all) faces of prims in the object :
    • texture (the texture itself and all its parameters: repetition, offset, angle...),
    • glow,
    • color (including opacity),
    • fullbright (tells whether the face is always shown in full bright mode whatever the ambient light is)
    • bump shiny (bumpiness and shinyness parameters of this face),
    • TexGen,
    • Alpha mode (tells how the alpha channel of the texture should be used).
Of course, you decide which of these properties are to be recorded, and on which prims or faces. The selection of prims and faces is done through 2 independent filters, which can both be in inclusive mode (you tell which prims or faces to record) or exclusive mode (you tell which prims or faces NOT to record).

The selection of properties and filters is entirely menu-driven (but you can use prim and face numbers if you prefer). Themes themselves are stored into notecards, and can be applied by sending the core script a message from another script called "client" script.

This modular approach enables the Theme-O-Matic to smoothly integrate with your own script system if you have one (or with a third-party script system like the famous avSitter), but 2 standard clients scripts are provided with the Theme-O-Matic system itself:
  • SimpleCycle: every time the object is clicked the "next" theme is applied. Great if you don't want to bother your customers with a full-blown menu;
  • AutoMenu: automatically builds a menu from available themes, and presents this menu to anyone who clicks the object to allow them to select a theme.
Full documentation is available in PDF format both in English and French: just click here!

Do you need more features? Do you have remarks, constructive criticism, requests? Do you want your own personalized client script for the Theme-O-Matic? Just feel free to contact me!

The Theme-O-Matic system is now available at Oggy's Scripted Items marketplace store or inworld store. A demo object is displayed in our inworld store, check it out!

Wednesday, May 4, 2016


Today a new item has made it to Oggy's Scripted Items, meet the (wonderfully-named) OAnim HUD !

As the name suggests this new item is a HUD attachment. Its purpose is to animate any number of avatars from your own HUD without the need to rez pose balls or give animations to them. These animations can be simple poses, or full animations or dances, it does not matter.

This can be very useful if for example you need to take photos and arrange scenes on a land where you do not have permissions, or if you have no-copy or no-trans animations.

Of course there exist numerous HUD attachments that are able to do this. However, here are a few highlights of the OAnim HUD :

  • no configuration at all. Just drop your poses or animations and they become immediately available ;
  • every avatar animated by the OAnimHUD can be assigned their own special animation. No need for all of them to use the same animation of course ;
  • virtually unlimited number of animation slots. A slot is the ability for the HUD to animate one avatar. The OAnimHUD is shipped with 9 pre-installed slots, but you can add more by dropping an extra script named "extra slot". And you can do this multiple times to get even more animation slots! No configuration, drop the script into the HUD and it's ready !
The OAnim HUD is available at Oggy's Scripted Items marketplace store and inworld store right now!

Tuesday, January 26, 2016

Valentine's Day Dancefloor

Valentine's Day is a great day for couples to celebrate, and also a great day for singles looking for love ! At Oggy's Scripted Items we are proud to announce our new products (drum roll...) the Valentine's Day Dancefloor!

Upon rezzing the Valentine's Day dancefloor will begin detecting people standing (and dancing) on it. If two people are close enough to each other , they will be marked as a couple with rotating hearts flying around them. Others will be considered as singles and will get a "Will You Be My Valentine?" message rotating around them.

What a great way to enjoy this special day!

The dancefloor has two more interesting features:
  • flying hearts randomly moving above the dancefloor and the dancers
  • 4 very nice original Valentine's Day-themed textures alternating on the dancefloor, with a very "flashy" transition.
Every feature is configurable through a very simple yet fully documented configuration notecard : from the color of the flying hearts to the rotation speed and diameters of the couple- and single-rings.

Plus, the floor is resizeable and all objects (as well as the "detection zone") will automatically adapt. You can even equip your dancefloor with a dance system (not included).

The Valentine's Day Dancefloor is now available at Oggy's Scripted Items marketplace store and inworld store. Enjoy!

Monday, January 4, 2016

Visitor Guide 1.3

Today I released an update for my Visitor Guide, which is now in version 1.3. Two new main features are included in this release compared to the previous version 1.1 :

  1. a particular message can now spread over several configuration line thanks to a slight extension of the configuration syntax.
  2. You can select a different scheme to label the "top menu" buttons thanks to a new option.
Other modifications include "under the hood" optimizations.

The first enhancement will help you overcome the fact that SL imposes a limit on individual messages sent by sending the message in several parts, while letting you decide where the message will be broken (like : not in the middle of a word).

The second enhancement will help you replace the automatic "1 - 10", "11 - 20", etc. button labels from the top menu by labels like "Page 1", "Page 2" etc. (the new PREFIXPAGE option lets you customize the "Page" part). This will be useful when you use explicit numbers as labels that might not match the former automatic labeling for the top menu.

The update is available at Oggy's Scripted Items (with the free demo here) and customers from the previous version have already been sent an update.