Bento: extending the avatar skeleton
The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, August 25th at 13:00 SLT at the the Hippotropolis Campfire Circle. For details on the meeting agenda, please refer to the Bento User Group wiki page.
Note that this update is not intended to offer a full transcript of the meeting, nor does it present the discussion points in chronological order. Rather, it represents the core points of discussion, grouped together by subject matter were relevant / possible, whilst maintaining the overall context of the meeting. My apologies for the background birdsong. I usually turn off local sounds for these recordings – but in this instance I forgot!
The Bento project viewer updated on Thursday, August 25th to version 220.127.116.118969. This release includes the following changes / improvements, but please refer to the release notes for the full set of updates.
Following previous discussions (see my Bento week 23 update), MeshImportUseSLM has been set to FALSE in the viewer, so that SLM files are by default not created and not used. Switching MeshImportUseSLM to TRUE via debug settings will re-enable them once more.
Avatar Vertical Position (height above ground) Calculation
See here for further background noted. Essentially, any position or scale changes for joints that are included in the body size calculation (those up through the left leg from the foot, the pelvis, torso, chest, neck, head and skull. can trigger issues with an avatar bobbing up-and-down unexpectedly as a result of the frequency of the calculation being increased to once per frame. To help compensate, this new version of the viewer only updates the body size calculation when starting / stopping an animation, so hopefully the changes will be less visually jarring.
Overall, however, the best fix is still to avoid using animations that change the positions of the joints used to calculate the vertical position of the avatar.
Two other updates worthy of individual note are:
- The show bones display has been modified to use colours differently, distinguishing between joints that are skinned to, joints that have position overrides defined, and all other joints.
- Animation of collision volumes has been fixed.
Teager’s Bento Raptor
Move To Release Candidate Status
Currently, the Lab believes there are no known active bugs which are sufficient enough to prevent the Bento viewer moving to Release Candidate status, potentially in the next few weeks. With the core AvaStar issues also seemingly resolved (see below), creators are being encouraged to complete any additional testing they wish to make so that any remaining potential blockers are found before the viewer goes to a wider audience. Move the viewer to RC status will expose it to a wider cross-section of users, allowing the Lab to get a better feel for the viewer’s overall stability or whether any non-Bento regressions have slipped into the code, etc.
Mesh Distortions with Altitude
Vir has looked further into the issue of facial distortions with altitude when software skinning is used (some meshes can also be distorted when right-clicking on an avatar). The problem seems to be in the base avatar mesh itself, although one idea he had for the cause of the problem didn’t pan out.
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 can be overcome by using hardware skinning, and seems to be a subset of a broader issue affecting worn meshes (floating point calculation error), it may not prevent the Bento viewer going to RC, but Vir is going to continue to look at it.
Matrice Lavalle of the AvaStar team believes he’s resolved most of the issues affecting their software (see here for some background), and his testing indicates that bones should now be correctly positioned and adjusted when using sliders, although there are some minor nips and tucks he still wants to take care of. He also noted an issue affecting the torso bone, which came up shortly before the meeting and which may be limited to a particular way in which the torso is modified, and he is looking into that.
Maya / MayaStar Notes
Cathy Foil provided background information on some of the lessons she’s most recently learned in using Maya for avatar models, relating to joint orientation requirements, performing freeze transformations, etc.
Cathy also provided some advice to Maya users on ensuring that facial bones which have a custom position but which are not rigged to, are included in the skin cluster, otherwise the bone will be excluded from the .DAE file, leading to issues with the model in Second Life.
Matrice noted that as a result of Cathy’s discovery, AvaStar has been updated to ensure custom bones without weights are automatically exported.
When she has time, Cathy plans to produce some video tutorials on the lessons she’s learned through the Bento process to help Maya users avoid issues like these. Currently, she is still working on updating MayaStar to work with all of the new bones, which is currently a manually intensive task.
Bone Position Information and Slider Values
Cathy points to an issue with the neck bone slider, which, rather than having a neutral position of 50 (as with most bones), has a neutral position value of 66.6667, which can lead to neck alignment problems when adjusting the neck bone position. She asked if in the future, the Lab could update the default avatar shape to ensure all slider positions as close to neutral (50) as possible. This initiated a discussion on the feasibility of doing so, and some of the broader issues slider position value calculations.
Matrice also provided an overview of how AvaStar now handles neutral positions and the default avatar, before he and Vir discuss using other tools and the avatar BLEND file.
Following the meeting proper, Cathy and Matrice further discussed the differences between Blender and Maya in handing bone positions / rigging on export through the use of weight maps (Blender) and skin clusters (Maya).
Bento Collaboration and Future Projects
Troy reported that overall, the Lab like the outcome of the Bento project, with the level of collaboration and cooperation between content creators and the Lab, particularly vis the user group meetings etc. While not the first time the Lab has worked with SL users on a project, Troy indicated that the approach taken with Bento is something the Lab would like to continue, where appropriate. Vir seconded this view, noting how the collaboration has made Bento a far more usable product.
Bento Content Documentation
An interesting point of discussion with Bento is the need for content creators to consider documentation carefully given the way the bones can be re-purposed – or at least define a common means of annotating how they have used various bones – in order to help avoid potential conflicts which might arise on those occasions where a user might attempt to use two mesh elements, each of which calls upon the same bone, but require it to be positioned differently to one another.