Deforming Bones

quick facts: animations based on moving, rotating, and scaling (colloquially known as "deforming") of the avatar bones is NOT documented, approved, endorsed, or supported by Linden Lab. it is a purely user created expression from the elements we all have for fucking things up enhancing your Second Life world. should your experience using them be fraught with confusion and anxiety, welcome to the club. EnJoy.
=====================================================================

for everyone else who's got the time, i'll try to inform you of all the divinations accompanying the arduous task of rooting through the entrails of what's what with the SL avatar's deform bones. this article is just now being composed so my customers won't have to bug me about all the incomprehensible peculiarities that arise using the *BEHOLD* Designs deformers.

caveat: i'm no Gaia Clary so take what i write as merely reporting on my own experiences and discoveries.

animating the SL skeleton with the Avastar Blender Add-On 'Avastar' isn't a cake walk. adding additional bones that don't act like the rest of the bones is on a completely different level. not one that i shy away from, i've achieved some successes, but there's still more hills to climb along the way.

yes, yes, to the details.m'excuse, i must think of my audience.

suffice it to say, deform bones weren't meant to be used as they are now. nonetheless, whoever fumbled into awakening their hidden utility must be thanked. of course, understandably, the Linden Lab rats never envisioned them to be used as they are. so, if you think there's something terribly wrong with how they work for you, you might just be right. one day they'll work just fine, the next day, at the errant flip of a bit, they could be broken beyond retrievability. just sayin... if the Lab breaks their functionality, all bets are off. enjoy them while you can.

even if you're familiar with how the SL skeleton is animated with Avastar you might not be aware of the extra special Volume bones hidden in the seemingly infinite tabs and panels Avastar makes available. just under the normal "Animation Bone Groups" panel (inside the Rig Display tab) lie the infamous buttons that reveal the target of our pursuit:

as you see from the Blender 2.79b screenshot on the left, all these groups in the "Deform Bone Groups" panel are hidden (you can tell by the greyed out "eye" icon to the left of the button's text). click on the "Volume" button and the eye opens and the bones appear on your avatar's skeleton.

(as an aside, you weren't actually expecting all us SL developers would actually coordinate any particular naming convention so as to consisely and accurately communicate to one another let alone anyone curious enough to want to know more about the technology? in other words, you'll see the deform bones referred to as Collision Bones, Volume Bones, Deform Bones, ad infinitum. as far as i care, i'm sticking to Avastar's terminology since, without adopting Gaia Clary's code as the defacto base for all future developments regarding deforming, i wouldn't be here writing down all this edjamacation.

as you'll see from the screnshot on the right, once you've pressed the Volume button, the eye opens indicating that their respective bones on the Avastar skeleton you use for animating should be visable in the 3D viewer window.

depending on how you've set up your Blender bone colours, or how they appear (shape/stick/octahedral) they might appear as in the illustration here.

i've customized my colours so they're bluish octahedrals. this view is taken from the viewer window in Pose mode which is where we do the animations. or we should be able to if these bones weren't locked by default.

try as you might, nothing you do will move, rotate, or scale these bones. you have to open up the Properties view, find the selected bone icon and open up the "Transform Locks" from there.

click on all the locked icons for Location:, Rotation: & Scale and uncheck the Lock Rotation checkbox. at that point the selected bone, and only that one selected bone, mind you, will become useful in editing it.

i've not found a way to unlock all the bones yet so if you want to animate all, or a significant portion of the Volume bones you'll have to unlock them one at a time. each and every one. (edit: you can click/drag to select more than one.) thankfully, in my case, i've only needed to play with a few bones, but still, it gets old real quick. i have the Blender v3.3 on my system and it has the same behaviour. no global unlock function to be found. 

nonetheless, if you've managed to configure your setup so far i'd suggest saving a blend file so you can load that up whenever you want to start your deform animating.

okay, now that you've unlocked a bone to deform, your panel should look like the one on the left. at this point the selected bone in the 3D Viewport (as seen below) can be manipulated with whatever Location, Rotation, or Scale you have in mind. 

rest assured, should you expect a simple one to one relation to what you have in mind to what actually takes place on the inworld avatar, think again. i would highly recommend applying to use the Beta Grid so your inevitable multitudinous uploads won't break the bank.

it's at this point things get tedious.

one REALLY doesn't know what affect the alteration of the bone's orientation will have unless you actually apply it to your inworld avi. another odd behaviour, as it exists now, is the application of the animation is "persistent". as in, it's stuck that way until you reset your skeleton back to the default state.

the Lab must have forseen this undeforming bug since they've gone about putting a "Reset Skeleton" selection into the avatar's context menu.

one can try to undeform the applied animation with a scripted llStopAnimation("undeform"); but, alas, that just adds another deforming animation with the same limitations as the other one. and those limitations can be frustrating should you want to tweak your shape (using the sliders) since with the deformer on there are absolutely no buoyancy or cleavage movement shown at all. i haven't checked from another viewer's perspective, but i can imagine it's not showing in others. i may check that later

i just discovered this in the version 3 update, if you put the deformer animation to sleep just before you stop it all's good. with the little llSleep(1.0); tweak, the physics and sliders capabilities return. you don't have to remove the HUD or Reset Skeleton. who'd a thunk it?

Comments