Jump to content
Linden Lab

Project Bento Feedback Thread

Recommended Posts

As discussed in this thread and at the user group meetings, there is a proposal to make some changes to the skeleton and sliders. To help evaluate this proposal, there is a test build of the viewer available, and some test models to go with it. Notes on using the test viewer:

  • You will probably want to install the test viewer somewhere different from the regular Project Bento project viewer, to make sure they don't get mixed up.
  • Running the test viewer only affects how you see content; people running older bento builds will see content based on the old skeleton and sliders.
  • The test viewer is only tested against a few models that have been specifically tweaked for it. Other bento content may look different than expected or intended.

The full list of propsed changes can be found at: https://drive.google.com/open?id=1QnjYKEHxFcWwLzFKf0yF_4TDAleblymwjKVgkHGByaw

The test build for your platform can be downloaded at: http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/bento-box-skel-changes-6-2016/rev/316976/index.html

Some test models configured for the proposed changes are:

 Please post any responses to this thread. We will also discuss the proposal at the next user group meeting.

  • Like 1

Share this post


Link to post
Share on other sites

bento is only for mesh attachments. so when someone suggest to remove a slider. he must be talking about mesh attachments. i dont think they were suggesting anything for system heads/bodies. bento was never created for system heads/bodies. at least thats what i understood when i first read about bento project.

Share this post


Link to post
Share on other sites

I've had a chance to look this over. While it is a substantial improvement, there are still many sliders that experience the same animation-breaking problems as before. The jaw bone has been discussed to death. All the major mesh head creators active in this thread are all saying that jaw bone must not get moved by sliders. I'm fairly certain that is a reasonable consensus. Aside from that, the new default jaw bone position right between the earlobes is pretty good, in my opinion! 

The eyelids are indeed much better, but the Upper Eyelid fold slider can still move the upper eyelid bone pivots down far enough that it will cause the eyelid to pull away from the eye when rotated down, or push backward as it's rotated up. The severity of this problem will vary from head to head, depending on how thin the eyelid is and how closely it follows the eyeball, and whether a round eyeball is used (vs. the tent-shaped default eyeball). This is another place where bones really should never move their pivot, as the effects on animations will be too severe. My suggestion here is to go with just scale, reduce the slider's range to about 25% of its current range, and/or just eliminate the slider completely. Animations will be the preferred method for controlling the eyelids, so all the eye sliders should have minimal effect here if they are going to be influencing the amount of rotation required to make the eyelids meet.

Staying on the eye subject, the "Outer Eye Corner" slider is affecting a bone which is needed for animating the outside edge of the eyebrow. I don't know why it would be repurposed (dual purposed?) to the outer eye corner. Animating the eyebrows is far more important than reshaping the eyes. Besides, the paralyzing effect on the eyelids of weighting this bone onto the eyelids would be more trouble than it's worth. If there isn't going to be a separate bone for the outer eye corner, this slider needs to be abandoned for project Bento, as it will just confuse people as to what a proper weighting is for this bone.

It appears that you did not make any substantial changes to the lip bones other than eliminating the unwanted influence from the mHead bones. While that fix is a major improvement, the bone positioning for the lips is still very problematic. Please move all of the bones to the center of the mouth so when they are rotated side to side, the lips will slide properly along the teeth. I posted many graphics demonstrating the problem in the thread (https://community.secondlife.com/t5/Building-and-Texturing-Forum/Project-Bento-Feedback-Thread/m-p/3041766#M15279) and (https://community.secondlife.com/t5/Building-and-Texturing-Forum/Project-Bento-Feedback-Thread/m-p/3041015#M15253) so this should be apparent now. The mouth corner bones are the most important ones on this issue, but really all of the bones should be  moved to the center of the mouth (and a little to the opposite side, in the case of the lip corner bones. Obviously the JIRA I mentioned earlier will allow people to fix this in their own rigs, but it's much better if the default bone placement is more advantageous for the newbies who don't understand the problem of trying to animate with just rotations. 

The Lip Fullness and Thickness sliders are another place where the substantial translation of the bone pivot will cause animations to begin to malfunction. By increasing the distance between the bone pivot and the vertecies they control, any rotations made to the lip bones would have proportionally more effect, which could amount to some serious weirdness (especially if the initial bone placement is not optimal for the face/teeth contours). This is more problematic in the case of the Lip Fullness slider which translates the bones back into the face, but both will suffer from this effect. This is another candidate for a reduction in slider range by at least 50%. It is very important that the pivots on these most expressive parts of the face do not move much, since precise control is necessary for good animation. Likewise Lip Ratio does not need such an extreme range. Cutting its maximum effect by 50% would help keep things attractive.

Share this post


Link to post
Share on other sites

Hi Mel,

For anyone who may not have encountered the ins and outs of our JIRA process, the "accepted" state means that we have pulled the request into our internal system. For example, we would do that if it was a bug report that we thought was valid, or for a feature request that we wanted to consider further. Note that this is not the same thing as saying it will be done at any particular time. In the case of BUG-20049, it's a good suggestion, but I'm definitely not promising it will be part of the initial bento release; everyone should keep that in mind when discussing other proposals. Like any other development project, we always have to consider the tradeoffs between time and features or fixes.

Share this post


Link to post
Share on other sites

It must have been clear to all involved people from the very begin that the appearance sliders would not work well together with the animation system. As a consequence the ability to configure facial expressions with sliders should not be mistaken as "must work together with animations". I'd rather see it like "gives a quick way to define poses without need to create animations" And i am sure i get complains now for that statement.

However there is a good reason why animators want to get a customisable slider system that cooperates well with animations especially when only rotation is used. And as was stated before the probably best option is to abandon all translation components from the sliders and only work with scaling. But i doubt that we can do a "scale only" slider system.

How to get rid of translation components

While we certainly can try to optimize the sliders further by replacing offset by scale wherever possible, we still have to take care about how the mEye bones react to the sliders. And in that case we can not get away from using translation components like in the eye spacing slider and in the eye size slider!

We can consider to remove translation as much as possible with the downside that the sliders behave different on custom meshes than on the system character. But this rework comes with a lot of extra work. It took us about 4 days only to rework the jaw bone and the eye lids. Here are the slider candidates which could possibly be reworked in a reasonable amount of time:

Nose size (i can see the benefit to rework that one)
Nose width (dito)
Nostril width
Upper Bridge
Lower Bridge

If we want to mimic the behavior of the sliders on the system meshes then i have difficulties to see how we can get rid of translations on the eye sliders. Also i do not know how we should handle the lip sliders in that case.

Of course if we agree that the sliders do NOT mimic the system slider behavior but get their own behavior, then things can change a lot and many of your proposals could be adopted.

But the decision was to mimic the system behavior as much as possible. One could consider this was a wrong decision, but that was made in January and we followed that decision as good as possible. However i see how optimizing the sliders for working together with animations can be helpful.

The location of the Lip bones

I see how it can be beneficial to have the lip joints all moved to the center (x=0) However i believe the current location of the bones was the result of some long lasting discussions. i did not follow those in detail, i just took the skeleton as it was defined and worked out the lad definitions without putting the bone locations into question.

My Conclusion

The sliders do not work fluently together with animations in all cases. But they serve a good job when it comes to quickly doing facial expressions without need to define custom poses and animations. It is largely depending on a custom mesh topology, its weighting and the usage of joint positions how good or bad a product works with the appearance sliders. This sounds to me like "building up experience".

I would rather keep the sliders as they are even if they do not cooperate well with animations. We only should ensure that the default settings for the face expression sliders are good enough to serve as basis for any animation work. And then treat the sliders as additional tool for "defining on the fly expressions".

I still believe (and that's just my opinion on this) that educating the users to follow the advises of the creators and follow common sense is the better (more flexible) option compared to removing some of the sliders just to avoid user complains.

  • Like 1

Share this post


Link to post
Share on other sites


Matrice Laville wrote:

 

My Conclusion

The sliders do not work fluently together with animations in all cases. But they serve a good job when it comes to quickly doing facial expressions without need to define custom poses and animations. It is largely depending on a custom mesh topology, its weighting and the usage of joint positions how good or bad a product works with the appearance sliders. This sounds to me like "building up experience".

I would rather keep the sliders as they are even if they do not cooperate well with animations. We only should ensure that the default settings for the face expression sliders are good enough to serve as basis for any animation work. And then treat the sliders as additional tool for "defining on the fly expressions".

I still believe (and that's just my opinion on this) that educating the users to follow the advises of the creators and follow common sense is the better (more flexible) option compared to removing some of the sliders just to avoid user complains.

I'd like to throw in a consumer's point of view here - every major change to the avatar system has required users to make compromises or avoid doing certain things to use the new features. Mesh body parts and "standard sizing" require certain settings for certain sliders; fitted mesh means that you are limited to the possible adjustments of that particular body. It's effectively impossible to make any of the current popular female mesh bodies to look flat-chested; it's effectively impossible to make the popular male mesh bodies to look soft and overweight. And yet, all of these things became popular with consumers despite the limitations, and those who found the limitations deal-breakers just didn't use them.

Anyone who's bought a current mesh head has been satisfied to not be able to customize the shape much, and yet they seem to be selling well. I think the target audience for the heads will understand and accept not being able to adjust certain settings in order to use other features. It's also very possible that the market will divide into heads with wide feature adjustment possibilities and limited animation on one side and heads with great animation capability and limited adjustment possibilities on the other.

Consumers who want a mesh head to exactly match their current "uniqueness" will not be satisfied; it's impossible, just as it's impossible to make a fitted mesh body look exactly the same as a default avatar using the same shape settings. Those people will just continue to use their old avatars (even if the definition of "uniqueness" for many of them is wearing a LAQ Fair skintone instead of a LAQ Peach one.) Meanwhile others who are on the fence now will be more interested in a mesh head with some customization ability than the current models.

When fitted mesh was introduced there were a lot of complaints about it and yet two-and-a-half years later it's all but taken over the market for new clothing. I was around for the meetings and discussion for the old "mesh deformer" project and one of the major things that killed it was raging scope creep. The Bento skeleton is never going to be perfect or satisfy everyone. Still, it will be better than what we have now.

  • Like 1

Share this post


Link to post
Share on other sites

 

Yes, I can't understand why you would ever use your opening paragraph as a design paradigm. The changes I outlined would result in a pretty good balance between slider functionality and animation control. Choosing not to reach that goal is just silly considering that it is well within reach at this point. I dont' feel that the sliders need to be "scale only" to get there, either, but translation elements do need to be approached with discretion and strategy.

The translations used for eye size and eye width do not pose a problem to animation, since the relevant pivots remain in alignment well enough as they move, so they do not need to be considered. The problematic eye translations are only in the upper eyelid fold slider, as I mentioned, since it involves two body parts that need to have matching rotation axis. The lips are a similar type of situation — lips need to rotate around the teeth, so it is important to have the pivot in the right place, however the lips are more forgiving (thicker) than eyelids, so here I'm primarily concerned with getting the initial placement correct.

It's hard to have a discussion about how features are working (or not working) when the opposition is that parties who are silent or not present to discuss anything may or may not have had reasons for leaving something broken. Yes, I can understand that someone made the decision at some point to make the sliders match the SL default blend shapes as much as possible, but there are already omissions here (certain sliders have no effect). The reasoning behind this is shaky in the first place. This rig needs to support animation well. That's just a basic requirement, so I would propose that "as much as possible" should stop short of causing animations to malfunction. Any slider which is pretty much guaranteed to take an animation that works well, and turn it into an animation that looks ridiculous or pushes parts of your face through your teeth or eyeballs just isn't configred well. It is very possible to fix this while still having substantial control over the shape.



Looking at where this facial rig was, it is that it is clear that from the beginning, this project has lacked an expert in the area of facial rigging and facial animation. The placement of the lip bones is a substantial error, and I am afraid that I can't accept the defense that "the people who put them there may have had a good reason for doing so". The  bone placement errors of the jaw and eyelids should have made it abundantly clear that the people making these decisions were learning as they went, rather than drawing on a wealth of experience in this area. This makes complete sense, since rigging is not something that anyone in SL working on human heads normally has to learn, other than just basic skinning. The lip bones are just another case of this inexperience. Obviously this is a fairly special case since the challenge of trying to animate using only rotations is unusual, but I've explained the logic of all my statements on the subject in detail, and the validity of that logic has not been challenged. For the lip bone placement, yes, it is somewhat dependent on the shape of the face, but the facial shape that the lip bones are currently configured for is a flat face like grandpa here. This is not a typical face, and should not be the chosen configuration for default, especially if (as Vir said) head designers may have to wait for an undetermined time for the ability to reposition those lip bones so they can release heads with a properly configured rig. I'm repeating myself, though.

Back to the jaw bone which you did not address — so your proposed solution is to keep the jaw slider the way it is, and expect users to know that they can only change their jaw angle a few points from the setting of 33 before their mouth animations will start to look absurd. This is a slider born to frustrate. If you have a slider which tempts you with something you might like, but forces you to sacrifice animations in the process, it just serves to torment people and cause them to get into arguments with designers about things they can't have. For Bento, it makes so much more sense to go with the design choice which can be described as "everything works well". If this slider is such an important feature that it can not be omitted, it needs its own bone so it can do its job without breaking animations. I'd say this feature is more important than dedicated teeth bones when the teeth can do their job just fine using the jaw bone so long as it stays put. I know it has been stated that animal head creators need teeth bones for their teeth, but frankly I'd like someone to make a compelling case for why teeth can't be rigged to a properly stationary jaw bone  before I'll accept that statement as fact, since at a glance it doesn't really seem to be true unless we're talking about rigging sharks... but why on earth would we be sacrificing good functionality of that slider on human heads for the extreme fringe case of shark avatars which will use custom bone positons for everything anyway?

  • Like 1

Share this post


Link to post
Share on other sites

I did not say that the system was designed so that the sliders and the animations do not cooperate in an ideal way. It is simple fact that the appearance sliders have been added as an extra goody after the skeleton was defined. Remind: the original intention (of LL) was to not support the sliders at all.

Lets separate 2 things:

 

  • Defining a skeleton that works well (that was the goal of Bento)
  • Adding a slider system that works well with the skeleton (that was a user driven addition)

We can safely pretend for a moment that we have no sliders available. Then we can concentrate on checking how the skeleton could possibly be optimized. Your proposed changes on the skeleton are (please correct me if i overlooked something):

 

  • Move all lip joints to the same x location (x=0)
  • Lower teeth bones can be replaced by weighting to the Jaw
  • Upper teeth bones can be replaced by weighting to mFaceRoot or mHead
  • Something missing here?

Share this post


Link to post
Share on other sites

Matrice, I first just want to say THANK YOU for all the work you have done.

2nd, I'm EXTREMELY happy with what we have, and what you and Cathy did.

3rd, I consider the majority of changes, since the "final" skeleton was announced, mostly a waste of time.

4th, I'm ready to start selling Bento stuff, even if some don't understand, nor appreciate what they just got with Bento.

Share this post


Link to post
Share on other sites

Yes, that is summarizes the adjustments without regard to slider issues. Regarding the teeth, the reasoning can't be entirely divorced from sliders, though. From what I can tell, there aren't any sliders which are applying scale to the jaw now which isn't also being applied to the mFaceRoot. If I'm wrong about this, then additional attention would be needed to ensure that upper and lower teeth wouldn't come out of alignment or have mismatched scales as a result of some sliders.

Share this post


Link to post
Share on other sites

 

Move all lip joints to the same x location (x=0)

Are we talking about a bone setup like this ?

Do you want the pivots all be placed at same X and Y but different Z like in the image?
Or should the bones all be placed at the same location in x,y,z?
Is there any ideal distance from the joints to the lips? Which one should we choose?

 

Share this post


Link to post
Share on other sites

Again EVERYTHING you talked about moving can by done by you, without affecting anyone else. Me, I'm good with things how they are, and if I'm not, I'll just fricken move it myself.

 


Mel Vanbeeck wrote:

Looking at where this facial rig was, it is that it is clear that from the beginning, this project has lacked an expert in the area of facial rigging and facial animation. The placement of the lip bones is a substantial error, and I am afraid that I can't accept the defense that "the people who put them there may have had a good reason for doing so". The  bone placement errors of the jaw and eyelids should have made it abundantly clear that the people making these decisions were learning as they went, rather than drawing on a wealth of experience in this area. This makes complete sense, since rigging is not something that anyone in SL working on human heads normally has to learn, other than just basic skinning. The lip bones are just another case of this inexperience. Obviously this is a fairly special case since the challenge of trying to animate using only rotations is unusual, but I've explained the logic of all my statements on the subject in detail, and the validity of that logic has not been challenged. 

Huh? You know what I see a serious lack of? Actual examples! Where are your examples of facial animations that you have made on a Bento head, using only rotations? Where are your examples with those distortions? Expert? Yet, you think you can make good facial expressions using only rotations? Hmmm. You think you can make expressions like this, with only rotations?

Who's lacking experience? Only rotating facial bones was popular only because technology had not advanced enough to allow for translation. You really want to go back to the year 2000?

Share this post


Link to post
Share on other sites

Generally speaking, your graphic looks pretty good to me. Matched X to center position is good, though I'll explain why I think the outer corners of the mouth may be an exception in a few minutes. The Y and Z position is going to depend on what is best suited to providing a good axis for sliding the lips around the teeth. For a general purpose rig, most likely having that set to the same depth for all the lip bones will be about right. The actual Y position should be based on matching the approximate center point of the arc that the front teeth follow. Z would most likely just be matched vertically to the lip verticies being controlled.



The outer corners of the mouth are somewhat different, since that part of the mouth needs to move down quite a bit when the mouth opens fully if you're not trying to make a smile like The Joker. As a result, some care needs to be made to allow the bones to rotate down as the jaw opens without having so short a radius that it starts to draw the corners of the mouth backwards, so it wouldn't hurt to move the bone a bit deeper into the face and across to the opposite side of the teeth to allow a maximum range of movement.

Share this post


Link to post
Share on other sites



I would be thrilled if SL's facial rig could work like that, and believe it or not I'm very familiar with such facial rigs. I'd be delighted if there were a professional rigger working on this project who could advise on the best way to handle this, but when you jump in and start talking about translation animations for everything, you've completely stopped trying to solve the problem of how to work with sliders. If you were throwing sliders out the window from the start, the facial rig would have just about all of its bones right on the surface of the skin and look a lot more like this. The current rig would be complete nonsense.

That's not the problem we're working on right now, though. I'm a little puzzled that you're saying that I haven't adequately demonstrated my points, though. You want me to do video rather than still images with ghost frames?

Share this post


Link to post
Share on other sites

This is to all those top mesh head creators, or wanna be mesh head creators. Rotating bones in a face can not compete with using bone translations. Real facial expressions are done using muscles in your face. The best way to mimic this is to use bone translation. As Mel has already pointed out, there are quite a few facial animations that aren't even possible, unless you use bone translations. I bring this up again because I don't want creators wasting their precious time doing things a bad way, only to see their creations fail in the market because of bad advice. If you chose to use only rotation, there will be expressions you just can't create, or they look terrible if you try. And, with a rig only set up to use rotations, you'll have to redo the whole rig again when you do decide to switch over to using translation. Bone positions are very important when consider how you want your rig to work. A good example is in the lips. With the only rotation method, your lip bones have to start far back in the head, to get a decent rotation on them. In a translation based facial rig, the lips bones are short, so you can curl and pucker the lips as needed. Do you really want to release a mesh head with no pucker, or a terrible looking pucker?

 

This video, I did early on in the Bento project, and it was mostly to show the diversity that bone translations give you, as an animator. It uses a very early version of the rig, and is missing some key bones we added later. I wasn't even trying to make expressions tho. I was just moving from the top of the head to the bottom, trying to move things around and seeing what I got. Take note of the lips tho, and how short the middle lip bones are, which allows me to bend the lips more realistically.

Share this post


Link to post
Share on other sites

I get it. You're not interested in making the sliders portion of this project work with animations, and I'm a bad guy for trying to get that portion patched up well enough that it can be used freely. In the video you posted, most of the expressions you made using translations can be reproduced fairly accurately with rotations, though. I don't disagree that building animations with translations is far more flexible, but it's only really a choice if the rotation animations have the benefit of working alongside sliders to a degree that justifies the constraints it imposes.

Share this post


Link to post
Share on other sites

ok, now lets take sliders into account. The following sliders are affected by changing the lip bones:

Head Size (1)
Head Stretch (1)
Head Shape (1)
Head Length
Face Shear
Crooked Nose
Lip width
Lip Fullness
Lip Ratio
Mouth Position (2)
Mouth Corner
Lip Cleft Depth
Shift Mouth (3)
Jaw Angle
Jaw Jut

(1) This slider needs to adjust scaling of the face root on all child bones. This makes it necessary to also adjust the lip bones to keep them where they are (This is an unfortunate property of the slider system).

(2) The upper teeth can not be moved along Z when weighted to the face root or head. The lower teeth can not be moved along Z when weighted to the Jaw Bone. The only solution that i see for this is introducing extra bones for the teeth which allow to add an offset from the Jaw bone.

(3) Shifting the mouth to left/right can not be done when the teeth are weighted to jaw or face root. The only solution that i see for this is introducing extra bones for the teeth to allow moving the teeth independent from the Jaw and face root

Do you agree with that so far?

Share this post


Link to post
Share on other sites


Mel Vanbeeck wrote:

I would be thrilled if SL's facial rig could work like that, and believe it or not I'm very familiar with such facial rigs. 

If you were, you would not be thrilled if SL's rig could work like that, because you would know that it can, and create a rig to do so.

 


Mel Vanbeeck wrote:

 I'd be delighted if there were a professional rigger working on this project who could advise on the best way to handle this, but when you jump in and start talking about translation animations for everything, you've completely stopped trying to solve the problem of how to work with sliders. If you were throwing sliders out the window from the start, the facial rig would have just about all of its bones right on the surface of the skin and look a lot more like this. The current rig would be complete nonsense.

Your example shows a completely lack of understanding. My standing Coyot avatar uses mostly translation to create all of it's facial animation, and yet the diversity in shapes from the sliders is quite mind boggling. Not all the sliders work anyways. If I lose a few minor sliders because I want to use bone translations, then I'll take that because really good expressions are essential.

 


Mel Vanbeeck wrote:

That's not the problem we're working on right now, though. I'm a little puzzled that you're saying that I haven't adequately demonstrated my points, though. You want me to do video rather than still images with ghost frames?

The problem that Bento is made to solve, it does. YOU have demonstrated very little. What I'd like see from you is a working mesh head, with expressions, and sliders at play. Then you can show us the issues with that, not your theoretical mesh head.

Share this post


Link to post
Share on other sites

Hey, Medhue;

I believe the Mel has got some points as long as we talk about making life easier for the animators. If a rotation only rig already yields acceptable results, then tweeking with translation might be faster compared to tweek everything from scratch. Getting animation to work more smoothely with sliders probably gives another benefit.

I understand that whatever we dicsuss here is mostly relevant for human mesh heads and does not affect so much non human creations because there you will probably make use of joint positions anyways.

What i want to find out is how much effort we have to put into this to get it to work and how much benefit will we get from this. I can not judge at this moment if the change is feasible, doable, wanted, needed. But still i like to understand about what we are talking regarding workload.

Share this post


Link to post
Share on other sites


Mel Vanbeeck wrote:

I get it. You're not interested in making the sliders portion of this project work with animations, and I'm a bad guy for trying to get that portion patched up well enough that it can be used freely. In the video you posted, most of the expressions you made using translations can be reproduced fairly accurately with rotations, though. I don't disagree that building animations with translations is far more flexible, but it's only really a choice if the rotation animations have the benefit of working alongside sliders to a degree that justifies the constraints it imposes.

I seriously doubt that you GET IT.

Do you deny that only rotating facial bones is a bad technique, which is why it was abandoned? Show me a game today that uses only rotating bones in the face. IMHO, your allocation of importance is skewed. How the head looks with expressions is the MOST important thing. Sliders are secondary. If you make a mesh head with a few less sliders working, but with really good expressions, that is preferable to a mesh head with more sliders and bad animation. The sliders you use once, and set them. The expression you see all the time.

To me, it's just crazy to hear someone say that they know facial animation, yet accepts only using rotation. Those 2 things don't jive. The beauty of SL tho, is that you can do it however you like.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...