Tag Archives: Project Bento

Behind the scenes with Bento in Second Life

Bento: extending the avatar skeleton

Bento: extending the avatar skeleton

Note: this is a compressed version of an article which first appeared in Kultivate Magazine’s January 2017 issue, and which here includes some personal feedback on being peripherally involved in the project.

There can now be few – even among those having only joined Second Life in the last few months – who cannot be aware of project Bento, the work to significantly enhance the Second Life avatar skeleton to better support mesh avatar models, how they are animated and how they might be customised. I was able to observe Bento almost throughout its lifespan. As such, I thought more of a look inside the project might be of interest.

Bento’s heart comes in the form of one person: Vir Linden. Despite the avatar skeleton being one of the most fundamental parts of Second Life which could if interfered with, cause all sorts of issues, Vir was convinced things could be done to make the lot of mesh avatar creators and animators much easier, and without putting additional stress on either the simulator or the viewer. So in early 2015, he started looking at what might be achievable.

Vir Linden, Senior Software Engineer at Linden Lab, and technical project lead for Bento

Vir Linden, Senior Software Engineer at Linden Lab, and technical project lead for Bento

By roughly April 2015 he felt he had enough information to put together a presentation he could put before senior staff at the Lab. Despite the ambitious nature of the project, potentially adding (at that time) 106 new bones to the avatar, the response was enthusiastic and positive. Troy Linden joined Vir from the Product Team, and Bento was born.

Initially, the work was in-house, involving Lab staff and the Moles. However, as the potential  for the project grew, it quickly became apparent that wider expertise would be needed to both give input to the project and help steer the development work. And so it was that a core Bento User Group came together, comprising Lab staff with expertise with the viewer, with the server, and – most significantly – content creators noted for their expertise in developing mesh avatars and avatar accessories (human and non-human), and the people behind the most popular tools for avatar creation and animation: Gaia Clary and Matrice Laville (Avastar) and Cathy Foil (Mayastar).

Like, Vir, Cathy, Gaia and Matrice deserve special recognition for their work on Bento. Not only did they embrace the project and work to update their products to support Bento, they also took on a lot of the grunt work involved in updating essential code used by the viewer to make Bento happen – and they were enthusiastic about doing so. If you make use of a Bento head and are adjusting things using the sliders, offer a word of thanks to the three of them: they’re the people who carefully went through the avatar files in the viewer to get as many of the sliders as possible working with the new facial bones for you to be able to do so.

Vir linden (foreground) and Matrice Laville at a Bento project meeting

Vir Linden (foreground) and Matrice Laville (in the top hat, left) at one of the closed user group Bento project meetings (note the fellow in the top hat to the right of the picture is Rider Linden)

Bento meetings initially took place at a small desert island on Agni, the Main grid. This sat on its own channel to ensure the necessary tweaks to the simulator end of things could be made to try out ideas and options and generally lay the foundations of the project. This work progressed over a period of just over six months until there was a good level of confidence that the project could be taken to the next stage.

This involved moving things to Aditi, the beta grid, and opening things to the public at large. The use of Aditi meant that more extensive testing of simulator and viewer changes could take place, more space could easily be made available for people to experiment, and more people in general could get involved. In time, these meetings would eventually move back to the main grid. It also marked the start of my ability to publicly report Bento progress on an almost weekly basis.

Bento enables much more flexibility when creating and animating human and non-human mesh avatars

Bento enables much more flexibility when creating and animating human and non-human mesh avatars

At the start of the public phase of Bento, the skeleton had stabilised with some 92 additional bones – 60 of which were evenly split between hands and head. However, as the work progressed, this number tended to vary for a time as the need for further bones was identified while some of the new bones were found to be redundant and could be removed. As the same time, additional use cases for Bento were proposed, with every effort being made to incorporate as many as practicable. There were even some fundamental shifts made in how Second Life functions so that more could be achieved through Bento.

An example of this lies with bone translations and rotations. In essence the SL animation system had always worked on the assumption that sliders only affect translation and scale whilst animations only affect rotation, allowing both to work cooperatively.As the animation system was not necessarily seen as an intrinsic part of Bento, little thought was initially given to changing it. However, during the public beta phase of the project, a strong case was made for allowing both translation and rotation through animations – and as a result, the necessary updates were made to the animation system to support this without potential conflicts occurring.

Continue reading

Advertisements

SL project updates 2016 51: server, simulator OS update

Server Deployment

While the No Change window was supposed to have come into operation on Friday, December 16th, there was indeed a deployment to the Main (SLS) channel on Tuesday, December 20th. It comprised the same server maintenance package as deployed to the RC channel in week #50, comprising internal logging changes.

The deployment means that all of the server channels on the main grid (Agni) are now running the same simulator version. As there are no planned deployments to the RC channels, all four channels should remain on this release until deployments resume after the holiday period.

SL Viewer

We might see a 64-bit project viewer appear during the week. However, at the time of writing,  the list of viewers in the various pipelines remains as:

  • Current Release version: 5.0.0.321958, dated December 1st, promoted December 5th – formerly the Project Bento RC viewer.
  • Release channel cohorts:
    • Maintenance RC viewer, version 5.0.1.322219, dated December 9th – some 42 fixes and improvements + Bento support
  • Project viewers:
    • 360-degree snapshot viewer, version 4.1.3.321712 dated November 23rd – ability to take 360-degree panoramic images – hands-on review
  • Obsolete platform viewer version 3.7.28.300847 dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Bento Support

With the release of Kokua for Second Life 5.0.0 and RLV 2.9.21 (see my article here), the following currently maintained viewers all have Bento support: Black Dragon, Catznip, Cool VL, Firestorm, Kokua for Second Life, Restrained Love. Alchemy is expected to update to include Bento “soon” and UKanDo is still awaiting a complete overhaul.

In terms of clients with 3D viewing capabilities, Radegast has been updated to support Bento, but the update is pending release. Lumiya for Android will have Bento support added “soon” (Lumiya 3.3 with Voice support released on Sunday, December 18th, and my review is available here).

Simulator OS Update

The Lab is in the process of updating the operating system on the simulator servers. At the moment the new OS version is installed on a number of regions on Aditi (the beta grid), including: Fire Ants 1, Fire Ants 2, Grasmere, Oak Forest, and Twilight Shores, not all of which are open to the public.

“This is one of those ‘features’ that might perform a bit better, but otherwise is a success if it behaves exactly like our current servers,” Simon Linden said at the Simulator User Group meeting on Tuesday, December 20th.

“We’re in the starting process of testing things. We have a lot of testing to do. [We’re] updating from an old version of Linux to a not-so-old version of Linux,” April Linden added. “Just to keep things moving. All the usual reasons. Performance updates, security, etc.”

Second Life hits a lot of low-level server code hard, including networking, memory and multi-processing. The overall hope is to have the newer revisions of the operating system will improve these. Expect this work to reach Agni in early 2017.

Group Chat

Group chat was long a bane of Second Life. In 2014/15 however, the Lab put a considerable amount of work into improving things, although some issues remain. One of these is that if an individual role outside of the default “Everyone” has a very high number of group members assigned to it (e.g. several thousand), it can dramatically impact things like group chat performance and can prevent the members’ list loading. One solution might be to delete the role (converting those in it to Everyone).

SL project updates 2016 50/2: re-caps and Content Creation UG

Fris' Land, Liebe; Inara Pey, December 2016, on Flickr Fris’ Land, Liebeblog post

Server Deployments – Recap

As always, please refer to the server deployment thread for the latest updates and information.

  • On Tuesday, December 13th, the Main (SLS) channel received the same server maintenance package, as deployed to the RC channels in week #49. This includes the following feature requests: BUG-6377 – llGetObjectDetails(id,[OBJECT_ATTACHED_SLOTS_AVAILABLE])  and BUG-40871 – llGetEnv() constant “region_object_bonus”.
  • On Wednesday, December 14th, all three RC channels received the same new server maintenance package, comprising improved internal server logging.

SL Viewer

The official viewers list remains unchanged from earlier in the week:

  • Current release viewer, version 5.0.0.321958, dated December 1, promoted December 5 – formerly the Project Bento RC viewer download page, release notes
  • Maintenance RC viewer, version 5.0.1.322219, dated December 9th
  • 360-degree snapshot viewer, version 4.1.3.321712, dated November 23rd.
  • Obsolete platform viewer, version 3.7.28.300847, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

No Change Window

A reminder that the end-of-year No Change window comes into effect from Friday, December 16th. There will be no further planned server deployments or official viewer promotions after that date, through until Monday, January 2nd, 2017.

Content Creation User Group

On Thursday, December 15th, the Project Bento User Group officially morphed into the Content Creators User Group (thus in a way  also now standing as a revamp of Nyx Linden’s old group).

Meetings will continue to take place at 13:00 SLT on Thursdays, at the Hippotropolis camp fire circle, with the exceptions of Thursday, December 29th and Thursday, January 5th. Anything related to Bento remains on topic for the group, but things of general interest to content creators are also open for discussion.

New Bento Issues

Bento is generating considerable interest among users – as witnessed by the release of Firestorm 5.0.1, when demand overwhelmed the Firestorm servers, and additional mirror services had to be set-up, with assistance from the Lab in doing so. However, some further issues have been identified as a result of Bento reaching a broader audience:

  • BUG-41063 – [Bento] Some Fitted Mesh No Longer Fits on Bento Avatars
  • BUG-41048 – [Bento] When wearing some Bento content, all walking animations freeze

The first of these bugs has been accepted by the Lab and is being investigated. The second appears to be most notably related to animations using the Bento wing bones, which appear to be overriding animation walks, causing an avatar to slide along the ground, rather than walking.

The issue particularly seems to impact walk animation using the llSetAnimationOverride capability, while older ZHAO systems (which tend to use the llPlayAnimation capability, appear to be unaffected. This may be due to the manner in which the latter handle start / stop animations calls, which is successfully preventing the issue manifesting with them.

The underlying cause is thought to be a possible animation priority setting / conflict or possibly the result of the wing bone animations having bone positions being set for all other, but not rotation data – but further investigation is required. Vir has taken samples of items which can cause the issue (again, notably, but not necessarily limited to, wings), and is going to have a poke at them to see if he can see what is going on.

Elsewhere, creators are waiting on Avastar to update, and Damien Fate has a rather neat HUD to help animate Bento hands and fingers. It’s unlisted, so I’m linking to it, rather than sharing it via embedding.

Fun Fact

The new Linden Lab portal parks have a LI capacity of 45,000 (with thanks to Cube Republic and Arton Rotaru for the pointers).

Portal Park LI capacity

Portal Park LI capacity

 

 

 

2016 SL project updates 49/2: Bento and web and bits

Server Deployment – Recap

  • On Tuesday, December 6th, the Main (SLS) channel was updated with the same server maintenance package deployed to the three RC channels, comprising internal simulator changes.
  • On Wednesday, December 7th, the three RC channels will received the same new server maintenance package, which includes the following feature requests:
    • BUG-6377 – llGetObjectDetails(id,[OBJECT_ATTACHED_SLOTS_AVAILABLE]) – Returns a value that is number of attachment slots allowed by the server minus the number of attachments worn by avatar. Returns 0 if avatar is not in the same region or if UUID is not an agent.
    • BUG-40871 – llGetEnv() constant “region_object_bonus” – returns the object bonus set for a region.

Bento Update

The major news is that Bento was officially pronounced “live” on Monday, December 5th with the promotion of the Bento viewer code to de facto release status – see the official blog post or my covering article. Currently  – and as far as I’m aware – Black Dragon has a release out supporting Bento, Cool VL viewer has had Bento updates in the experimental branch for some time, and both Firestorm and Catznip will be issuing updates with Bento support very soon.

The announcement was followed with some further releases of Bento capable content on the Marketplace, and more will doubtless follow as Bento reaches more viewers and Avastar is fully updated (see below).

Troy Linden, the product lead for the project, passed on congrats and thanks to all who have been involved in the project, and Vir Linden’s role in getting things rolling and taking responsibility for getting things to work in the viewer.

One issue that wasn’t fixed prior to release was that of facial deformations occurring at altitude, which was noticed very early in the project.

Cathy Foil demonstrates the mesh deformation which becomes more pronounced with altitude (starting at around 1,000m and getting progressively worse through 4,000m)

Cathy Foil demonstrates the mesh deformation which becomes more pronounced with altitude (starting at around 1,000m and getting progressively worse through 4,000m)

As this particular problem appears to be part of a broader issue of floating point calculation errors and it can be overcome by using hardware skinning,  it wasn’t seen as a significant enough issue to warrant holding back Bento.  Should you encounter it, try using hardware, rather than software skinning on your system.

Future Follow-Ons for Bento

As Bento was being developed, a number of ideas for follow-on projects were put forward. Two of these include:

  • “unwearing” the default avatar while allowing baked textures & reducing the complexity of avatar bodies(see BUG-10980). Vir has previously indicated an interest in pursuing this idea (and the feature request has been accepted by the Lab).
  • Splitting the avatar shape into different elements (e,g, head and body), seen as making it easier for users who are uncertain about customising their form using the sliders, or who have a No Mod shape associated with their head or body to be able to mix and match more easily.

No final decision has been made on what might follow Bento or when, but given Vir’s feedback on splitting the avatar shape into separate elements would require a fairly extensive re-working of how avatar appearance is handled (up to and including changes to the baking service), it would seem unlikely this would be adopted,

Avastar and MayaStar

Avastar is still in the process of being updated to give expected support for Bento, and a new version is anticipated in the near future – users should keep an eye on the Avastar website for news. Cathy Foil believes that MayaStar is fully up-to-date, and while there have been reports of problems, these appear to be user error rather than bugs in the software, so she is considering further tutorial videos.

Future Meetings

Bento meetings will continue for a while (allowing for upcoming holidays). They may still be broadened into more of a content creation style meeting if there is sufficient interest. This is still TBD. The next meeting will take place on Thursday, December 15th at the Hippotropolis Camp Fire Circle, as usual, commencing at 13:00 SLT.

Web Properties Update

On Monday, December 5th, Grumpity Linden issued a further blog post on recent SL web property updates, which also included a minor update (contents unspecified to the lindenlab.com properties.   In terms of Second Life, the updates can be summarised as:

  • Maps:
    • slurl.com was officially retired on November 22nd, everything is now maps.secondlife.com – slurl.com/secondlife/ are redirected.
    • Viewing a specific location on maps.secondlife.com no longer throws a 404 error in the console.
    • Maps no longer  disappear at peak use times.
  • A large infrastructure update was made to secondlife.com along with security fixes and several minor bug fixes.
  • The Marketplace had an Events infrastructure stabilization to fix a few listing bugs.
  • A minor Security fix was released.

The update also referenced the new Grid Status page service.