Avatar Standard Compendium


Thanks. Ill have a few scaling adjustments to the size of the first joint


Okay, reuploaded a version with slight corrections to the angles of the fingers. Hopefully that solves that issue. If Id only have the leap working in Hifi I could debug these further :expressionless:


the hydra is only playing an animation for the hands maybe you can rig it to open close with a key command?


Oh it is just an animation? Okay then it is understandable that it does that, I though it is doing it programatically.


Thoys was showing me the avatar-animation.json file that links to all the walking anims which now seem to be fbx anims.


Okay, then it is just a matter of making an avatar-animation.json file which uses this as a base (since those avatar animation are base one some which has quite… broken bones)


but it opens the doors to custom ao’s


Aye, but mostly in mind for cross-compatability with the standard. Custom AOs can be used for every other avatar. :slight_smile:


This might need ik,constraints and beer


those are gonna be have to done script wise which Ive been investigating (because bones can be at different scales and all.) peeking into how Rigify works.


Template improved on to 0.2.0.
Mesh clothing created with the new skeleton should now match all avatar scales regardless of suite. as long as the avatar also uses the same skeleton.

Fix for earlier skeletons, simply increase Armature size by 100x, apply scales (only scales), then shrink down to 0.01.


I tried this and applied automatic weights in Blender. As a soft attachment .fbx, this did not work correctly. Can you provide a demo workflow? Would greatly appreciate it. Thanks in advance.


Kind of amusing seeing Default Robot Guy in a suit. :smiley: :smiley:

So, does this clothing system also (potentially) support clothing layers? I.e. pants on top of (separately applied) underpants?


Right now when the mesh clothing is applied, it simply scales and moves with your bones. it is fairly basic and has issues.

However, you can attach multiple attachments per attachment points, so technically you can layer them. The matter of clipping on the other hand is going to cause headaches.


This process did not function as expected for me. When using an .obj of the exact same model, it locks to my body rigid. When using .fbx it is visible but not as expected and did not scale. A few questions:

  1. Are you weighting your clothing in blender using the standard skeleton?
  2. Are you exporting from blender using different settings than exporting an avatar?
  3. Do you package the model to create an .fst prior to attachment?

I’d really like to continue picking apart this process, it will open doors for creators a CONSIDERABLE amount further than where we are today.

  1. Yes. Above was just auto rig.
  2. Default Settings for the clothing.
  3. No, but it helps package textures.

Side Notes:

  • Blender V2.76

  • Using FBX (just avoid obj for anything by Physics)

  • Skeleton must be 0.01 scale,

  • Clothing Mesh must be 100 x scale (scaled down by the armature)

  • World Unit Settings = None

Currently writing down the steps to do it from avatar creation to clothing creation . Standby.


Well, as for the notion of having mesh clothing layers, I have put some thought into a purely imaginary way it might could work. I’m not a programmer, other than old BASIC which I’m rusty at, and have mostly only poked 3D programs like Blender and Poser with a stick, so I don’t know how realistic this idea is or if it goes too far out into left field, or for that matter if someone else hasn’t already thought of it independently but… here goes…

Actually, part of what gave me the idea is a vague reference I saw of an idea that someone at LL had came up with, in the days when they were first working on bringing mesh avatars to SL, but the powers that be discarded it as too involving to implement. I really have no idea if my concept is substantially the same as the one that guy was suggesting, or if it’s something that’s bunches different inside and going off in a completely different direction, but anyway, my idea is…

You treat the avatar and the clothing layers like a set of Russian nesting dolls, except you include the arms and legs and whatnot into the shape of each shell instead of it just being the egg shape of the Russian dolls metaphor. For the innermost “doll,” you take the avatar, when its originally processed to import into HF, and you measure how many, say, centimeters thick the various parts of the av are in relation to the skeleton. And by that I mean, how far out to the left side of the arm it is from the center of the bone as it goes along it, how far out to the right side of the arm it is from the bone, to the front surface of the arm, to the back surface of the arm, and to the areas between those, and you create what amounts to a low-resolution clump-of-little-cubes measure of all that, which essentially boils down to a chart of height numbers wrt to the bones, done up as a sort of goes-round-it cross section of the arm or leg as we go along the length of it.

Then you have shells expanding out in hierarchical layers from that “innermost doll,” each one representing a “clothing layer” zone. Underwear zone, pants zone, etc. etc. The idea then is, when originally processing a garment to be imported into the HF clothing layer system, you feed the garment into something that examines it and assigns what amounts to a thickness value going all along it, at the arms, legs, and whatnot, also based on where the avatar skeleton is in relation to that garment. It would also have figures added to specify how flexible or stiff that part is – i.e. is it soft like leather or wool or is it stiff like a metal plate? – and how compressible it is – i.e. is this thick part made of something like foam rubber or is it hard like a metal-walled compartment on an ammo-belt? – that would then be acted on in a kind of stacked set of layers.

The idea is that you’d add all the layers of this Russian doll together and then, at the points where each layer meets the next, you add the numbers of each garment’s “thickness value” together as you go up the stack. Actually, you take the number representing, say, how thick the avatar is on the left side of the left arm and you tell the next layer up (the one containing the undershirt) what that value is, and the underwear layer then treats that as the bedrock layer (the value it can’t go below) for its own value, and it then adds whatever its own thickness number is for that location onto that value and communicates that added-together value to the next shell up (the shirt layer), and then the shirt layer makes that value its bedrock layer, adds whatever thickness value it has for that spot onto to the value it got from the shirt layer, and so on up the set of shells. The upshot then is, this also makes sure each clothing item is kept within the particular shell wrt to the nested bottles beneath and around each one, bending and flexing them as needed so that there’s no poke thru, and no need for alpha layers.

The upshot of this is that you’re not so much telling the garment how to stretch and bend wrt to the avatar as you’re telling that “clothing layer” shell how to stretch and bend, and the garment encapsulated within it is sorta taken along for the ride, and stretches and bends within its own little world (how thick or thin the particular shell itself is) without having to keep track of what the contents of the other layers are doing, it just has to make sure if doesn’t intrude into the space allotted to the layer immediately above or below it.

So long as nothing changes within the set of Russian dolls, you simply send the accumulated results of this set of nested figures out as a baked 3D object that can now simply flex as the arm and leg movements require, rather than having to deal constantly with the clothing layer behaviors separately, but if something DOES change within those layers – a babyfur starts pooping his diaper, say (necessitating the clothing around it bulge out a little more) – then there’d be message sent that amounts to “something changed, here’s the revised numbers” and a new baked form is transmitted to the other HF viewers. Between baked changes, the only thing the various viewers would need to keep track of would be how the av bends and flexes as its walking around.


@Menithal, have you tried using rigify, a blender add-in? Will it work for HF?


@Nathan_Adored quite long post, not sure if necessary detail, theres been quite alot of discussion about it already on the Random picture thread

In anycase, CC: @AlphaVersionD Might have been a tad bit too early to say Heureka :stuck_out_tongue: But Ill post the methodology regardless, the current bug that results from this is Collisions hulls which are a 100x the avatar, that is the only side effect right now :frowning: : but it seems like the correct direction for cross compatability.

Here is the video though, demonstrating all of the above.

The issues:

I tried running through the usual export routine, but I noticed the above when I ran into and above stuff. Quick Debug with the collisions revealed the culprit. Seems like even though the skeleton and the mesh are correct size, the absolute size is being read as the avatar’s physical bounds. This may need some looking into separately.

@Balpien_Hammere Rigify will not work as is the naming convention is completely different from HumanIK. It is a wonderful tool and I used it originaly with the Fennec avatar, but last I checked it was sorta inflexible with naming. Would be awesome if someone could figure out how to modify it to work with the Skeleton definition here.


Well, I guess in a roundabout, TLDR way, I’m saying that with the avatar and the clothes layers, each would have what amounts to a squishy sort of hollowed-out “bounding box” thingy that wraps itself around the previous, hollowed-out “bounding box” inside it, and each one is body-shaped instead of box shaped. What you’d be doing is morphing the garment to fit within the inner and outer walls of the particular shell.