2016 SL project updates 36 (2): TPV Developer meeting

Yasminia; Inara Pey, September 2016, on Flickr Yasminiablog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, September 9th. The video of that meeting is embedded at the end of this update, and references to it are indicated through the use of time stamps in the paragraphs below. My thanks as always to North for recording and providing it.

This is not intended to be a transcript of the entire meeting, which featured discussions of some situations specific to individual region rather than SL as a whole. However, key discussion points have hopefully been highlighted.

Server Deployments

There was no main (SLS) channel deployment on Tuesday, September 6th.  On Wednesday, September 7th, all three RCs received the same new server maintenance package, defined as containing “minor internal logging changes” which may help with some of the problems occasionally seen with estate bans; at a minimum the Lab will be able to gather more information on them.

SL Viewer

VLC Media Plugin RC

[00:12] It is anticipated that this viewer (version 4.1.1.318504, dated August 15th at the time of writing) will be updated in the early part of week #37. The update had been expected in week #36, but bug fixing slowed progress. In addition, the new version of the viewer will include changes for exception handling in the viewer intended to ensure exceptions are better handled and recorded. These may not prevent crashes occurring, but should provide the Lab with better data on the exception throws and catches. Overall, they are describes as “fairly small, widespread changes” to the viewer code.

Visual Outfits Browser

[01:26]  The Visual Outfits Browser release candidate was further updated on Friday, September 9th, to version 4.0.8.319463,which should address some bugs, and the crash rate will be under observation with this update.

64-Bit Viewers

[03:08] Progressing continuing on the 64-bit Mac and Windows viewers, and the hope is that a project viewer will be arriving “soon”.

Project Bento

[01:26] My update on the most recent user group meeting is available, in which the viewer’s progress to RC in discussed. At the TPVD meeting, Oz indicated a hope the RC version of the viewer will be appearing some time in the next fortnight. This means that the Bento code will then be officially available for TPVs to adopt.

Windows 10 OpenGL Issue

[03:48] On September 6th, and following Whirly Fizzle’s pointer, I blogged about the Windows 10 / OpenGL issue which is affecting some Second Life users (as well as affecting a number of OpenGL games) – see also BUG-37795. Commenting on this at the TPVD meeting, Oz Linden said:

We are trying to work with Microsoft to find out what the genesis of that problem is … we didn’t do anything, so I’m not sure that we’re going to be able to fix it without help. The fact that it’s not just us that’s affected, is our best hope for getting a fix.

Voice Fixes

[04:50] The Voice changes mentioned in recent TPV Development meetings are not yet ready for release. There is at least one bug in handling Voice fade with distance which needs to be addressed by Vivox, which may take time for them to do. There is also no immediate push to deploy the new server-side Voice code currently on Aditi to the main grid. These changes don’t add any new features, being geared more for future changes to Voice than dealing with current problems, and as such may not be deployed until there is need for them.

New Family of LSL Functions

[07:27] A new family of LSL functions which it is hoped will please scripters. No details on what these are has been provided, pending final QA and testing via Aditi, so they may be appearing “real soon now”.  It is anticipated that an official blog post will mark the availability of the functions.

Other Items

  • [13:10] Alpha Masking Issues: This is a long-standing issue whereby alpha masking “fails” when ALM isn’t enabled in the viewer, leading to unattractive visual issues – see BUG-4357 for details.  This is something which fell off of the Lab’s radar, but they will now see if they can assign someone to look at the problem.
Alpha masking failure on attachments under ALM
Alpha masking failure on attachments under ALM. Credit: Whirly Fizzle
  • [14:44] Increasing the number of allowed attachments: project Bento sees an increase in the number of allowed attachment points on the avatar skeleton. However, the maximum number of attachments which can be worn at any one time remains 38, as any higher number starts to impact performance and stability, particularly with region crossings
  • [20:34] Ghosted attachments on region crossings: there are a number of bug reports on this (e.g. BUG-7761), and more than one bug may be at work (one causing items to become ghosted another causing them to revert, etc) on a region crossing (physical or teleport), which may or may not be linked to wearing multiple individual attachments at the same attach point. The Lab will be making further efforts to investigate issues
  • [27:00] E-mail changes: the Lab is making a series of change to improve the handling of outgoing e-mails from their systems (e.g. off-line e-mails for IMs, etc). The first of this is improving how users verify their e-mail address, which will be followed by further improvements, including only sending e-mails to addresses which have been verified. These changes will again be blogged about when implemented
  • Suppressing Avatar Complexity Notifications: the Lab may be looking at an easier way to suppress the avatar complexity notifications displayed in the top right corner of the viewer window than by using a debug option.

Project Bento User Group update 25 with audio

Bento: extending the avatar skeleton
Bento: extending the avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, September 8th 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.

RC Viewer Release

It is still hoped the Bento viewer will move to RC status soon. The main reluctance with pushing it further is to give people enough time for final testing with the majority of Avastar issues now hopefully resolved (see below). There are currently no major changes to the viewer being planned by the Lab, with the possible exception of the proof-of-concept idea for locking a mesh against slider changes.

Proof of Concept: Locking a Mesh Against Slider Changes

There have been discussions about possibly adding the ability to override the scale as well as position for joints in uploaded mesh models. A joint with both position and scale overrides would be effectively “slider-proof” – no sliders that affect the joint would have any effect on the model. This may be useful for content creators who want to control their avatar mesh shape exactly, without being affected by the standard customization options.

The Lab has now issued a proof-of-concept version of the Bento viewer for testing.  Depending on feedback it may or may not make it into the final version of the viewer. In releasing the proof-of-concept. there are also some notes on the forum from Vir on using this version of the viewer.

Note that this option doesn’t include the ability to enable / disable things on a per joint basis, which is unlikely to happen within the remaining Bento time frame. The idea is to try to provide something that s useful, but doesn’t involve a lot of changes to the UI. The Lab is interested in any feedback on this approach (via the Bento forum thread).

Collision Volumes

Vir presented a forum post on collision volumes and the operations supported for them (contrary to the name, collision volumes are not related to the physics of avatars – all such calculations are carried out on the back-end using a simplified representation of the avatar and do not include the avatar skeleton). Vir indicates that support for animating collision volumes is available on all versions of the viewer, including Bento, but whether or not it is a good idea to do so depends on what is trying to be achieved, noting the following use-cases:

  • Raycasting: collision volumes are used to detect an avatar under the mouse pointer. You can see this in drag-and-drop – try dragging a folder of clothing onto yourself. The drag will succeed if the spot you drag to is occupied by a collision volume
  • Animations with constraints: animations can include constraint information that causes the animation to respond to the location of body parts (hands on hips, resting hand on legs when sitting, etc). The collision volumes are used to determine these constraint locations.
  • Fitted mesh: suitably rigged meshes can use the collision volumes to scale with the avatar shape.

He also offered some guidelines for using collision volumes both in the post and during the meeting, including using them in the creating animations with constraints. Matrice requested anyone doing the latter if they could pass information to him on how they are doing this, as documentation is lacking.

Avastar 2 Updates

Avastar 2 Alpha 7 is available, which should resolve major issues with joint positions. The core updates in this version are:

  • All the related Appearance sliders, for human characters as well as for non human characters. Avastar now behaves just like any Second Life viewer, giving true “what you see is what you get character editing in Blender
  • Mesh eyes now behave exactly in the same way as the system eyes, including scaling with the eye size slider.

Medhue Simoni has produced an instructional video on updating from the “old” Bento rig version to the new rig version in Avastar.

Matrice Laville offered some feedback on the video, concerning some upcoming changes to Avastar.

Matrice also noted that there are a couple of issues which either have a fix awaiting release, or being investigated, which are related to jaw issues and scaling (below).

Jaw Issues And Scaling

Teager reports continued problems with her horse avatar, specifically with the teeth showing as a result of the lower lip not aligning correctly with the upper lip. Testing had led her to believe the problem might be related to scale on one of the bones. Matrice confirmed that there is a scaling issue, together with a peculiarity  in the way Blender works and applying scale within Avastar and issues of parenting / unparenting meshes which can lead to problems. He therefore recommends the best option at present is to ensuring the scaling on a bone in a mesh is always 1 while the problem is investigated.

In addition, Matrice indicated that he has added an option to Avastar to allow the export of all parent bones of each weighted bone, rather than just relying on the Avastar optimising which exported only weighted bones and ignoring any intervening bones. This option will be appearing in the next release of Avastar 2.

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

2016 SL project updates 36 (1): server, viewer

Little Yoshiwara
Little Yoshiwarablog post

Server Deployments

There was no main (SLS) channel deployment on Tuesday, September 6th.  On Wednesday, September 7th, all three RCs received the same new server maintenance package, defined as containing “minor internal logging changes”.

Commenting on the update at the Simulator User Group meeting on Tuesday, September 6th, Simon Linden indicated the updates might help with some of the problems occasionally seen with estate bans; at a minimum the Lab will be able to gather more information on them.

SL Viewer

There have been no significant changes to the SL viewer channels since the end of week #35. A further RC update to the VLC viewer had been expected following comments at the August 27th TPV Developer meeting, but has yet to materialise. As such, this leasing the viewer channels as follows:

  • Current Release version: 4.0.7.318301 (dated August 8), promoted August 11 – 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):
    • Visual Outfit Browser viewer,  version 4.0.8.319143, dated August 30 – ability to preview images of outfits in the Appearance floater
    • VLC Media Plugin Viewer RC, version 4.1.1.318504, dated August 15 – replaces the QuickTime media plugin for the Windows viewer with one based on LibVLC
  • Project viewers:
    • Project Bento (avatar skeleton extensions), version 5.0.0.318969, dated August 25 – avatar vertical position update; SLM files are by default not created or used; show bones display uses colours differently; animation of collision volumes fixed
  • 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.

Other Items

Windows 10 Performance Issues Due to KB3176938

As noted in BUG-37795 and my related article, some windows 10 users are experiencing issues after installing the Microsoft Windows 10 Cumulative Update KB3176938, with reduced FPS after tabbing between other applications they may be running and a Second Life viewer. The issue appears to be related to how Windows 10 handles OpenGL. Linden Lab are apparently going to (/already have) contact(ed) Microsoft on the problem, which also affects a number of PC games. Please refer to the JIRA for further information.

SL Wiki

The SL wiki remains closed for user editing.

2016 SL project updates 35 (1): server, viewer

Crystal Gardens; Inara Pey, August 2016, on Flickr Crystal Gardensblog post

Server Deployments

There are no scheduled deployment for week #35. If you have a region you believe is experiencing issues, the advice is to contact support and request a restart or, for specific issues, file a bug report.

It is expected that the current dearth of simulator deployments will be coming to an end in the near future, as the current round of infrastructure / operating system updates comes to an end and the summer vacation season winds down.

SL Viewer

As expected, the Visual Outfits browser RC viewer was updated to version 4.0.8.319143 on Tuesday, August 30th, largely to correct an elevated crashed rate, as reported in my last TPV Developer meeting update. The VLC Media plugin view is also expected to receive a further RC update for the same reason. Until it does, the current list of the remaining official viewers remains as:

  • Current Release version 4.0.7.318301, dated August 8th promoted August 11th – formerly the Maintenance RC viewer
  • Release Candidate viewers (refer to my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • VLC Media Plugin RC viewer, version 4.1.1.318504, dated August 15th – replaces the QuickTime media plugin for the Windows version of the viewer with one based on LibVLC
  • Project viewers:
    • Project Bento (avatar skeleton extensions), version 5.0.0.318969, dated August 25th – final updates and tweaks prior to a move to RC status
  • 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 Wiki

As noted under a separate article, the SL wiki remains locked for general editing by users.

2016 SL project updates 34 (2): TPV Developer meeting

Arranmore; Inara Pey, August 2016, on Flickr Arranmoreblog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, August 25th. The video of that meeting is embedded at the end of this update, and references to it are indicated through the use of time stamps in the paragraphs below. My thanks as always to North for recording and providing it.

This is not intended to be a transcript of the entire meeting, which featured discussions of some situations specific to individual region rather than SL as a whole. However, key discussion points have hopefully been highlighted.

Server Deployments

There were no scheduled deployments for week #34.

SL Viewer

Release Candidates

[00:15] Both of the current release candidates – the VLC Media Plugin replacement for Windows and the Visual Outfits Browser viewer, have elevated crash rates. Each is liable to receive a further RC update in week #35 (week commencing Monday, August 29th).

[00:53] There will be a new Maintenance RC viewer appearing as well.

64-bit Viewer

[00:58] Progress is being made on the 64-bit versions of the viewer, and these are expected to surface (Windows and Mac) as project viewer quite soon.

Bento Project Viewer

As noted in my Bento update #24, the Bento project viewer was issued in what is hoped will be the final project viewer iteration before it progressed to Release Candidate status. Version 5.0.0.318969, released on August 25th, includes the following updates among its changes:

  • The latest viewer updates body size less frequently (starting / stopping an animation) so vertical height repositioning should be less jarring.
  • During mesh upload, SLM files are by default not created and not used. This can still be overridden by changing the debug setting MeshImportUseSLM
  • The show bones display has been modified to use colors 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.

Voice Updates

[02:17] The voice updates are progressing, but is not expected to appear in a project viewer soon due to some remaining issues which need to be resolved.

[03:56] There are some server-side voice updates currently on Aditi undergoing test. When these will be moved to the main grid is subject to further discussions with Vivox, which are due to take place in the forthcoming week. When these updates are enabled on the main grid, they will be gird-wide.

[33:10] Oz offered a reminder that in-world / region issues are unlikely to be related to / cause Voice issues in the majority of cases where the latter are being experienced, as the only way the simulator and its host server are involved in voice is when a user is initially connecting to Voice (the simulator provides the channel addresses to the viewer). After this, all communications are between the viewer (via the SLVoice plugin and the Vivox voice servers.

[34:10] As a part of the ongoing work to better monitor and control Voice, the Lab will be introducing improved logging on exactly what the viewer is doing when connecting to Voice.

Exceptions Handling, etc

[02:44] As noted at the last TPV Developer meeting, the Lab is going to be making some source code changes, including a clean-up of asserts in the viewer and how exceptions are handled (the latter to try to prevent the viewer crashing as a result of encountering an exception), and further rendering pipeline clean-up. These will be showing up in a project viewer at some point in the not-too-distant future.

Accessing Crowded Regions & Increasing Max Number of Users Per Region

[08:30] Trying to access a crowded region for an event is often a matter of pot luck. when full, you have no real choice but to get re-trying via teleport or crossing  a region boundary. As a result, the Lab has frequently been asked to add some form of access queuing system to regions.

While a queuing system has been considered, the Lab feels it brings with it may questions around how it work to present an optimal solution for users. As such, while they are open to proposals for a queuing system, optimally, they’d rather work towards trying to increase the number of avatars regions can support. This is something also being looked at from time to time (see my May 27th, 2015 SL project update as an example), although there is no work actively being carried out on it right now.

Abuse Report Categories

[17:00] As indicated in my last TPV Developer meeting update, the Lab will be introducing a new region capability to handle abuse report categories. Once implemented, TPVs will be able to adopt the use of this capability, rather than having abuse categories held within the viewer, where they may get out-of-step with the categories supported by the Lab.

There is also a reminder in the meeting that abuse situations should be reported ASAP after the event, so that the Lab can refer to the related simulator logs during investigations, and that there is a L$10,000 bounty payable on SEC JIRAs which identify actual or potential abuse vectors  / exploits which the Lab can act upon to close.

AMD Graphics Issues

[26:10] Many users with AMD GPU (notably the RX400 series) have been experiencing glitches and “tears” appearing in their world view  – see BUG-20057 and FIRE-16829. User Hurana Ugajin reports she is having a dialogue with AMD on the issue, and a solution may be forthcoming soon. When / if available, a request has been to post it to the SL technology forum.

Region Resource Allocations

[36:19] A question is asked on whether it would be possible to allocate simulator resources (script usage, etc), on the same basis as object land impact – thus allowing resources to be assigned / capped by parcel size, etc.

The Lab does not believe this can be done without significant changes to SL, as a lot of the underpinning resources are not location-based (e.g. scripts are run on the basis of where they are). Instead, the Lab is focused more on penalising individuals for excessive use of resources (e.g. if you run a script which abuses resources in a region, all your active scripts are throttled, not just the offending script). Such abuses can also be AR’d by those noting them.

Other Items

Aditi Access

[04:42] Some users are apparently being told that in order to access Aditi, they require Payment Information On File (PIOF) and to have completed a tutorial. These are actually part of the requirements to be able to upload mesh. No special requirements are required to access the beta grid other than your user name and password.

There is , however a problem with new user accounts not showing up on Aditi when they should, and a request has to be passed to support to enabled them. This is down to changes in how the Lab is handling account data, which has left Aditi in a state of flux, but a fix for this is in the pipeline.

Account Management

[06:22] The account work mentioned above is part of ongoing back-end work the Lab is carrying out related to personal data is handled and stored even more securely, and help resolve some account management issues. One outcome of this will be a single change to a user’s password will be applied pretty much immediately to both Agni and Aditi.

Large Texture Over-Use

[43:40] A continuing problem in SL is the over-use of large (1024×1024) texture on every surface, no matter how small. While this is a bad content choice, it has been suggested that to discourage this, LL should consider charging differently for different texture sizes. This has been discussed by the Lab, with the admission that given the already low cost for uploads (L$10 per item), there is a certain lack of conviction that introducing a nominal fee scale based on image size will do much to discourage the practice.

Avatar Complexity Calculations

[48:18] As noted at the last TPV Developer meeting, the Lab will be carrying out further refinements in how Avatar Complexity is calculated. A suggestion put forward at this meeting is that as well as having a per avatar limit, if a scene-wide limit could be defined / set. This is viewed as an “interesting” idea.

Project Bento User Group update 24 with audio

Bento: extending the avatar skeleton
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!

Bento Viewer

The Bento project viewer updated on Thursday, August 25th to version 5.0.0.318969. This release includes the following changes / improvements, but please refer to the release notes for the full set of updates.

SLM Files

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

AvaStar Issues

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

Other Items

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.