On Wednesday, December 16th, the Lab issues the Project Bento viewer, version 188.8.131.529171. This viewer introduces extensions to the standard Second Life avatar skeleton providing dozens of new bones to support both rigging and animation, and accompanying new attachment points. It is fully backwards-compatible with existing avatars, rigging and animation. The skeleton extensions include:
- 11 extra limb bones for wings, which could also be used for additional arms, or extra legs.
- 6 tail bones
- 30 bones in the hands
- 30 bones for facial expressions
- 2 other new bones in the head for animating ears or antennae
- 13 new attachment points associated with the new bones
Read the official announcement for more (my report is here). I’ll be providing more updates and background notes to the project in due course.
There has already been some detailed discussion on the Bento forum, including some concerns raised about the nature of the initial work being a “closed beta”. This is something of a misconception, as the project has been an iterative and shared process between the Lab and the content creators invited to participate in defining how the avatar skeleton could best be improved, what needed to be considered for backwards compatibility, etc., As such, it is only now that any beta can be considered to have been initiated – as Oz Linden explains in the forum, with Vir Linden also noting:
Nothing is final until we go to the main grid. The purpose of the testing period on Aditi is to identify and if possible fix any issues with the proposed skeleton. It’s possible we will add, remove or change bones as a result of feedback from the project viewer – so bone suggestions or bug reports are both very much fair game.
Project Bento also came in for significant discussion at the TPV Developer meeting on Thursday, December 18th, as noted below (see also the meeting video).
Potential Non-Bento Viewer Crashes
Concerns have been raised over avatars using Bento updates potentially crashing viewers which do not yet have the updates. however, the Lab has indicated that uploads using the new Bento skeleton will remain blocked on the main grid until the viewer code reaches RC status (see below), which should limit the risk of issues.
In addition, the Lab indicates it has pro-actively incorporated a range of bug fixes into recent versions of their viewer, up to and including the 4.0.0 CEF release, which are intended to handle a number of situations where a crash might result from a viewer without the Bento updates encountering an avatar using the Bento skeleton. It is hoped that by the time the Bento viewer does reach RC status, these fixes will have propagated out to TPVs, and will help prevent any potential clashes between viewers lacking the Bento updates and avatars using the new skeleton until such time as all viewers and release versions with the Bento code.
Bone Translation as Well as Rotation
One concern / suggestion already raised is on the matter of providing bone translation rather than just rotation in order to better handle facial expressions (see BUG-1090, “[Bento] A formal method of bone-translating animations is vital for the creation of proper facial expressions”). This bug was raised at the TPV Developer meeting, with Vir Linden commenting:
This is obviously a very complicated and controversial topic; there’s been a lot of feedback about it in the forums. Where we are right now is, animating positions is not something we ever supported on purpose, which means that our code for it … it doesn’t work particularly well in the viewer. And our hope is, with adding the new joints, that workaround would no longer be needed to do interesting, alternate avatar shapes.
So the plan, and the way I believe it is currently configured is that on Aditi, uploads of animations that alter positions shouldn’t be allowed. And the intent there is to make sure we’re exercising the alternative pathway and making sure we actually can create the kinds of avatar people want to create using the new Bento skeleton without positions.
That’s where we are right now, but obviously, we’re in the very early stages of testing Bento, and we don’t really know for sure yet whether there are cases where this is required or not until people have actually exercised it. So that’s the kind of feedback we’re hoping to get: people trying different things and letting us know what can and can’t be done in this alternate paradigm which we think is a bit better supported.
As to the specific proposal to have translations for facial expressions, I’m really curious to how that would work. We talked about it when we were putting together the skeleton, and it seemed like it would be kind-of incompatible with the notion of any kind of avatar scaling. If you make the head bigger, or the whole avatar bigger, your translation-based facial animation, it seems like, is not going to scale up with the size of the head. So I’m not sure how well that would work. In any case, I’ll take a look at the report in more detail, and may want to respond to specifics in there, but that’s where we are overall with position animations right now.
It is just disabled on Aditi … for testing Bento, and nothing is final until we go to the main grid. But our hope is that this is just a temporary work-around that you’re not going to have to have, since it doesn’t work particularly well currently.
To this, Oz Linden added:
I think it will help inform that, and any other discussion of how the new skeleton extensions and restrictions work, [is] to try to make everything very concrete. That is, the assertion that “A” cannot be done, or that given the current restrictions, “A” cannot be done well, I think would be well-informed by having people share, publish what exactly they tried to do and exactly what the results are, and share the animation files and the meshes and the rigging and all that; so that everyone can see very, very specifically, what’s going on.
And it may be that there are different ways to do what people are trying to do, and that they can accomplish a satisfactory result in a different way, and we can all learn what that is, or collectively discover that they can’t, and we need to make some adjustments.
But the assertion that XYZ can never be done, in general and with no specific example, doesn’t really help us to make good decisions.
Potential Timeline for Bento
Uploading of content designed to use the Bento skeleton to Agni (the main gird) will remain blocked until such time as the Bento viewer reaches release candidate status.
This is unlikely to be much before the end of February 2016, partially because of the Christmas / New Year break, but also to give plenty of time for testing on Aditi and to provide feedback which may help the Lab in making further changes if needed, as per the comments above. It is also hoped the long lead-in time will give everyone the confidence that Bento is going to be something content creators are able to effectively use.