Project Bento User Group update 4 with audio

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands Project Bento - extending the SL avatar skeleton
Project Bento extends the avatar skeleton, adding a significant set of bones to the existing skeleton (avatar by Matrice Laville)

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, February 4th at 13:00 SLT on Aditi.  For details on each meeting and the location, please refer to the Bento User Group wiki page.

Bent Bones Survey

The Bento bones survey is now closed. Vir presented an overview of the results during the meeting and subsequently published the results on the Bento forum thread. Some 54 responses were received, which he has been analysing.

Additional Bone Groups

In terms of the questions on the 7 proposed joints or sets of joints, no clear winner emerged, with the average ranking for the seven coming between 3.18 and 4.32 (lower being better). Additional wing bones fairing the poorest of all, with additional facial bones and / or additional ear bones fairing the best.

Since the survey results were published, Gaia Clary has pointed out that it did not include the proposal for a group of three additional bones for the centre lip and forehead, which have been viewed as being important for natural facial expressions such as decent smiles. The exclusion might explain why one of the proposals was effectively listed twice in the survey (options 1 and 3). There’s currently no indication as to how group indicated by Gaia might now be considered.

Gaia Clary indicated the bone survey missed a proposal for 3 additional forehead / lip bones to allow more natural expressions, the inclusion of which would also allow for better automatic weighting of the lips (the pictures above, as Gaia notes, use the default avatar head)
Gaia Clary indicated the bone survey missed a proposal for 3 additional forehead / lip bones to allow more natural expressions, the inclusion of which would also allow for better automatic weighting of the lips (the pictures above, as Gaia notes, use the default avatar head)

Written Feedback

The open questions asking for written feedback did produce a clear winner: more tails / limbs or more tail joints, with most of the respondents to the questions (18 and 14 respectively) citing a desire to support hexapods, centaurs, or other multi-limbed creatures.

The requests for additional tail  / limb bones saw Vir ask for further feedback on matters to make sure he was grasping the reasons for the requests correctly – notably that people would be using bone translations for the additional limbs, allowing the spine to act as an initial anchor point for the bones, which then could be translated into their preferred positions.

Wing Roots, Pelvis Bones and Options

A contributing factor for wing root bones not proving popular is because they were originally included to compensate for the fact that Bento initially didn’t support bone translation, only rotation; thus additional bones were required to assist with achieve more natural wing, etc., movement. Now that bone translation is considered part of Bento, the need for multiple extra wing root bones is removed, with the result that some could be replaced by more meaningful bones used elsewhere.

A set of bones which came in for particular discussion were extra pelvic bones, with Vir asking for clarification on the benefits would be in having them. My apologies for the extract from this part of the meeting, a mis-click on my part meant that part of the conversation in which Teager explained how it would allow for easier compatibility with existing animations so that, for example a centaur might be able to make use of existing upper body animations for arm / head movements wasn’t cleanly recorded and so is not a part of the extract.

Bone Constraints

When  discussing working with initial versions of the Bento skeleton and developing the Avastar face rig to help in producing facial animations in early January, Gaia Clary raised the subject of utilising bone constraints as a means of adding a further level of control for bone movement within the avatar.

This would allow root bones to effectively be paired such that the movement of one is controlled / constrained by the movement of another (see this comment from Television as well).  This is a common approach to animation, and greatly eases the animation process, and if completely followed through, could add enormous flexibility in what could be done with the avatar skeleton, as Gaia notes:

If constraints can be implemented in general, then this concept could be generalized to work for all limbs, then users can for example constrain the root bones of the legs, arms, wings and tail to mSpine and create a 7 legged creature that can be animated without adding odd rules to the animation.

Thinking even further, if location constraints were allowed, then this idea allows to constrain any limb to any bone. Wings could then be constrained to eye brows for antennas, tail(s) could be constrained to chest for 4 winged creatures, etc.

The problem here is how to implement such a system of constraints within Second Life. While there are animation programmes and system which do allow for constraining bone movement, it’s not clear if they all utilised a standardise approach, or whether then could be easily replicated within Second Life, or what the overhead involved would be in trying to develop the means for the platform to support bone constraints.

Given this, and while the ideally has not been ruled out for future evaluation, adding such a capability at this put in time for Bento has been seen as being out-of-scope for this phase of the project.

Continue reading “Project Bento User Group update 4 with audio”

The Drax Files 35: exposing the bones of Project Bento

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands Project Bento - extending the SL avatar skeleton
Project Bento extending the SL avatar skeleton

Project Bento is an ongoing project running as a collaboration between Linden Lab and content creators / animators to extend what is possible with the standard Second Life avatar. It’s also the subject of a series of reports and updates in this blog and, more importantly in this particular context, the subject of segment #35 of The Drax Files World Makers.

At just under 3.5 minutes in length, the segment is somewhat shorter than previous editions of World Makers, but what it lacks in time, it more than makes up for in terms of content. Anyone wishing to grasp the intent of the project, its complexity, and its collaborative nature can do no better than to sit down and watch World Makers 35.

Bento’s roots as a real project go back to around the start of 2015. The Second Life team at the Lab (which is probably larger than many people are prepared to give credit, comprising as it does product managers, engineers, designers, coders, the viewer team, etc.), periodically get together to discuss how and where they might improve Second life and offer new features.

Improvements to the avatar skeleton is one of those things that has long been requested by SL users and content creators, and thanks to work previously undertaken under-the-hood within Second Life, both within the servers and the viewer, it had, by early 2015, reached the point where it was felt it could be undertaken in a manner which would both yield a positive outcome.

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

Vir Linden has been the engineering lead in the project, which is by managed from a product perspective by Troy Linden and from an engineering standpoint by Oz Linden. It has over the months involved many from the SL team at the Lab including Aura Linden, Grumpity Linden, Dan Linden, Simon Linden, Rider Linden, and Coyot Linden, many of whom feature in the World Maker’s Video.

Perhaps most importantly of all, from a user’s perspective, is that from very early on, Bento featured – one might say almost driven – by content creators themselves, including Cathy Foil, Siddean Munro, Flea Bussy, Toady Nakamura, and Matrice Laville.

These are the people who focused on what bones should be thought about in order to extend the avatar skeleton, and who undertook a lot of the work testing ideas and feasibility, options for integration into tools already available to support avatar creation (such as Avastar, Mayastar), and so on. Several of the LDPW moles were also involved in the work, offering input and ideas based on their long-term experiences as content creators and developers.

Meetings for the project were held on a weekly basis (transitioning into the public Bento User Group meetings on Aditi once the work had reached to point of being available in a project viewer), and both Drax and I were invited along to witness the collaborative nature of the work between residents and Lab staff (although I admit, my attendance was sporadic, as the scheduled meeting time ended up being awkward for me to make in the latter part of 2015).

Bento project meetings were held in-world, allowing Lab staff and content creators / animators develop the project collaboratively.
Bento project meetings were held in-world, allowing Lab staff and content creators / animators develop the project collaboratively.

The complexity evident in Bento can be summed up in the fact that there are now 106 bones in the SL avatar skeleton, plus the original 26 collision volumes of the basic avatar, giving a total of 132 joints. These new bones include:

  • 11 extra limb bones for wings, additional arms, or extra legs.
  • 6 tail bones
  • 30 bones in the hands (all 10 fingers!)
  • 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
Bento has huge implications for avatars of all kinds - even bunnies, as Etheria Parrott demonstrates with the facial features on this Bento Bunny . watch the video
Bento has huge implications for avatars of all kinds – even bunnies, as Etheria Parrott demonstrates with the facial features on this Bento Bunny . watch the video

Getting to this point alone took time and effort – and no small amount of testing. How many bones could the avatar realistically support within Second Life? What would be the data load placed on the simulator (allowing for a considerable amount of work the simulator used to do having been moved to the CDN service, something we’ll also be seeing more of in the future)? What happens when you get a lot of animated avatar appendages all operating in the same space?

These are just some of the questions which had to be addressed by those initially working on Bento, and are still being considered now in the more open Bento beta. Nor is it just a case of providing the bones and the options for animating them: there’s also the matter of ensuring the data relating to  bone movements, etc., can be reliably managed, tracked, communicated and visualised by both the simulator and the viewer.

All of which adds up to a complex project, but it is one seen as genuinely important by those at the Lab working on it, as Troy, Coyot, Aura, and Vir note in the video:

[Troy] The avatar is an extension of the resident. It’s an extension of their personality in a Very detailed way. [Coyot] Enabling  that imaginative element of ourselves is really important and not to be under-rated. People can go, “ah well, it’s fantasy, whatever,” but the imagination is an expression of who we really are. [Aura] By allowing avatars to have these new expressive modes, we can really increase this visual communication that people have. [Vir]  That’s going to increase the sense of presence in the 3D world.

Continue reading “The Drax Files 35: exposing the bones of Project Bento”

SL project updates 16 5/1: Server and viewer

Calas Galadhon; Inara Pey, February 2016, on Flickr Calas Galadhon – the view along the revised coastline from Dimrill Dale towards Glanduinblog post

Server Deployments

As always, check the server deployment thread for the latest updates.

On Tuesday, February 2nd, the Main (SLS) channel received server maintenance package 16.01.21.310177, previously deployed to the three RC channels, comprising Internal simulator fixes and a fix for BUG-1313 “LSL llSetPos in root prim of attachment behaves differently at high altitudes – viewer does not show updates”, which can cause attachments to fail to update correctly at altitudes over approximately 1500 metres.

There are no scheduled deployments to the RC channels for this week, and there are currently no plans for any deployments in week #6 (week commencing Monday, February 8th). Some suspect this is because nest week will see one of the semi-regular meetings those at the Lab directly involved in Second Life have to determine projects and priorities taking place.

Simulator Moves

The Tuesday rolling restart apparently included a number of simulators previously on the RC channels also being redeployed onto the Main (SLS) channel. There has been no word on why this is the case, although it might simply be a re-balancing of simulators between the various channels (Main, Magnum, LeTigre and BlueSteel), or part of a server load balancing operation (the Lab used to undertake periodic re-distribution of simulators by server, but I believe that process is far more automated nowadays).

SL Viewer

The anticipated Maintenance RC viewer arrived in the viewer release channel on Tuesday, February 2nd. Version 4.0.2.310545 includes some 38 updates and fixes for, but not limited to: memory leaks; viewer crashes; UI, permissions and mesh uploader bugs; visual muting issues, autopilot issues and duplicated calling cards (which should hopefully prevent people seeing some / many of the calling cards in their inventory duplicated each time they log-in to Second Life).

Outside of this, the current official viewers remain as:

  • Current Release version: 4.0.1.310054, January 15 – formerly the Maintenance RC viewer download page, release notes
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • HTTP updates and Vivox RC viewer, version 4.0.2.310349, dated January 27th
    • Quick Graphics RC viewer, version 4.0.2.310127, dated January 20th
  • Project viewers:
    • Project Bento (avatar skeleton extensions), version 5.0.0.310099, dated January 20th
    • Oculus Rift project viewer, version 3.7.18.295296, dated October 13th, 2015
  • Obsolete platform viewer (Windows XP and OS X versions below 10.7), version 3.7.28.300847 dated May 8th, 2015.

Project Bento Bone Survey

Those involved in work with the Project Bento avatar skeleton extensions are reminded that the  Bento Bone Survey,  while currently open, but is liable to be closed soon. The survey intended to gauge the level of interest in various bone proposals for the Bento skeleton is now available. So if you are an animator or content creator with a vested interest in Project Bento, and if you haven’t already completed the survey, please make sure you do so sooner rather than later. The Lab will be using the results to help with prioritising which additional bones people would like to see added to the Second Life avatar skeleton as a part of the Bento work.

Catznip R10: the cat comes roaring back

catznip logoUpdate: February 8th, 2016:  Catznip 10.1 beta is now available.  Functionally, it is exactly the same as the R10 release except is has a much updated openJPEG, If you are a Catznip user and are experiencing crash issues, this beta may help.

To find out if your issues are openJPEG related, go to  Preferences > Crash Reports. and if you see openJPEG anywhere on that page, you should updated to the R10.1 beta as soon as you can.

Saturday, January 30th saw the long-awaited release of Catznip R10, the first update to the viewer in some 18 months, largely as a result of fate playing a very unfair hand to members of the Catznip team (and it’s good to see you back in-world Kitty, and hoping your recovery swiftly moves beyond the uncomfortable stage) .

Currently, the release is for Windows only, but it see Catznip come right up to date with the current release version of the official viewer, including support for  Chromium Embedded Framework (CEF), for modern media support.

Lab Updates

Obviously, so long a period between releases means that there have been a string of major and minor updates from the Lab, all of which have had to be incorporated into Catznip R10, and which have all be covered to one degree or another in the pages of this blog. With this in mind, and to avoid boring people with a lot of repetition of information already available, I’ve summarised the cor Lab changes found in R10 below, together with links to additional information for those who need it.

Revised Log-in / Splash Screen

The first noticeable change is that Catznip R10 now uses the revised log-in splash screen as deployed by Linden Lab, which places the log-in options at the top of the screen. However, because Catznip is unlikely to be the first viewer new user to SL are likely to encounter, the “first time log-in” option has been disabled.

SL Share 2 and Unified Snapshot Floater

SL Share 2 capabilities, introduced in 2014, allow users to upload snapshots directly to Twitter and Flickr, while the unified snapshot floater provides an initial means of accessing the options to upload snaps to Facebook, Flickr and Twitter from within the snapshot floater, as well as adding a much larger snapshot preview panel.

Group Ban Functionality

Group Bans allow group owners and those roles provided with the ability within a group, to remove troublemakers from that group / prevent them from joining / re-joining the group.

HTTP Pipelining

HTTP pipelining enables the viewer to issue multiple asset fetches on a connection without waiting for responses to earlier requests. This helps to improve things like initial scene loading. In addition, the pipelining code includes improvements to inventory fetching.

Avatar Hover Height

Avatar Hover Height, developed as a direct request of a proposal put to the Lab by members of the Firestorm team, allows “on-the-fly” adjustments to be made to your avatar’s height with the minimum of fuss and without having to use the Edit Appearance Hover slider or use a modifiable shape.

Experience Keys

Also referred to as Experiences, this allows creators to build more seamless and immersive experiences in Second Life without the need to constantly ask users to grant permission to act on their avatar. Instead, permission is requested once when they join (or re-visit) the experience, and then revoked when they leave.

Viewer-Managed Marketplace

The Viewer-Managed Marketplace, or VMM, enables merchants to manage the creation and management of Marketplace product listing through the viewer, bypassing the need to use the Merchant Outbox (and have copies of items stored on the Marketplace inventory servers) or using Magic Boxes.

Group Bans, Viewer-Managed Marketplace and Experiences are all now part of Catznip
Group Bans, Viewer-Managed Marketplace and Experiences are all now part of Catznip

In addition, there has been all the maintenance, snowstorm and other releases which have all board improvements and changes to the viewer, and all of which have been incorporated into Catznip R10. These include, but are not limited to: viewer build library updates, interest list improvements, inventory handling updates, GPU benchmarking, attachment fixes, the ability for an avatar to wear up to 60 wearable layers – jackets, shirts, tattoo, alpha, etc. – in any combination, rather than being restricted to a maximum of 5 per specific layer type, and so on.

Notifications Floater Improvements

Caznip offer a means to filter received notifications as well as a drop-down list for displaying notifications by category
Caznip offer a means to filter received notifications as well as a drop-down list for displaying notifications by category

A further update made to the official viewer during 2015 was that of the Notifications floater, which appeared in the latter part of 2015.

For those unfamiliar with it, the Notifications floater allows incoming notifications (group, system, invitations and transactions, to be sorted and displayed for easier viewing. The default floater splits all such notifications using a tab system, with a tab for each category.

In implementing the feature, however, Catznip have made a couple of improvements.

The first of these is that rather than presenting received notifications under a series of sub-tabs, Catznip R10 allows the user to select which category of notifications they wish to view (or all of their received notifications) via a drop-down list, removing the need for any scrolling between tabs.

This has allowed the Catznip team to include their second improvement, in the form of a search filter. This allows users to filter notifications based on criteria such as originating group, sender’s name, etc. If, like me, you are someone who receives a lot of group notices, this significantly eases sorting through and finding those to which you might want to pay particular attention.

Continue reading “Catznip R10: the cat comes roaring back”

2016 viewer release summaries: week 4

Updates for the week ending Sunday, January 31st

This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

  • Current Release version: 4.0.1.310054, January 15 – no change download page, release notes
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • HTTP updates and Vivox RC viewer updated to version 4.0.2.310349 on January 27 – combines the Project Azumarill RC and Vivox Voice RC updates into a single viewer  (download and release notes)
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V4-style

  • Black Dragon updated to version 2.4.4.8 on January 26th  – release notes
  • Catznip updated to version R10 on January 30th – core updates: major release bringing Catznip back to to par with recent LL viewer releases – release notes

V1-style

  • Cool VL Viewer updated as follows: Stable version to 1.26.16.10 and Experimental branch to 1.26.17.8, both on January 30th (release notes).

Mobile / Other Clients

  • Group Tools updated to version 2.2.36.5 on January 27 – no release notes available.

Additional TPV Resources

Related Links

SL project updates 16 4/2: TPVD meeting

High Water; Inara Pey, January 2016, on Flickr High Water (Flickr) – blog post

The following notes are taken from the TPV Developer (TPVD) meeting held on Friday, January 29th, 2016. At the time of the meeting, Second Life was experience voice issues, and so the meeting was held in text. However, the meeting was still recorded and is available here. The following notes have been taken from the chat log of the meeting.

Server Deployments – Recap

As always, check the server deployment thread for the latest updates.

On Tuesday, January 26th, the Main (SLS) channel received server maintenance package 16.01.16.310114, previously deployed to the three RC channels, comprising a simulator crash fix and feature request OBJECT_REZZER_KEY) for llGetObjectDetails(), which returns the parent_id (object or avatar) of any task in the region. The function only works for those objects rezzed in-world after the code deployment (objects in-world prior to deployment will return NULL_KEY).

On Wednesday, January 27th, the three RC channels all received a new server maintenance package,16.01.21.310177, comprising Internal simulator fixes and a fix for BUG-1313 “LSL llSetPos in root prim of attachment behaves differently at high altitudes – viewer does not show updates”, which can cause attachments to fail to update correctly at altitudes over approximately 1500 metres.

SL Viewer Updates

HTTP / Vivox

The HTTP / Vivox RC updated to version 4.0.2.310349 on Wednesday, January 27th, which sees the addition of MAINT-5977, “Create a MailDrop event pump”  to the list of resolved issues, and the removal of MAINT-6055, “[corehttp] Mac – voice does not stay connected on resume from sleep”.

Quick Graphics

The Quick Graphics RC viewer (currently version 4.0.2.310127, dated January 20th), is getting some fixes to more accurately account for Materials, and possibly some other tweaks to how Avatar Complexity is calculated. The update should be appearing in the release channel soon.

One problem yet to be fixed within this viewer is an issue whereby avatars will still appear as solid colour jelly babies even when the Avatar Complexity slider in the viewer is set to “no limit” (which in theory should render all avatars normally). Commenting on whether or not this will be fixed, Oz noted:

The problem with those cases is that there are 2 more factors that go into making the avatar a coloured impostor, and they’re not obvious enough. We will probably change the thresholds on those, and maybe make the response to them different somehow.

When asked if those who have suitable systems will have the means to disable Avatar Complexity from running in their viewer (i.e. never see jelly babies unless the capability is expressly re-enabled) should the above issue not be resolved, Oz indicated this is a possibility, but is still to be decided.

Maintenance RC

A further Maintenance RC viewer is on the horizon, with what is described as a “nice set of fixes”. This should also be appearing in the release channel in the near future.

Project Viewers

The Project Bento viewer continues to be worked on, and the Lab is trying to move things towards a “final” (for this phase of the work) selection of additional bones – see my separate report on the Bento project for details.

Work is all under way in updating the Oculus Rift project viewer, with an update expected in the near future. The indication is that this will be built to the 1.x SDK. Oz also indicated that the Lab is potentially looking at how many alternative HMDs they might be able to support with the viewer, including “taking a whack” at Google Cardboard support.

64-bit Viewer Builds

As noted in my last TPVD update, the Lab is starting work on 64-bit versions of their Mac and windows viewers. There is no time frame as to when the first project / TC versions might appear, but it does also mean that there will be a 64-bit viewer Havoc library made available to TPVs in due course. However, this may take a while to appear.

Mac Builds

Currently, the Lab is using OS X 10.10.5 and Xcode 7.x for Mac builds, but are working to resolve a cmake file issue in order to build on OS X 10.11.2 or greater. This requires the Lab to re-arrange the order in which the current build tests are run to ensure the required libraries can be located as the integration tests can be successfully run.

Vivox Exploits

There is still concern over Vivox voice exploits being employed by some users. One example of this is a user located on one region being able to listen in on conversations on another region without showing up on active speakers list for that region.

The problem here is that the weaknesses allowing these types of exploits tend to be within the code package supplied by Vivox, and over which LL has no direct control. They therefore require action on Vivox’s part to fix them. This is something Oz pointed out at the TPVD meeting, before going on to note that the Lab will continue to work with Vivox to get things corrected.

Other Items

Older Viewers

There are a number of changes which are being implemented throughout 2016 which will make older versions of viewers increasingly obsolete. These include further inventory improvements and the deprecation of outdated inventory messages which will impact older viewers and, most notably the switch to TLS 1.2, which is already available in the current release of the official viewer (and those TPVs adopting the CEF code base from the Lab).

As I noted (via a comment from Oz) in my last TPVD meeting report for 2015,  this switch-over is being driven out of compliance requirements, rather than for any technical reason. However, what it does mean that once it occurs – mostly likely in the spring – any viewer which does not support TLS 1.2 will be unable to carry out any interactions with the SL Cashier or anything that involves money, as there will be no back-end support.

Third-Party Viewer Releases

  • Catznip updated to release R10.0 for Windows only (at present) on Saturday, January 30th. This release brings Catznip back up to date with more recent code releases from the Lab, and I’ll have a review available shortly. Catznip users should note that R9 will be blocked from mid-February
  • Alchemy will be releasing an update “imminently”
  • Firestorm’s next release continues to look set for around early March.