The second public user group meeting for Project Bento took place on Thursday, January 14th 2016, continuing discussions on the new avatar skeleton extensions for Second Life. The following is intended to provide a summary of the discussion, together with audio excerpts from the meeting. It is not, however, intended to present a full transcript.
Additional / Alternative Bones and Experimental Region
The experimental region for those wishing to try additional / alternative bones (see my report from the first Bento public UG meeting), is now available on Aditi at BentoExperimental1. It had been misbehaving when first set-up, but is now thought to be running smoothly.
One concern among content creators who are already working on Bento is the potential for additional / alternative bones to be disruptive, that has they are added, it will break content being used for ongoing testing of Bento, particularly for those working on complex, multi-limbed avatars.
Vir pointed out that while the Lab don’t want to necessarily add to the workload in testing new bones, it’s better to look at possible additions / alternatives sooner rather than later, and accept test content may break if charges are to be made in the near future as a part of developing the project.
He also pointed out that so far, the focus on additional / alternative bones has been on the face, which shouldn’t have any impact on those working with the new wing bones, etc. Although that said, there is no limitation on proposing additional bones for wings, legs, etc., even if they do prove a little disruptive at this point in time.
End dates and Selecting New Bones
Currently, the Lab hasn’t determined any date by which proposals for additional / alternative bones must be made, or the process by which any of the proposals might be adopted. However, creators are encouraged to use the experimental region to develop models as demonstrations sooner rather than later.
While it is not 100% certain, given there is currently no clear consensus as to what additional / alternative bones might be seen as a priority among those proposing them, the Lab is considering making any potential selection the matter of a poll at some point in the future, and make any determination based on that.
Vir also indicated that ideally, the Lab would like to make as few further changes to the skeleton as possible, and so may opt to add additional bones as a single pass in the viewer, rather than gradually adding them (which might also cause problems when testing, due to the repeated risk of breaking test models as noted above). Either way, the code will be stabilised well before any attempt is made to move Bento to the main grid, in order to ensure that people have adequate time to test things and to allow TPVs sufficient lead-time to integrate the Bento code into their offerings so that they can support it when it is deployed.
IK Bone Issues
A problem has been noted within the skeleton between the new toe bones and the IK (inverse kinematics) bones which connect the avatar physically to the world. The latter are focused on the foot bone in the avatar skeleton, with the result that when the new toes bones are used to animate the avatar (as might be the case with digitgrade legs), a conflict with the IK bones can occur, causing the animation to go awry. It doesn’t happen all the time, but when it does, it is very noticeable.
Exactly what can be done to deal with this is open to question; Vir’s initial thoughts were to consider changing the logic so that IK bones are focused on the toe, rather than the foot. Alternatively, Oz suggested adding a new flag which would allow a mesh to indicate it does not want a joint manipulated by IK, and idea which was seen by some creators as offering greater potential for use.
To help the Lab better understand issues and gain a thorough insight what might be required in order to address issues where they can, a request was once again put forward for very concise in-world examples and models.
Both Oz and Vir concurred that any large-scale alternations to the IK chain, such as extending it to include the new bones is unlikely, due to the risk of breakage with existing content on the main grid and due to the additional overheads it will place on Bento in terms of testing, lead times, etc.
Teager has raised a bug report (see BUG-11157) relating to avatars using the new skeletons sometimes appearing deformed in the Bento project viewer. The issue seems to vary from user to user, with some seeing an avatar deformed, while others don’t. The problem appears to be related to avatars which are not rigged in the standard human T-pose (of which more below).
The current means of fixing the problem when reported to the avatar wearer is for them to re-wear the mesh, which forces a re-load of the joint positions, correcting the problem in most views. Vir’s thinking on the problem is that it may be the result of a race condition between viewer and simulator, resulting in the viewer loading things in a random or incorrect order.If this is the case, it is liable to require deeper investigation on both sides of the code to determine what is going on.
Shape Slider Limitations
Limitations have also been identified with how some of the new bones are addressed by the shape sliders. For example, if a quadruped using the wing bones for limbs is rigged in any other position than the default T-pose, attempting to adjust the length of these limbs via the shape sliders results in the limbs increasing or decreasing in thickness, rather than length.
Given the shape slider system was designed around a basic humanoid form, and altering it is (again) liable to both extend Bento’s lead time and risk possible existing content breakage, it is unlikely the Lab will be willing to make extensive changes to the system. In the meantime, suggestions from creators one how to work around the issue include: rigging avatars using the wing bones for anything other than wings, to rig to different sizes in order to help ensure the feet are in contact with the ground; or establishing a “standard height”or “leg length” system based on avatar set-up.
In addition, Etheria Parrott noted that moving the mskull bone “up high” seemed to resolve the issue and place the avatar on the ground, although it was noted conflicts can occur when using some conventional animations (ground sits, crouches, etc), with an avatar rigged this way, pushing it into the ground, requiring the use of hover height to correct.
Weighting a Vertex to More Than Four Bones
There have been a number of requests for creators to be able to weight a vertex to more than four bones. Vir indicated that the Lab have looked into this, and decided it wouldn’t be an easy thing to change, as the weighting is handled by machine optimised arrays, and thus would need significant viewer and server-side changes and have potential performance impacts. As such, it is not something liable to be done as a part of this project, but might be considered in the future, should a suitable project present itself.
- Vir Linden presented Bento to the rest of the Lab during the January “all hands” meeting, where the various teams catch-up on what the others are doing. This used video footage, etc., supplied by those residents involved in Bento, and Oz reported that the project received an enthusiastic response from those in the company who had not previously seen it in action, and gave his thanks to all those whose work made the presentation possible
- Currently, when creating a fitted mesh or mesh using the new bones, the original 26 bones in the avatar skeleton must all be a part of the .DAE file, even if no weights are added to them. These then count towards the limit of 110 bones per .DAE. Vir is hoping to modify the viewer to remove this requirement, allowing creators to list only the bones they are actually using
- There have been requests for a “parent” facial bone to cater for those wishing to have avatars with more than one neck. Vir is hoping that if the Lab can fix an issue where adding new joint to the original bones in the skeleton currently breaks it, then it might be possible to add a dedicated neck bone to achieve the same result. Presumably, if the issue in adding joints to the original skeleton cannot be fixed, adding a “parent” facial bone remains a possible alternative.