Jump to content

Project Bento Feedback Thread


Linden Lab
 Share

You are about to reply to a thread that has been inactive for 1276 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hi, Gaeline;

The weights for the Avastar bento head have been generated and modified with our face weight tool, which limits the number of weights per bone to 4. And while we where working on the weights we did not take the head collision volume bone into account. However you can do that still. All you need to do is to rework the head weights with a limit of 3 then add the Head collision volume weights as needed...

I have read Kitsune's explanation but well... i am still missing an example for where having only 4 weights is a desaster. Except in the case of the physics bones (Pec, Handle, Butt, Back...) where an additional set of weights would indeed be very welcome .

Link to comment
Share on other sites

Thats exactly what I said.

Only when using fitted mesh is when things starts to get bad. Which is what happens when you try to rig to whatever mesh body out there. I cant really show or provide an example. Those bodies arent shareable. Whoever is used to rig a bit may know perfectly what  meant. I dont think its something so complex to understand to even provide examples about it. The main thing is that actually you cant make all perfect that you want rigs due this limitation. Anyway, its pretty clear that they wont change that. Facial bones will more likely enter in the same problem. We may have to use low quality rig in order to be able to rig faces. This will lead to creepy and low quality expressions. If collissions bones could behave like they should, this wouldnt even be necessary but thats not the case and we may have to deal with it till at some point (which I doubt) LL decides to give it a try.

 

As for the number of bones, I would rather add one more bone to ears and tongue rather than two tails. While I can see its use (no bone is useless), I dont see too much situations to use them even more if to have them we have to renounce to others. If we could have all of them I am all for it, but to have two tails in exchange of less others features isnt something so great. Its quite the same for the 3 roots bones for face bones. We could go for only one and save the others bones for something more useful. I dont even see any real usage to have 3 different roots bones there. One could be use for a head and use the actual head as a neck.

Again, I dont mind which bones could be added if we could simply choose all. But having to choose, we should go to priority use.

Link to comment
Share on other sites

In the past days we made some progress with our Face rig. This is my very first lip synchronised animation in blender:

The red mouth is actually a control bone. This bone has 3 functions:

 

  1. move right-left: for narrow/bright mouth
  2. move up-down: for open/close mouth
  3. rotate : for smile/frown

The control bone affects all mouth bones, the cheeks and the nose

I was able to make almost all phonemes for the animation with this single control bone. I needed to tweek the Uhhh a bit by fine adjusting the mouth bones (and i made a mistake as you can see in the video :matte-motes-evil-grin:

Enjoy

  • Like 1
Link to comment
Share on other sites

Well done Gaia! This control bone seems very beneficial.

I see on your video that you have two cheek bones placed lower (near the mouth) as proposed by Medhue and you previously.
Do you know if this is something that Linden Lab will implement by default or will we have to move them "manually" at this place ?

Link to comment
Share on other sites

I first wanted to finish our skeleton proposal. so we put all our effort into that including testing the rig. The animation section is surely ther next in our todo list. This includes making it easier to retarget a non avastar rig which we needed first before we can support the feature that you have in mind.

Link to comment
Share on other sites

My video uses a modified version of the Bento Rig. We added Medhue's changes there plus a few ideas from ourselves. This is mainly to show what the Rig can do (on the face).

About the changes that we made in the face:

New bones in the face center

We added 3 bones on the symmetry line (mFaceLipUpperCenter, mFaceLipLowerCenter, mFaceForehead. Whith those new bones the automatic weight from bones feature from blender (weight from bone heat) gives much better initial results compared to not having those bones in place. Also those bones helped (me) to make more subtle changes on the lips. Especially the Oh and Ah phonemes have made the lips much more rounded.

Note: From all our changes i think this one is the absolutely most important change of all.

New Root Bones

We added 3 root bones mFaceRootTop, mFaceRootCenter, mFaceRootBottom We used these bones here mainly for organisation and easier layout. So there is no strong reasoning to have them for weighting. They could be useful for creatures where the mouth part needs to be moved to some other area on the mesh. It may also be of benefit when translation animation is not supported or when the animator does not want to use translation animation

Extra Bones on the ears

I found it a good idea to have those extra bones for flapping ears (creature creators will want that)

Moved Cheek bones downwards

Medhue's reasoning sound right. When i was working on this modified face rig i found the new cheek position to work much better.

Removed unnecessary WingRoot Bones

We assume that we get the Bone translation animations. In that case we do not need 3 WingRoot bones. Our alternatvie contains only one wing root instead of 3 as it was proposed.

Moved joints to character surface

When we only have rotation animation, then we must move the joints (Bone heads) "into" the head because we need a rotation angle to mimic a translation on the surface. The main problem with that is:

 

  • Having the joints closer to each other and farther away from the surface results in much more spreading of the bone weights over the bones. This needs much more work on the weights(we have the face weighting tool for compensate for that)
  • The rig looks much more cluttered
  • The rotation animation only allows for moving the Vertices on spherical surfaces which means that you can get distortions much faster. Although i found it was not such a big issue with human faces. We believe this is mostly because the human head is more or less a sphere anyways :matte-motes-evil-grin:

When we use translation animation then it makes much more sense to move the joints on the surface. This avoids many problems with weighting (see above) and it makes the rig easier to use because now the bones are all on the character's surface and not hidden inside it.

 

  • Like 2
Link to comment
Share on other sites

Something that doesn't seem to have been covered in this thread is how Bento will affect existing content.

I make a script that creators use to add animations to furniture. So I've become aware that there's a lot of content in SL that Bento avatars will not be compatible with.

Second Life currently includes the following facial expressions:

express_afraid_emote, express_anger_emote, express_laugh_emote, express_bored_emote, express_cry_emote, express_embarrassed_emote, express_sad_emote, express_toothsmile, express_smile, express_surprise_emote, express_worry_emote, express_repulsed_emote, express_shrug_emote, express_wink_emote, express_disdain, express_frown, express_kiss, express_open_mouth, express_tongue_out

A great deal of existing content in SL use these existing animations.

And after reading everything, it seems to me that content that uses these "legacy" facial expressions may not play nicely with Bento mesh heads, as the mesh heads will not have been designed for them. From what I understand of Bento, facial expressions will need to be made specifically for each style/brand of mesh head. I'm only a scripter, so please correct me if that isn't the case.

Yet if it *is* the case, then my proposal is simple:

That LL should expand LlSetAnimationOverride() to include all the existing facial animations. Then scripts in Bento avatars would be able to, for example:

llSetAnimationOverride("wink","<replacement_wink_anim>");

Then when content tries to play the legacy "express_wink_emote" on them, the replacement anim would play instead. The replacement would be something designed specifically for that mesh avatar.

In this way, all Bento avatars would have the opportunity to be completely backward compatible with all legacy content that uses facial expressions. The alternative seems to be that legacy content that uses facial expressions will have undesireable effects on Bento avatars (they will appear not to work properly with the existing content).

I'd love to hear some expert opinions on this idea and issue. Are any steps are being taken to ensure that Bento can work nicely with existing content?

Link to comment
Share on other sites

Pleeeeease, please make it so that creators can make mesh heads that are changeable the way system heads are (adjustments to eyes, nose, mouth, etc). I really, really want a mesh head but I want it to be my face, instead of the same face a bunch of other people have. I assumed this was a skeleton/rigging issue, so I'm hoping this update will help with that. 

  • Like 1
Link to comment
Share on other sites

Maybe this is somewhat obvious too, but some of the wing root bones need to be removed. Vir has also commented on this, so LL knows. I would not be against keeping 1 wing root bone, as I did find that handy with my elephant's ears, which use the wings. The other 2 wing root bones are completely useless now that we have bone translations.

Link to comment
Share on other sites

Gaia, would you be so kind to also post the blender file avatar? It's easier to assess animation capabilities directly in Blender.

Regarding animation capabilities, I would suggest to Linden devs considering the MPEG 4 FAPS from the MPEG-4 FBA (Face and Body Animation, [iSO14496]).

This standard is not perfect but it has been well documented and adopted by a number of industry players.

Here is the link to a fairly complete description of the standard: https://www.visagetechnologies.com/uploads/2012/08/MPEG-4FBAOverview.pdf

Link to comment
Share on other sites

  • Lindens

I like the idea of having a way to override a wider range of animations. Currently I think the llSetAnimationOverride hook only applies to animations that are part of the server-mediated locomotion process, so I'm not sure how easy it would be to extend using that mechanism.

If you could point me at sample content that uses the existing facial animations it would be helpful - either send me copies or provide pointers to marketplace listings. Thanks!

Link to comment
Share on other sites

That would be even worse. That format isnt so widely supported.

Even the actual BVH isnt easy to find on all applications. It would be a way easier to get animations through DAE or even FBX files since you can save in those formats pretty easy and even convert between them without any issue. Aside of that, its the most widely used method for animations on games engines.

Link to comment
Share on other sites

  • Lindens

These are the results from the recent Bento Bones survey. Thanks to everyone who participated! We had 54 responses that this summary is based on.

Rankings:

The first question asked for ratings of 7 proposed joints or sets of joints. As some of you noted, questions 1 and 3 were duplicates; sorry about that. We looked at the responses in terms of average ranking (lower is better), and also looked at how many people ranked each proposal in the top 3 or bottom 3.

 

  1. Face root bones for upper, mid, lower face (3 new bones) - rating: 4.00, top 3: 18, bottom 3: 18
  2. 2nd bone for each ear to support floppy ears (2 new bones) - rating 3.92, top 3: 24, bottom 3: 19
  3. Multiple face bone roots (mFaceUpperRoot, mFaceCenterRoot, mFaceLowerRoot) (3 new bones) - rating 3.93, top 3: 21, bottom 3: 19
  4. Single face bone root attached to mHead (could also be used as an additional neck bone) (1 new bone) - rating 4.22, top 3: 18, bottom 3: 21
  5. Additional neck or spine bones(assuming the bug preventing this can be fixed) (1-3 new bones) - rating 3.70, top 3: 22, bottom 3: 15
  6. Additional wing "finger" bones (2 or 4 new bones, assuming we're just fleshing out the "fan" of bones a bit): rating 4.32, top 3: 13, bottom 3: 23
  7. Support for the existing mToe bones to help with alternate leg shapes (assuming the bug preventing this can be fixed) (no new bones) - rating 3.67, top 3: 21, bottom 3: 16

There weren’t any runaway hits or complete misses, but some patterns do stand out here. Questions 1 and 3 (the duplicates) got similar ratings, as you would expect. Floppy ears and additional spine joints are particular winners. mToe support got the best average rating, although it didn’t particularly stand out in how often it turned up in the top or bottom 3. Multiple face bone roots seemed to be preferred to the single root proposal. Additional wing bones clearly came in at the bottom, with few showings in the top 3 and the worst average rating.

Free-form responses/Other comments:

The other 2 questions allowed open responses. Overall 18 people answered question 2, and 14 answered question 3. I tried to break these out into specific requests or types of comments and counted each response toward whichever of those seemed to apply. Responses could count toward multiple items in the list. The requests and counts were:

  • More tails/limbs or more tail joints: 8
  • Face center bones: 3
  • More bone weights per vertex: 2
  • Custom skeleton: 2
  • Head sliders for shape control: 1
  • Tongue 2nd bone: 1
  • Additional bone in groin: 1
  • Animations allow position and scale: 1
  • Move the outer cheek bones lower: 1
  • Toe bones: 1
  • Ear - 2nd bone: 1
  • Extra finger bones: 1
  • Bone constraints: 1
  • Better access to translations in animation export: 1
  • Problem with survey or software: 4
  • Other comment about the survey or project: 5

So here there is a clear winner; we had a vigorous write-in campaign for more more limbs or tail bones attached to the pelvis. Most cited a desire to support hexapods, centaurs, or other multi-limbed creatures.


We’re working to get the skeleton finalized in the next few weeks. Watch this thread or join us at the Bento User Group for updates as we continue the process. Thanks!

Link to comment
Share on other sites

Somehow the center bones for the lips and the forehead have been skipped at least from the survey. I still think that those  3 bones are the most important ones to get facial expressions done in a good (not creepy) way:



Without the center bones (mFaceLipUpper, mFaceLipLower) the bow of the lips would become more "squary" as you can see from Medhue's movie.

Automatic weighting

Also it seems like having the center bones defined makes automatic weighting much better. The weights for the images above where created from Bone Heat. I tweaked 8 weight values on the lips a bit and of course the teeth needed to be weighted manually (upper teeth fully to the Head, lower teeth fully to the jaw)

Rotation animation & translation animation

With rotation only you can not get this:



 

  • Like 3
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1276 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...