SL project updates 2017-4/2: Content Creation User Group w/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 26th, 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

  • Potential follow-on projects
  • Modelling for efficient rendering
  • Animations
  • Outfits

Follow-up projects

There has been no further progression on the potential follow-on projects from Bento (see my week #2 Content Creation Group meeting report for details of follow-ups).

  • In terms of the baked texture on mesh idea, the Lab has asked for specific content there “onion” meshes are used – and it has been reiterated this is most of the common mesh bodies and heads
  • There is still some confusion as to what may be causing the animation conflict issue. While it may be that changes will be made to the animation system in the future, as per the suggestions Vir forward previously (see the link above), the solution for now is to try to address the issue at a scripting level to prevent conflicts.

Modelling for Efficient Rendering

Medhue Simoni has been producing a series on the use of Level of Detail (LOD) to help with generating rendering efficient models in Second Life. Part 1 is embedded below, and Part 2 can be found here. A third part will be available soon, and hopefully, he and I will be producing a companion article in this blog once that part is available on-line.

Efficient modelling for Second Life has long been a problem within the platform, and something exacerbated by the arrival of full mesh support. Given this:

  • The Lab is considering revising the rendering cost calculations “at some point” to encourage people to consider more efficient models (e.g. making more use of normal maps to add detail to models where appropriate, rather than rely on always producing an extremely high poly count model).
  • It has been suggested that providing some basic indicators of what might be considered “reasonable” number – poly counts, proportionate scaling of LODs, etc. – for models could be produced, together with videos (by content creators with a solid understanding of the subject and Second Life)  on efficient use of normal and specular maps
Using a normal map to enhance the detail on a low-polygon model
Using a normal map to enhance the detail on a low-polygon model. The image on the left shows a model of some 4 million triangles. The centre image shows a model with just 500 triangles. The image on the right shows the 500-triangle model with a normal map taken from the model on the left applied to it. Credit: Wikipedia

The discussion broadened to cover awareness among content creators as to what actually works and where falsehoods / misunderstanding lie. A cited example in the meeting was that of mesh clothing makers avoiding the use of normal maps because they want their clothing to look the “same” to everyone, even though doing so can severely impact the user experience for those on lower-end system, and thus discourage users from buying their goods.

.BVH Animations and Animation Playback

Animations can be uploaded to Second Life in one of two formats, .ANIM and .BVH. The latter are optimised as a part of the upload process, and this is proving to be a particular problem for Maya users when animating facial expressions. These require finer bone movements in the animation, which the optimisation process is filtering out, requiring Maya users to use exaggerated movements. Blender users can avoid the issue by using .ANIM, which does not pass through any form of optimisation / filtering.

While it is recognised that the thresholds used by the .BVH optimisation / filtering process may not be the best for very small bone movements, there are currently no plans to alter / refine the .BVH uploader. Nor is it really feasible to adjust the thresholds for hand and face bones, as this could have an adverse effect where these bones are re-purposed for other uses (as Bento is intended to allow).

There are two possible workarounds which may help with these issues for anyone using the .BVH format:

  • Swap to using .ANIM files, which do not go through any similar optimisation process. Unfortunately, this isn’t an option for Maya users, as there is current no .ANIM exporter for Maya, although Aura Linden is working on one in her own time, and is hoping to get time in about three weeks to sit down and finish it
  • Alter the frame rate of the animation itself – so rather than creating it at 30 fps, try 15 or 10 fps, depending on the animation.

There was also some confusion over the maximum file size for animations, as per my 2016 week #25 report, this was increased from 120 Kb to 250 Kb in June 2016. The wiki page on SL limits has now been correctly updated to reflect this. It’s also worth noting, as an aside, that animations will be moving to delivery via the CDN network in the future.

There was an extended conversation around Outfits and the Outfits folder. While much of this revolved around the Visual Outfits Browser option for Outfits, a couple of significant items were discussed.

The first was on the subject of saving gestures with outfits. As noted in my Bento update #26 and Bento update #27, gestures cannot be automatically saved with an outfit, but can be manually added as links / copies. However, Medhue Simoni has found a catch: should the outfit ever be re-saved, the gestures are removed. Expect a JIRA soon

A common request for the Outfit system to allow nested folders once more the ability was removed with viewer 2.1 (see VWR-19774), and while it was at the time noted as a possible “priority” item for consideration by the Lab, the topic has only recently again come up in internal conversations as a result of feature request BUG-41826. However, the amount of work involved to make it happen makes it unclear if the request will be accepted.

One request for Outfits which is unlikely to be acted upon, is to have links to other folders in addition to objects. This is seen as even more complex than allowing nested folders within the Outfits hierarchy.

Next Meeting

The Next Content Creation User Group meeting will be on Thursday, February 16th, 2017.

SL project updates 2017-4/1: Server, camera pre-sets, Nvidia issue

Devin, Devin; Inara Pey, January 2017, on FlickrDevinblog post

Server Deployments

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

On Tuesday, January 24th, the Main (SLS) channel was updates with the same server maintenance package deployed to the RC channels during week #3. This includes a partial fix for (non-public) BUG-3286, “Can’t move object” fail notifications (fixes for regions/objects with longer names are pending), together with enhanced server logging and minor internal server enhancements.

There will be no RC deployment on Wednesday, January 25th – but the RC region will be restarted in keeping with the Lab’s new policy of restarting the channels every 2 weeks, regardless of whether or not there is an associated deployment.

The next RC deployment is expected to be week #5 (commencing Monday, 30th January, 2017).

SL Viewer

No changes since my last update. The status of viewers in the pipeline remains thus:

  • Current Release version: 5.0.0.321958, dated December 1st, promoted December 5th, 2016 – formerly the Project Bento RC viewer
  • Release channel cohorts:
    • Maintenance RC viewer, version 5.0.1.322791, dated January 12th
  • Project viewers:
    • Project Alex Ivy (LXIV), 64-bit project viewer, version 5.1.0.501863 for Windows and Mac, dated January 10th
    • 360-degree snapshot viewer, version 4.1.3.321712, dated November 23, 2016 – 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.

Camera Presets

As I noted in a recent TPVD meeting update, Jonathan Yap is working on a code contribution for the official viewer which will allow users to set and save their own preferred camera presets in the viewer.

The idea is that, like the graphics presets functionality Jonathan contributed to the viewer in 2016, users will be able to define their own placements for the SL camera around their avatar (e.g. an over-the-should view, a view from overhead, etc.), which can then be saved and selected / used as required. Jonathan has only recently started on the work – which has an associated feature JIRA, STORM-2145 – but that should hopefully change once various decisions have been made by the Lab.

Nvidia Driver 378.49 + 64-bit Viewer Bug

Nvidia release their 378.49 driver on Tuesday, January 24th, and it can cause an unusual bug / issue with 64-bit viewers. The problem was first noted on Firestorm 5.0.1 (see: FIRE-20774), but I have repro’d it on the Lab’s own 64-bit project viewer (version 5.1.0.501863 at the time of writing) and  on Alchemy 4.0.0 (a crash issue had prevented comprehensive testing on Alchemy 5.0.0 at the time of writing).

The Nvidia 378.49 driver bug which can occur with 64-bit viewers when ALM is disabled, as seen on a 64-bit version of Windows)
The Nvidia 378.49 driver bug which can occur with 64-bit viewers when ALM is disabled

The issue only manifests when Advanced Lighting Model (ALM) is disabled in a 64-bit viewer, and renders the in-world view with an odd blue tinge which almost looks like the blue colour channel is impinging on the red channel. As noted in the Firestorm JIRA, enabling ALM can prevent the issues, as can toggling Glow off when ALM is disabled. See the Firestorm JIRA for workarounds, should you encounter the problem.

How the same scene looks in the same viewer (SL Alex Ivy 64-bit project viewer for Windows, version 5.1.0.501863 at the time of writing)
How the same scene looks in the same viewer (SL Alex Ivy 64-bit project viewer for Windows, version 5.1.0.501863 at the time of writing)

The issue was raised at the Simulator User Group meeting on Tuesday, January 24th, a JIRA for the issue on the Lab’s 64-bit project viewer is available on BUG-41294.

 

SL project updates 2017-3/2: texture uploads, Content Creation UG

An Uncertain Destiny, Mystic; Inara Pey, January 2017, on FlickrAn Uncertain Destinyblog post

Server Deployments – Recap

  • The Main (SLS) channel was restarted on Tuesday, 17th January, but there was no associated code deployment
  • A new server maintenance package was deployed to the RC channels on Wednesday, January 18th, comprising a partial fix for (non-public) BUG-3286, “Can’t move object” fail notifications (fixes for regions/objects with longer names are pending) + internal server and logging enhancements

SL Viewer

No further updates to the current viewer pipeline list.

Texture Uploads and First Time Rendering

The Lab has been making some hardware (/communication?) changes to the texture upload / delivery mechanism (e.g. both the handling of texture uploads from the viewer to the asset system, and then from the asset system back out to the viewer via the CDN). When deployed to the main grid, these should see improvements in the uploading of new textures and their appearance on in-world objects, whether uploaded individually or in bulk (e.g. hopefully little / no grey panels in new texture upload previews when viewing them from inventory, and few / no grey object faces when uploading a texture and then immediately applying it to an object face).

Content Creation User Group

Summary of General Points

  • No further movement on the potential “Bento follow-up” project ideas (see my Content Creation UG notes for week #2).
  • The next Avastar release is in advanced testing, with a potential release around late February / March, but will include devkit support and a large number of bug fixes.
  • Appearance sliders:
    • A question was asked whether the slider system could be updated to allow for easier scaling for smaller avatars utilising Bento (as not all Bento bones are linked to sliders). Vir noted this is unlikely, as it would require a change for the base slider scaling which could break existing avatars.
    • However, Vir noted that suggestions to offer new sliders for sizing things like wings and tales have been discussed at the Lab, but nothing has as yet been decided.

Pain Points / Blockers to Bento Content

A general question thrown out by Simon Linden was whether people are experiencing particular “pain points” in producing Bento content: what they might be waiting for tools-wise or in any other way etc. this quickly spilled out into a much broader discussion on various tools and suggested tutorials. However, core points raised were:

  • Available time, learning to use external tools such as Blender,
  • Waiting on Avastar, plus tutorials, both generic and on using specific tools (e.g. Avastar and Mayastar) – which will hopefully come in time
  • Mention was made of making people more aware of SL-specific areas such as level of detail (LOD), managing physics, LI calculation rules, etc.

It was also noted that possibly having idea of having some for of sample content (e.g. wings, hands), which creators could use as an example / baseline for their own creations, together with a broader selection of documentation / tutorials / videos.

Simon pointed out that in terms of Lab developed tutorials and documentation, there are only limited resources. Many third-parties also produce tutorials (Mehdue Simoni, for example is waiting for the new Avastar to reach release before working on his video tutorials for it).

Others have also put together documentation, but are finding it hard to get that documentation seen heard above the broad range of misinformation on content creation which is  in circulation. Vir has suggested that meaningful documentation and tutorials could be linked to through the SL wiki.

In terms of the wiki, there are a range of resources available for content  creation / Bento:

 

SL project updates 2017-3/1: Server, Viewer

The Hell's Heaven 2.0, Rainbow Ridge; Inara Pey, January 2017, on FlickrThe Hell’s Heaven 2.0blog post

Things are still warming up after the holiday period, so not a lot of fresh news.

Server Deployments

The Main (SLS) channel was restarted on Tuesday, 17th January, although there was no associated deployment. This is in keeping with the Lab’s new policy of restarting the server channels every 2 weeks, whether or not there is an associated code deployment (the RC channels were restarted in week #2).

A new server maintenance package will be deployed to the RC channels on Wednesday, January 18th. This includes a partial fix for (non-public) BUG-3286, “Can’t move object” fail notifications (fixes for regions/objects with longer names are pending), together with enhanced server logging and minor internal server enhancements.

SL Viewer

The viewer pipelines at this point remain unchanged from week #2:

  • Current Release version 5.0.0.321958, dated December 1st, promoted December 5th, 2016 – formerly the Project Bento RC viewer
  • Maintenance RC viewer version 5.0.1.322791, dated January 12th – some 42 fixes and improvements
  • Project viewers:
    • Project Alex Ivy (LXIV), 64-bit project viewer, version 5.1.0.501863 for Windows and Mac, dated January 10th
    • 360-degree snapshot viewer, version 4.1.3.321712, date November 23, 2016 – ability to take 360-degree panoramic images
  • 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.

 

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.

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 Timesblog 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.