secondlife / jira-archive

3 stars 0 forks source link

[BUG-11031] [Bento] Specific Facial Bones that will be exceedingly difficult to use / useless without translation/addednum bones. [Vir Linden Request] #1292

Open sl-service-account opened 8 years ago

sl-service-account commented 8 years ago

How would you like the feature to work?

Ideally we'd like the entire skeleton unlocked, translatable and scaleable during animation. That's how animators as a whole expect things to work.

All artistic animation is over exaggerated in a deliberate way. Breaking skeletal rigs and the laws of physics in animation is what makes things feel cute, fantastical, impressive, or powerful. To use the most basic example, think of an ACME hammer hitting the roadrunner, The handle of the hammer always bends during the swing.

Why is this feature important to you? How would it benefit the community?

The following bones absolutely critically NEED to be translatable in order to perform convincing facial expressions [ Or alternatively have addendum bones appended to the tips to perform the actual movement ]

// Used for accentuating smiles pouts and different poses in speech. In non human avatars, absolutely critical for any sort of expression. Translation of this set of points is basically necessary to maintain any sort of expression while opening and closing the mouth or forming a grimmace or growl. mFaceLipCornerRight, mFaceLipCornerLeft

// Essential for lip curl "outwards" as if saying "eeeuuuuuuu" as well as making any sort of whistle or kiss. face. mFaceLipUpperRight , mFaceLipUpperLeft mFaceLipLowerLeft, mFaceLipLowerRight

//current bone configuration for eyebrows causes brow movement to "drag up into" the skull if the range of motion is too high. Moving brows in a completely unbelievable manner for larger heads with exaggerated expressions. mFaceEyebrowOuterLeft, mFaceEyebrowCenterLeft, mFaceEyebrowInnerLeft mFaceEyebrowOuterRight, mFaceEyebrowCenterRight, mFaceEyebrowInnerRight

// Absolutely need translations on these for any sort of remotely convincing Puffed / Sucked in Cheeks effects mFaceCheekUpperInnerLeft, mFaceCheekUpperOuterLeft, mFaceCheekUpperInnerRight, mFaceCheekUpperOuterRight

//Rotation of this area is the one that you would think was most adequate. However ( in honor Teager ) think about the way a horse chews in a disney cartoon. A lot of translation based "crosswise" tooth grinding. mFaceJaw

//Translation of these bones is essential for "sticking" the tongue out through the open mouth. It could be "sort of " faked with a long mFaceTongueBase and then only weighting to the mFaceTongueTip to the actual tongue, but then you lose the flexibility. Also ~ the whole point of this project is to avoid "faking" things to begin with. mFaceTongueBase, mFaceTongueTip

In addition to this, any time you have sufficiently long bones, ( example mFaceNoseCenter ) put into the tip of a long non-humanoid snout you start to encounter animation compression issues when using the Biovision format. Somewhere in the translation of Biovision to LLKeyframeMotion sometimes I've experienced "Bone rotation float" where things don't quite play in SL the way that they do in my 3D application. There's some sort of additional motion that gets introduced. As I'm presently in the middle of a huge non-SL related project I don't have the time to key up specific examples, but I'm sure the community at large would be more than happy to demonstrate.

The issue is with an exceedingly long bone, a tiny twitch in rotation due to Animation compression will result in a huge excessive movement at the apex, thus the need for a shorter bone with translation enabled or a tinier "addendum" bone.

Links

Related

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-11031 | | Summary | [Bento] Specific Facial Bones that will be exceedingly difficult to use / useless without translation/addednum bones. [Vir Linden Request] | | Type | New Feature Request | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Created at | 2015-12-22T15:41:30Z | | Updated at | 2016-01-08T18:18:16Z | ``` { 'Business Unit': ['Platform'], 'Date of First Response': '2015-12-22T11:12:16.235-0600', 'How would you like the feature to work?': "Ideally we'd like the entire skeleton unlocked, translatable and scaleable during animation. That's how animators as a whole expect things to work.\r\n\r\nAll artistic animation is over exaggerated in a deliberate way. Breaking skeletal rigs and the laws of physics in animation is what makes things feel cute, fantastical, impressive, or powerful. To use the most basic example, think of an ACME hammer hitting the roadrunner, The handle of the hammer *always* bends during the swing.", 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': 'The following bones absolutely critically NEED to be translatable in order to perform convincing facial expressions.\r\n\r\n// Used for accentuating smiles pouts and different poses in speech. In non human avatars, absolutely critical for any sort of expression. Translation of this set of points is basically necessary to maintain any sort of expression while opening and closing the mouth or forming a grimmace or growl.\r\nmFaceLipCornerRight, mFaceLipCornerLeft \r\n\r\n// Essential for lip curl "outwards" as if saying "eeeuuuuuuu" as well as making any sort of whistle or kiss. face.\r\nmFaceLipUpperRight , mFaceLipUpperLeft mFaceLipLowerLeft, mFaceLipLowerRight\r\n\r\n//current bone configuration for eyebrows causes brow movement to "drag up into" the skull if the range of motion is too high. Moving brows in a completely unbelievable manner for larger heads with exaggerated expressions.\r\nmFaceEyebrowOuterLeft, mFaceEyebrowCenterLeft, mFaceEyebrowInnerLeft\r\nmFaceEyebrowOuterRight, mFaceEyebrowCenterRight, mFaceEyebrowInnerRight \r\n\r\n// Absolutely need translations on these for any sort of remotely convincing Puffed / Sucked in Cheeks effects\r\nmFaceCheekUpperInnerLeft, mFaceCheekUpperOuterLeft, mFaceCheekUpperInnerRight, mFaceCheekUpperOuterRight\r\n\r\n//Rotation of this area is the one that you would think was most adequate. However ( in honor Teager ) think about the way a horse chews in a disney cartoon. A lot of translation based "crosswise" tooth grinding.\r\nmFaceJaw \r\n\r\n//Translation of these bones is essential for "sticking" the tongue out through the open mouth. It could be "sort of " faked with a long mFaceTongueBase and then only weighting to the mFaceTongueTip to the actual tongue, but then you lose the flexibility. Also ~ the whole point of this project is to avoid "faking" things to begin with.\r\nmFaceTongueBase, mFaceTongueTip \r\n\r\nIn addition to this, any time you have sufficiently long bones, ( example mFaceNoseCenter ) put into the tip of a long non-humanoid snout you start to encounter animation compression issues when using the Biovision format. Somewhere in the translation of Biovision to LLKeyframeMotion sometimes I\'ve experienced "Bone rotation float" where things don\'t quite play in SL the way that they do in my 3D application. There\'s some sort of additional motion that gets introduced. As I\'m presently in the middle of a huge non-SL related project I don\'t have the time to key up specific examples, but I\'m sure the community at large would be more than happy to demonstrate.\r\n\r\nThe issue is with an exceedingly long bone, a tiny twitch in rotation due to Animation compression will result in a huge excessive movement at the apex.', } ```
sl-service-account commented 8 years ago

polysail commented at 2015-12-22T15:42:45Z

A more specific explanation as requested by Vir Linden

sl-service-account commented 8 years ago

Teager commented at 2015-12-22T17:12:16Z, updated at 2015-12-22T18:07:59Z

For all of the bones listed above, 2 parent bones per facial bones would be needed to achieve translation through 3d space in all directions through rotation alone.

That could be downsized to only one parent bone per facial bone ONLY IF we have the ability to SCALE each parent bone.

I don't really have the energy right now to take screenshots or video explaining why this is, so if someone else would care to demonstrate I'd be appreciative.

Needless to say, bone translation is still by far the preferred and superior method.

sl-service-account commented 8 years ago

polysail commented at 2015-12-22T17:52:07Z

I'm not sure I entirely agree with the numerical assertion, but yes that is the general idea of it. I'm currently leaving for a trip to meet with family ~ I might cobble together a rigging example if I find time during the holidays, but I can't say either way for sure. Happy holidays!!