Allow animated Scale (At least for Animesh)
tracked
x1024 Resident
Currently it is not possible to animate the scale of a bone in either avatars or animesh objects.
This seems to be the case mostly to avoid compatibility with avatar shapes as they use bone scale but it causes several annoyances, especially with animesh objects.
Since animesh objects aren't influenced by their object size it seems to be entirely impossible to scale them inworld and scaling the root bone in the rig is not possible either. This means to create an animesh object with multiple different sizes we need to upload separate mesh objects. (And each with their own set of animations provided they aren't affecting purely bone rotation, but also location.) Which creates a lot of extra work and cost.
Perhaps more subjective:
Animating scale is
incredibly
important for convincing animation that doesn't feel stiff. Especially for more action loaded stylized animations. Squash and Stretch is the first principle of animation for a reason. As things are now, unfortunately it is not applicable for SL.Log In
Miles Doge
Having this would be SO WONDERFUL
Spidey Linden
Merged in a post:
Scale Bones in SecondLife Armature
KarinaZhu Resident
In Blender we have the possibility to scale bones and also add scaled bones to animations. Sadly the Scale-Properties are so far ignored by the Second Life armature.
If you would activate the scaling of some* bones we would have some new possibilities to shape our avatars or to make funny new animations.
* = It is not useful for all Bones. Good bones were for example: RIGHT_PEC + LEFT_PEC (breasts) or PELVIS, BELLY ...
I hope it is something that would be possible to realize in Second Life.
Aimi Suki
Adding this new bone scaling to the Second Life armature and animations could help unlock new creative possibilities for avatar customizations and animations. It would be a valuable feature that creators and users alike could benefit from. Please consider adding it!
Auroro Amore
Having this much freedom to edit your avatar, would allow more creativity for making more unique avatars. I would love to see this implemented in second life.
Rohacan Hirons
I did some research in the viewer's code, and it appears to me that it's extremely easy to add a feature to adjust the global size of an animesh by modifying the llcontrolavatar.cpp file. Here is the current setGlobalScale() function:
void LLControlAvatar::setGlobalScale(F32 scale)
{
if (scale <= 0.0)
{
LL_WARNS() << "invalid global scale " << scale << LL_ENDL;
return;
}
if (scale != mGlobalScale)
{
F32 adjust_scale = scale/mGlobalScale;
LL_INFOS() << "scale " << scale << " adjustment " << adjust_scale << LL_ENDL;
// should we be scaling from the pelvis or the root?
recursiveScaleJoint(mPelvisp,adjust_scale);
mGlobalScale = scale;
}
}
And here is a modified version that currently takes into account the X size of the main prim:
void LLControlAvatar::setGlobalScale(F32 scale)
{
if (scale <= 0.0)
{
LL_WARNS() << "invalid global scale " << scale << LL_ENDL;
return;
}
scale *= mRootVolp->getScale().mV[0];
if (scale != mGlobalScale)
{
F32 adjust_scale = scale/mGlobalScale;
LL_INFOS() << "scale " << scale << " adjustment " << adjust_scale << LL_ENDL;
recursiveScaleJoint(mRoot,adjust_scale);
mGlobalScale = scale;
}
}
Note that I replaced mPelvisp by mRoot because using mPelvisp does not correctly adjust the animesh's movement during the animation."
It works wonderfully. Of course, this modification as it stands could affect many existing animesh objects, so we need to add a parameter to the object, 'ANIMESH_SCALE_FACTOR', which would be set to 1 by default, adjustable via script and by manual editing of the object. We would then have something like this:
scale *= mRootVolp->getAnimeshScaleFactor;
Edit: I opened a separate ticket for this, because it isn't really the same request made by the OP
Spidey Linden
tracked
Issue tracked. We have no estimate when it may be implemented. Please see future updates here.
Jabadahut50 Resident
this would allow for dramatically greater quality animations. Even realistic animations can benefit from subtle squash and stretch to make them feel more grounded in their enviornment.