The following notes are primarily taken from the Content Creation User Group (CCUG) meeting, held on Thursday, March 29th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.
There is no video to accompany this update, notes are taken from my own audio recording of the meeting.
The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.
Vir now has a proposed revised land impact / tri count formula and test plan for Animesh. This will be going to QA, and if all goes well, the new formulas will be deployed on the Aditi Animesh test regions ready for public testing. No end-date for public testing on Aditi has been defined – the Lab want to ensure as many as are interested have to opportunity to test the new formula. Animesh attachment will remain limited to one per avatar, at least for the time being.
It is likely that server-side support for Animesh will reach the Main grid ahead of the project viewer reaching release candidate status – although this still won’t be for a while.
LODs and Streaming Costs
How Animesh Level of Detail (LOD) is handled is still being tweaked. Currently, Animesh objects sit between in-world objects and avatars in terms of the way their LODs are handled / swapped. The Lab is looking to adjust this, so that Animesh LODs are more consistently handled as they would be for in-world objects.
The broad plan is – for Animesh only – that the lower LODs will not affect streaming costs so long as they are not disproportionately large. Providing they get smaller by at least a factor of approximately 2 as they go down to the courser LODS, they will not impact streaming costs.
Note this work is not part of Project Arctan, which may lead to further changes in costs associated with objects at some point in the future – see below for more.
This is the code-name for the project to re-evaluate object and avatar rendering costs (e.g. Land Impact and avatar ARC), led by Graham Linden as a part of the overall rendering system work. The aim of is to have the costs assigned to objects and avatar more accurately reflect the impact they have on people’s viewer performance.
The hope is that overall, by making a careful set of adjustments, not only can client-side performance be improved, but creators can be given positive incentives to build more performant content (a problem currently being that providing good LOD models – high, medium, low and very low – for mesh content can actually penalise a creator in terms of upload costs / Land Impact, encouraging them to skip doing so).
This project is still in the early stages, and the Lab is fully aware of the risks and concerns involved in potentially making changes to things like Land Impact (e.g. undesired object returns), and so are approaching the work cautiously. Right now, data is being gathered and internal comparative testing is being tried. There are no plans to make any kind of changes in the immediate future. When changes do start to be made, they will be done so carefully to avoid disruption, and users will be appraised of what is happening and when.
Bakes on Mesh
Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads.
This work does not include normal or specular map support, as these are not part of the existing baking service.
It is important to note that this project is still in its preliminary stages. Any release of a project viewer doesn’t mark the end of the project, but rather the start of initial testing and an opportunity for creators to have input into the project.
The project viewer is still with QA with a couple of outstanding JIRAs awaiting resolution. The hope is that it will be making a public appearance soon.
When issued, this viewer should work anywhere, as it doesn’t require simulator changes. However, only those using the project viewer will see things as intended. Anyone on a viewer without the Bakes on Mesh updates will see placeholder textures, rather than the intended baked textures, on avatars trying the Bakes on Mesh capability.
Bakes on Mesh will essentially use the three avatar elements used by the baking service – head, upper body, lower body, eyes, hair, skirt), and applies clothing bakes for those elements to specific mesh faces, effectively “hiding” the corresponding base mesh region. This means for example, a head bake can be applied to a mesh head, an upper body to the mesh upper body faces, etc. It does not at this point allow for more finely tuned applications – such as an individual jacket layer, or just to the hands.
Environment Enhancement Project (EEP)
A set of environmental enhancements involving simulator and viewer changes, and includes some infrastructure updates.
Rider is still engaged on infrastructure work, which he hopes to complete Soon TM. Once that is done, he’ll complete the work on assets in inventory.
Custom Pivot Points
Work is being carried out to provide custom pivot points for mesh objects (see BUG-37617). This will most likely appear in a Maintenance RC viewer, once ready. The exactly implementation details weren’t clear at the meeting; it’s believed the data for the pivot point is coming from the corresponding data for the highest LOD in the uploaded .DAE file. However, the pivot point must be inside the bounding box of the object, and remains the centre of the object. Steps will also be taken to prevent pivot points placed outside of the bounding box simply causing the bounding box to increase in size (as did happen in a mesh uploader error), as this tends to both increase the objects LI by a factor of at least 2, and break the associated LODs.
Work continues on trying to improve texture caching in the viewer – which has already been an educational process for the Lab. There is nothing on the horizon yet in terms of updates for the viewer, as the work is not seen as a high priority when compared to other projects. However, there is a belief that there is room for “dramatic improvement” in the way textures are managed.
The question was asked if there are any plans to re-work the Second Life permissions system to be more supply chain driven, as is planned for Sansar. Short answer: there are no current plans to overhaul the permissions system simply because it is so complex. Currently the only thing being considered with permissions is extending them to allow scripted permission changes (formerly known as mod keys), which are seen as important for enhancing Animesh capabilities. However, here are current no time frame in when / if these will be implemented.
Firestorm RenderVolumeLODFactor Setting / Object LOD Confusion
Some appear confused by the recent RenderVolumeLODFactor behaviour change (see here) and what it is doing, believing it is part of a change to object LODs in Second Life.
Essentially, the Firestorm update is purely a viewer-side change only, intended to encourage users not to use over-the-top settings in their viewer which can affect performance, because changes to this value are globally applied, affecting all objects within the viewer’s field of view, not just a specific wearable or object.
However, this change does not mark any kind of change to the object’s LOD data held on the servers (the content isn’t being “changed” in any way on the back-end); it purely alters the way content is rendered by the viewer in terms of which LOD model of the object it uses.
Date of Next Meeting
There will be a CCUG meeting on Thursday, April 5th, as the normal LL internal meeting has been postponed a week.