SL project updates 2017-2/2: Content Creation User Group with audio

The Content Creation User Group has re-formed out of the Bento User Group, and is held at the Hippotropolis Camp Fire Circle. Imp costumes entirely optional :D .
The Content Creation User Group has re-formed out of the Bento User Group, and is held at the Hippotropolis Campfire Circle. Imp costumes entirely optional 😀 .

The following notes are taken from the Content Creation User Group meeting, held on  Thursday January 12th, 2017 at 1:00pm SLT at the the Hippotropolis Campfire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are available on the Content Creation User Group wiki page.

Core Topics

  • Bento request from Troy Linden.
  • Supplemental animations that run alongside the main animation (e.g., flapping wings while walking).
  • Possible future project – applying baked textures to mesh avatars.

Bento Request From Troy Linden

Troy Linden is preparing a presentation on Project Bento for an upcoming Second Life meeting within Linden Lab in which he plans to review the project, the interactions with content creators, the benefits this brought to the project, etc. In particular, he would like to demonstrate Bento content people are making and impress on LL’s executives how the project has been received, and how things might be followed-up.

To help with this, he is requesting that anyone with glamour shots of Bento avatars, etc., videos of avatars and Bento items  to contact him via IM to discuss and / or send him what they have (troy-at-lindenlab.com).

Supplemental Animations

Introduced in 2013, llSetAnimationOverride() is one of a series of animation commands keyed directly into the server’s animation states, allowing for faster, smoother animation state changes than with AO systems using the older llPlayAnimation() command. However, llSetAnimation() only allows one animation to be played  at a time for any given state, and this can lead to conflicts when trying to run custom animations as well (see BUG-41048 . An example of this is trying to use llSetAnimationOverride() to walk whilst using an animation to flap wings (below), which causes while the walk, set by llSetAnimationOverride(), to freeze in favour of running the wings flapping, as they are also seen as a locomotion animation.

Vir has identified two possible courses of action to deal with this. The first would be to extend llSetAnimationOverride() to allow “supplemental” animations to run alongside the animation states keyed by llSetAnimationOverride(), effectively allowing them to play together. The other would be to provide a means for people to define their own custom animation states (with associated animations) which the simulator would be able to recognise and handle alongside the existing animations states, rather than having the associated animation conflict with the default animation states.

No decision has been made on which route to take, and Vir is putting together a proposal on approaches, which he’ll put forward at a future meeting.

Applying Baked Textures to Mesh Avatars

This would allow the skin and clothing layers (skin, tattoo, under shirt, shirt, etc., “wearables”) to be directly applied to mesh avatars. In theory, this could be done, and could make it easier to do things like match skins between, say a mesh body and a non-mesh head without having to use applier systems. It could in theory even reduce the complexity of mesh avatars, which currently have to be made up of multiple layers (the so-called “onion meshes”).

 

A further benefit would be for non-human avatars a well. Providing the same UV is used across all elements of an avatar, it could allow creators to offer different pelts  / skins for their animal / creature avatars and, if they make their UV maps available to other creators, allow them to produce things like additional skins.

However, there are problems in proceeding this way.The baking service is capped at a limit of 512×512 texture resolution, which would mean a loss of detail trying to “stretch” such textures over a mesh avatar, which would result in the ability potentially being ignored in favour of using the current “onion mesh” and appliers approach.  It might also mean that wearable layers would be used in non-standard ways (e.g. using a “skirt” layer to apply a skin), which could lead to user confusion (“why am I using a skirt to wear a skin?”) – although this could be overcome by adding further wearable types specific for use with avatar meshes to the system.

An alternative would be to increase the texture resolution for the baking service to 1024×1024. While not entirely ruled out, it does carry with it a set of unknowns as well – what would be the back-end resource hit, could it lead to an uptick in texture trashing issues in the viewer, etc.).

Baking Textures on In-World Mesh and prim Surfaces

Part of the above discussion overlapped with the idea of allowing textures to be baked on arbitrary meshes (thus allowing for compositing, etc).

Vir noted that this would be a far more complex project due to the nature of the baking service, and thus would likely not be considered as a part of making changes to how system wearables might be applied to mesh avatars. However, he is interested in seeing feature requests on how this might be done and the benefits it would bring to SL, and a related JIRA – BUG-7486 – is in the process of being re-opened for comments along these lines.

Other Items

The latest version of Avastar is support of Bento is still undergoing testing. Those using it report it is behaving well, so hopefully a realise won’t be too far off.

Alchemy 5.0.0: Bento beta

Alchemy-logoOn Sunday, January 8th, the Alchemy team released a beta version of Alchemy 5.0.0, the first update to the viewer to include support for Project Bento and Avatar Complexity (although no Graphics Presets).

As well as Bento support, version 5.0.0.40120 includes several updates specifically aimed at those with estate management responsibilities, plus a range of bug fixes and improvements from both Linden Lab and the Alchemy Team. In addition, this release includes work that is ongoing to reorganise the UI.

The following is intended to be a general overview of the more visible updates to Alchemy 5.0.0, and a summary of some of the bug fixes.

Project Bento

As almost everyone in SL must be by now aware, Project Bento introduces an enhanced avatar skeleton offering greatly improved support for mesh avatars and rigged mesh attachments. It also includes a set of new attachment points to work with the new joints, although the overall limit of the number of attachments you can wear at any one time remains 38 (including HUDs).

Most of all of this work is entirely under-the-hood. However, there are two additions to the avatar right-click context menu for both your own and other avatars: Reset Skeleton and Reset Skeleton And Animations which should be noted. In Alchemy 5.0.0, they can be found in the Appearance sub-menu of the right-click avatar context menu.

They have been added because sometimes, when changing between one mesh avatar and another, the basic SL avatar can become deformed, resulting in it looking squished, stretched, caught between two looks, or something else.

The reset skeleton options should “fix” your own or other avatars which appear distorted in your view after changing looks / shape – note both options only affect your view of the avatar in question, it does not affect how others may see the same avatar
The reset skeleton options should “fix” your own or other avatars which appear distorted in your view after changing looks / shape – note both options only affect your view of the avatar in question, it does not affect how others may see the same avatar

The problem is generally the result of race conditions when the avatar’s appearance is being updated, and both of these buttons are intended to correct the problem  – the option to reset animations as well is intended to fix deformations which may be due to animations also kicking-in incorrectly / at the wrong time.

Further information on Bento (if needed) can be found via the following links:

Avatar Complexity

To be honest, I thought this had been part of Alchemy already, but looking through my past reviews and Alchemy’s release notes, I can’t find evidence of it being mentioned, and the 4.0.0.37571 release doesn’t include the Avatar Complexity options. Anyway, assuming I’m not going bonkers and thus repeating myself, here’s a rapid breakdown – please refer to my Avatar Complexity release article for in-depth info, if required.

, Avatar Complexity (aka Jelly Dolls), is in short a means to reduce the rendering load placed on your computer in having to render all the avatars around you in detail. Instead, you can set a rendering limit (aka Maximum Complexity) in the viewer. Any avatar exceeding this limit won’t be rendered in full – unless you opt otherwise – but will instead be rendered as a solid colour (aka Jelly Doll).

The revised Preferences > Graphics tab, including the Maximum Complexity slider. Setting this to high values will render avatars which may place additional rendering load on your computer, slowing your SL experience, to be fully rendered. Lowering it will cause such avatars to be rendered as solid colours, reducing their render load
The revised Preferences > Graphics tab, including the Maximum Complexity slider. Setting this to high values will render avatars which may place additional rendering load on your computer, slowing your SL experience, to be fully rendered. Lowering it will cause such avatars to be rendered as solid colours, reducing their render load on your system

With Alchemy, this means that The Preferences > Graphics tab adopts the official viewer’s approach, displaying frequently used options within it, and moving the more advanced options to a separate Advanced Graphics Preferences floater.

The newer Advanced Graphics Settings floater (accessed via the Advanced Settings.... button in the Preferences > Graphics tab
The newer Advanced Graphics Settings floater (accessed via the Advanced Settings…. button in the Preferences > Graphics tab

Avatar Complexity includes some additional capabilities / options

  • Every time you change your appearance, and thus your avatar complexity, your current complexity value will be briefly displayed in the top right corner of the viewer window
  • You can display information on your own and other avatar’s complexity by going to the Advanced menu (CTRL-ALT-D to display it, if required) and selecting Performance Tools > Show Avatar Complexity Information
  • Your own avatar will always be fully rendered in your own view
  • Maximum Complexity has a No Limit setting. It is not recommended you use this. If you wish to avoid seeing the vast majority of avatars around you as Jelly Dolls, set the slider to a high value. Setting it to No Limit can leave you vulnerable to graphics crashers.
Use the avatar right-click context menu and the Visibility options to select how another avatar is rendered during your current log-in session
Use the avatar right-click context menu and the Visibility options to select how another avatar is rendered during your current log-in session

You can also alter how you see other avatars around you without altering your Maximum complexity setting. To this, right-click on an avatar to display the context menu. Go to Visibility to display the sub-menu. This has three options:

  • Render Normally – will render the avatar in accordance with your Maximum Complexity setting
  • Render Fully – will render them fully, no matter what your complexity setting
  • Do Not Render – will render them as a grey 3D imposter, no matter what your complexity setting.

Not that Render Fully and Do not Render only apply to your current session. If you re-log the avatar in question will once again be rendered in accordance with your Maximum Complexity settings.

Continue reading “Alchemy 5.0.0: Bento beta” →

SL project updates 2017-2/1: 64-bit viewer and Monday Blues

Nagare no Shimajima, Restless Times; Inara Pey, January 2017, on FlickrNagare no Shimajima, Restless Times – blog post

Server Deployments

There are no planned deployments for the week. However, all servers on the three RC regions will be subject to a rolling restart. This is in accordance with the Lab’s new policy of restarting channels every fortnight, whether or not there is an associated deployment. As the Main (SLS) channel underwent a restart on Tuesday, January third, server on this channel were not restarted this week.

SL Viewer

Project Alex Ivy

The 64-bit versions of the official viewer arrived in project viewer form on Tuesday, January 10th, under the code name Project Alex Ivy – which I take to be a reference to 64 (LXIV being 64 in Roman numerals, hence aLeX IVy).

The viewer, version 5.1.0.501863, has been built using the newly updated and upgraded libraries and build process the Lab has been putting together, which will also be used for 32-bit Windows builds. Thus, the project viewer is available in three flavours:

  • 64-bit Mac
  • 64-bit Windows
  • 32-bit Windows.

There is no Linux viewer as yet, but the Lab has indicated it is their intention to provide one, although TPVs and open-source contributors are likely to still be asked to help with its ongoing support.

Additionally, the following points, as specified in the release notes, should be underlined (although please ensure you read the release notes in full if you intend to try this viewer:

  • The Mac build has several known limitations:
    • There is currently no Mac Havok build,so pathfinding paths cannot be visualised, and it may not be possible to upload mesh assets.
    • Video media using QuickTime does not play.
  • The 64-bit version will not run on Windows 10 systems with Intel HD 2000/3000 GPUs and may not run on other systems that do not have GPUs explicitly supporting Windows 10.

These shortfalls will be addressed as the viewer progresses through the project and release candidate phases to release status in the next weeks / months. Once released, it will signal the end of the 32-bit MAC version of the viewer (and possibly the 32-bit Linux version). The Windows version will continue to be available as a 32-bit build as well as having the new 64-build available.

Also, note that this viewer doesn’t include any functional updates / changes to the existing viewer.

Remaining Viewers Pipelines

Outside of the 64-bit project viewer, the various viewer pipelines remain as my last SL project update:

  • Current Release version: 5.0.0.321958, dated December 1st, promoted December 5th – formerly the Project Bento RC viewer
  • Maintenance RC viewer, version 5.0.1.322513, dated December 21st – some 42 fixes and improvements + Bento support
  • 360-degree snapshot project 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.

Monday Outage

On Monday, January 9th, many users were hit with significant issues, with many finding themselves unable to log-in, or being disconnected from the simulators and unable to log back in. On Tuesday, January 10th, April Linden from the Ops team posted another of her excellent post-mortem blog posts on what happened, and I recommend it as a worthwhile and informative read.

In essence a failure within a third-party provider used by the Lab failed to trigger the expected automatic switch-over of connections for all users accessing Second Life through that provider. As a result, those users were disconnected from the service, and due to the volume of people trying to re-connect, couple (I assume with those simply trying to log in, unaware of problems) generated a backlog, forcing the Lab to bring additional log-in servers on-line.

Once again, April does an excellent job in explaining things – revealing more of the complexities of SL in the process (which, as I’ve oft said in the past, goes well beyond just the simulator servers), and also offers apologies for the Monday problems.

2017 viewer release summaries: week 1

Updates for the week ending Sunday, January 8th

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: 5.0.0.321958, dated December 1, promoted December 5 (no change) – formerly the Project Bento 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):
    • No updates.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V5-style

  • Alchemy updated to version 5.0.0.40120 on January 8th – Bento + estate manager support (release notes)

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

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 “Behind the scenes with Bento in Second Life” →

SL project updates 2017-1/1: general status

A Painter's Link, Salomon Beach; Inara Pey, December 2016, on Flickr A Painter’s Link, Salomon Beach (closing January 6th, don’t miss!) – blog post

Server Deployments

The RC channels were re-started on December 28th, 2016, to the consternation of some on the Server thread of the technology forum as there was no accompanying update. A rolling restart of the Main (SLS) occurred on Tuesday, January 3rd, 2017, again with further consternation on the thread.

However, as a quick check through the viewer can reveal, both of these operations were simply restarts to keep things running (reasonably) smoothly, as shown by the server version numbers remaining unchanged when viewed in the viewer (Help > About viewer).

No restart is anticipated for the RC channels on Wednesday, January 4th, given they were restarted at the end of December. The usual run of deployments + restarts are expected to resume in week #2 (week commencing Monday, January 9th) with the three RC channels.

SL Viewer

With the holiday break, there has been no movement with the official viewer, with four currently occupying the various pipelines:

  • Current Release version: 5.0.0.321958, dated December 1st, promoted December 5th – formerly the Project Bento RC viewer
  • Maintenance RC viewer, version 5.0.1.322513, dated December 21st – some 42 fixes and improvements + Bento support
  • 360-degree snapshot project 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.

It had been indicated that the Lab might get a project version of their 64-bit viewer out prior to the holiday break, but this proved not to be the case.