2023 SL SUG meetings week #31 summary

NordShore, May 2023 – blog post

The following notes were taken from the Tuesday,  August 1st Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, August 1st, all simhosts on the the SLS Main channel received the “Summer Blues” simulator update, comprising:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20, Not that the viewer-side changes to access these updates can be found in the Maintenance U(pbeat) RC viewer, listed in the Viewers section, below.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.
    • The update also included a certificate update for the simulators.
  • On Wednesday, August 2nd, the RC channels should all be restarted without any deployment.

Upcoming Simulator Releases

Simulator release now appear to be getting informal names (hence “Summer Blues”, above). The next up will be:

  • Dog Days – likely to include the unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database), and set to be the next release to be deployed.
  • Bugsmash – currently with QA, and as the name suggests, contains a range of simulator-side bug fixes. It will also see the welcome return of visible RC channel names (now, if only we could see the return of server release notes ahead of the actual deployments).  Some of the fixes in this update comprise:
    • A fix in llRetunObjectsByOwner so that it won’t hit a throttle on large returns, and a fix to estate manage object return.
    • A change to the stack that gets displayed in the case of some script faults, intended to make it a easier to read.
    • A fix for the GroupMemberData cap giving out intermittently incorrect (but still well-formed) responses.
    • A minor fix about abandoned group land not showing correct previous owner.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

General Discussion

Please refer to the video for details on the following:

  • There is a general discussion on an exploit of llMapDestination().
  • BUG-234197 – “[PBR] Many duplicate material override messages for same object” – a potential need to throttle / omit scripted materials changes.
  • A further request was made for BUG-225228 “llStopAnimation is stopping all animations on detach instead of only the one specified” to receive LL TLC, together with requests for a series of other bugs and feature requests (such as the ability to click-through objects.
  • A question from Leviathan Linden on whether object inventory names – i.e. the names of items contained in an object – should be opened to allow leading / trailing whitespace. Short answer: “no”; suggestion, if whitespace alone is used in an object name, have the system replace it with the object type (e.g. object, notecard, texture, etc., possibly with a numerical indicator.

 

Note: there will be NO Simulator User Group meeting on Tuesday, August 8th, as the simulator team will be engaged in an internal meeting at the Lab.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #30 summary

Journey Garden, May 2023 – blog post

The following notes were taken from the Tuesday,  July 25th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, July 25th, 2023, all simhosts on the the SLS Main channel were restarted without any deployment.
  • On Wednesday, July 26th, 2023, RC currently on the BlueSteel channel should be expanded across all the channels. This comprises:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20, Not that the viewer-side changes to access these updates can be found in the Maintenance U(pbeat) RC viewer, listed in the Viewers section, below.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

General Discussion

  • [Video: 9:21 (start)] A discussion on integrated development environments (IDEs) for developing LSL code, leading to a broader discussion on LSL scripting, coding in general, helping new users with getting started with LSL, together with a significant discussion on better means of handling stack heap collisions, and more. This runs through the majority of the meeting.
  • [Video: 19:50-23:38] The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database) is still awaiting a initial RC channel release.
  • [Video: 47:49] A fix for BUG-233772 “llHTTPrequest times out after 40 secs” is now live.
  • Further requests for LL to devote more resources towards improving region crossings.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 week #29: SL CCUG meeting summary: Senra, glTF, etc.

LemonCliff, May 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, July 20th, 2023. 

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work.
  • As a rule, these meetings are:
    • Held in-world and chaired by Vir Linden.
    • Conducted in a mix of voice and text.
    • Held at 13:00 SLT on their respective days.
    • Are subject to the schedule set within the SL Public Calendar, which includes locations for both meetings (also included at the end of these reports).
    • Open to all with an interest in content creation.

Viewer Updates

  • The Maintenance U(pbeat) RC viewer, version 6.6.14.581101, was released on July 21st. Key changes in this viewer comprise:
    • Improvement parcel audio as the viewer leverages VLC for audio streams.
  • The Inventory Extensions viewer was promoted to RC status with version 6.6.14.581058, on July 20th.
    • A new option Show Ban Lines On Collision (toggled via World→Show) which will only show banline on a direct collision (foot or vehicle) rather than constantly visible when within camera range.
  • The Alternative Viewers page appears to have suffered a hiccup, listing version 6.6.12.579987 as the “Win32+MacOS<10.13” RC viewer.  However,
    • The Win 32  + Pre-MAC OS 10.3 viewer was promoted to release status on July 5th.
    • 6.6.12.579987  was the version umber assigned to the Maintenance S RC viewer (primarily translation updates), originally issued on May 11th, and promoted to de facto release status on May 16th.

The release and Project viewers currently in the pipeline remain unchanged:

    • Release viewer: 6.6.13.580918, formerly the Maintenance T RC viewer, promoted on July 14.
    • Project viewers:

Senra NUX Avatars

  • There was a stir in the week when the Senra brand of mesh avatars designed by LL (and primarily intended for new users as a part of the New User eXperience  – NUX) were made available through the system Library and then withdrawn.
  • This was apparently not an error on LL’s part, but rather the result of an issue with the avatars being noted, prompting their removal from the Library.
  • The removal did not prevent some users grabbing copies of the avatars + accessories (presumably by copying items from the Library to their inventory), which weren’t removed as a part of the “recall”.
  • The appearance of the bodies + accessories also sparked a fair degree of forum discussion, approximately starting towards the bottom of page 17 of this thread.
  • In reference to the thread, LL encourage those who did manage to retain the Senra bodies and are observing issues / have concerns to continue to record feedback there, as “all eyes” involved in the project are watching that thread.

glTF Materials and Reflection Probes

Project Summary

  • To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
  • There is a general introduction / overview / guide to authoring PBR Materials available via the Second Life Wiki.
  • For a list of tools and libraries that support GLTF, see https://github.khronos.org/glTF-Project-Explorer/
  • Substance Painter is also used as a guiding principal for how PBR materials should look in Second Life.
  • Up to four texture maps are supported for PBR Materials: the base colour (which includes the alpha); normal; metallic / roughness; and emissive, each with independent scaling.
  • Given the additional texture load, work has been put into improving texture handling within the PBR viewer.
  • In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
  • As a part of this work, PBR Materials will see the introduction of reflection probes which can be used to generate reflections (via cubemaps) on in-world surfaces. These will be a mix of automatically-place and manually place probes (with the ability to move either).
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • As a result of the updates, SL’s ambient lighting will change (e.g. indoor spaces will appear darker, regardless of whether or not Shadow are enabled), and so there will be a period of adjustment for users (e.g. opting to install lighting in indoor spaces, choosing between the HDR lighting model of glTF or opting to set a sky ambient level).
  • The viewer is available via the Alternate Viewers page.
  • The simulator code is now more widely available on the Main Grid, including some sandbox environments, but still in RC. Demonstration regions might be found at: Rumpus RoomRumpus Room 2, Rumpus Room 3, Rumpus Room 4, Rumpus Room 5.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • Many in the team have been out-of-office recently, and so work had slowed for a while.
  • The focus remains on bug fixing within both the viewer and the simulator code.

Double-Sides Materials Concerns

A request was made for LL to remove double-sided materials from the PBR work, due to the following concerns:

  • Inexperienced creators misunderstanding the capability (e.g. a content creator who makes a pendant with 500,000 triangles and applying materials to all of them, overriding backface culling), and:
  • Clothing creators who add additional tris along the edges of clothing (e.g. cuffs, lapels, collars, etc.), to given the illusion of an “inner” material instead utilising double-sided materials instead, leading to:
  • The potential of both of these leading to noticeable viewer performance impacts (e.g. due to doubling the amount of rasterising the viewer must perform).

In response Runitai Linden noted:

  •  Double-sided materials is a part of the glTF specification, and so will remain  within the PBR project, and so forms a part of the overall requirements for obtaining Khronos 3D commerce certification, which LL would like to achieve for Second Life, and for that reason will not be removed.
  • In terms of performance LL believe:
    • Double-sided materials generally do not get rasterised twice (e.g. if you are looking at the front face of a leaf with double-sided materials, the back face is not rasterised) – although there are some exceptions to this.
    • Double-sided materials are a “fill” hit, not a per triangle hit, so the performance hit decreases exponentially as the camera moves away from the object – so for actual double-sided objects, it is a performance win.
  • To help safeguard against accidental misuse, the option to apply double-sided materials must be explicitly enabled when uploading, even if the materials themselves have been created as double-sided (if the option is not explicitly set, then they will be uploaded as single-sided).
  •  The issue does admittedly have edge-cases, and there are issues around any implementations for double-sided materials (e.g. how do you penalise for incorrect use? Increased LI? But then – a) what about worn items (which are immune to LI), and b) how does the viewer differentiate between “correct” use of double-sided materials and an “incorrect” use, in order to avoid penalise good practices in error?
  • However, LL are not going to disable / artificially limit the use of double-sided materials due to the potential for misuse, either accidental or deliberate.

PBR Mirrors

  • This is a follow-on project to the PBR Materials, intended to provide a controlled method to enable planar mirrors in SL (i.e. flat surface mirrors which can reflect what is immediately around them, including avatars).
  • As per my previous CCUG update, the approach being taken is to use a “hero probe”.
    • This uses a materials flag added to a surface which allows it to be considered as a mirror face, based on the proximity of a camera to it.
    • When a camera is within the expected range, the flag will instruct the viewer to create a “hero probe”, rendering high resolution (512×512) reflections on the mirror surface until such time as the camera moves away.
    • It is an approach which allows for multiple mirrors within a scene, whilst minimising the performance impact to only one mirror per viewer.
  • The concept is now working in tests, and depending on performance, it is possible the viewer might be allowed to support up to two hero probes at a time: one for any nearby mirror surface, and the other for generating reflections on any nearby Linden Water.
  • It is hoped that a project viewer will be available for public testing of the idea will be available Soon™.

ARC  – Avatar Render Cost

  • Intended to be a means of calculating the overall cost of rendering individual avatars by the viewer, ARC has long been acknowledged as inaccurate.
  • Currently, the project to adjust both ARC calculations and the actual cost of rendering in-world objects to make them more reasonable – Project ARCTan – remains inactive.
  • The problem with such metrics like ARC is that they depend on a range of analyses which, when combined, do not necessarily result in an accurate reflection of real-world rendering very well.
  • However, those curious about the rendering cost can use:
    • World→Improve Graphic Speed→Your Avatar Complexity to seen the render impact (in ms, currently for the CPU, but with the PBR viewer, for the GPU) of their own attachments can have on own and other viewers.
    • World→Improve Graphic Speed→Avatars Nearby to see the rendering impact of other avatars within view.
    • Note that both will fluctuate do to the general “noise” of rendering, however, the generated figures are far more accurate in real terms than those for ARC.
    • Details of these capabilities – first deployed in Firestorm, and contributed to Linden Lab for inclusion in all viewers, can be found in this blog, here.
  • Questions were asked over the ability to see these figures displayed over avatars heads vs. having to go to a “specialised” menu, with some at the meeting pointing to the overhead display being preferable, because it it “there”. However, this overlooks the facts:
    • It could be received as “cluttering” the in-world view and reducing immersiveness.
    • If displayed as hover text, it could be easily disabled either by an dedicated UI setting or simply by exposing the debug to disable avatar-related hover text
    • Most particularly, any such display (even if added to name tags) would in fact adversely impact performance due the CPU / GPU cycles taken up by performing the calculations and then displaying them – with Runtai noting it can takes “several times longer” CPU time to calculate and display avatar render cost on the than it does to render the avatar.
  • The above led to a broader discussion on how to encourage better awareness of avatar impact on viewer performance (ARC shaming not being a positive approach to things), such as general education among users and having some form of “try before you buy” capability (if this were possible to implement) which would offer the ability to see the impact of wearing a specific attachment ahead of wearing it), or some form of inspection capability at upload which might encourage creators to go back and better optimise their avatar attachments.
    • One noted issue here is ensuring both sides of the equation have the tools to make more informed decisions: creators in terms of making their content more performant / efficient, and consumers to enable them to be able to better identify performant / efficient content. The latter is particularly important in its ability to drive market forces through users being able to naturally gravitate towards more efficient content.

Tags for Wearables

This was an idea mooted by the Lab in the meeting – not a project currently being worked upon.

  • A tag system which allows items with a certain tag to automatically replace another of the same tag type with a single click and without also replacing other items using the sane attachment point. For example, an item tagged as “hair” replaces the currently worn hair with a single click, but without also knocking off a hat also worn on the skull.
  • This was expanded upon by the idea of tags being used with demo items – the tag being used to perform tasks such as:
    • Only allowing the demo item to be worn within a certain location (e.g. the “dressing” area of the store).
    • Somehow records the item being worn prior to using the demo, o that it is automatically replaced when the demo item is removed.
  • The problem with the latter idea is that everyone uses demos differently, so assigning a single place at which a demo can be tried is a non-starter (do we really wany people trying demos at already busy events? What about items purchased via the MP or affiliate vendors, what location should be assigned to them? How is the creator to differentiate? Multiple versions of the same item for different points-of-sale? What about people who don’t have a home location by use sandboxes, but the demo tagged for use only within the avatar’s home location? Can this realistically even be done?).
  • An alternative suggestion for tags put forwards at the meeting was to have them as a part of the upload process, so creators could be reminded / encouraged to specific the desired attachment point via a tag list, so that users are not left with items defaulting to their avatar’s right hand.
  • There are a range of issues over any tag system, including:
    • a) How well the option would be used unless enforced; b) Even if enforced, how many content creators, would actually define the preferred attach point over just selecting the first one on the list?
    • The idea leans towards WEAR, rather than ADD – so will not necessarily overcome the confusion of new users who wish to ADD an item to their avatar, only to find it knocks something else off of their avatar.
    • How many tags should be in the system? “Hair”, “shirt”, “pants”, “gloves”, “shoes” are all straightforward – but what about shawls or shoulder wraps? should they be classified as a shirt or a collar, or have their own tag or individual tags? How are rings, earrings, pendants, etc., be classified / tagged?

Next Meeting

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #29 summary

Luane’s Magical World, May 2023 – blog post

The following notes were taken from the Tuesday, July 18th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, July 18th, 2023, all simhosts on the the SLS Main channel were restarted without any deployment.
  • On Wednesday, July 19th, 2023, the BlueSteel RC channel should be updated with a new simulator version, comprising:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20 – however, a viewer-side update is required for these changes to be visible.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

General Discussion

  • Core discussion points in the meeting:
    • [Video: 5:57 (start)] A general discussion on the new LSL / LSD functions and associated constants, which widens into a wider discussion on LSL / LSD.
    • [Video: 18:58 (start – overlapping with LSL / LSD discussion)] Discussion on larger regions vs. attempting to fix current region crossing issues. In short: larger regions would be a deep, fundamental change to SL (much of the simulator and viewer code is built on the assumption that regions are sized at 256x256m) which would likely not resolve the overall issue of region crossing events; ergo, the general consensus was towards trying to solve for crossing issues with the current region size. This led to a broader discussion on region sizing, user on-boarding, etc.
    • [Video: 21:22 (start – overlapping with the above)] Questions on throttling glTF overrides on animations (particularly in reference to puppetry).
  • In brief:
    • Confirmation that the ability to allow experiences to access the key-store from anywhere without land permission should be in the next simulator maintenance update.
    • The work to lighten the impact of avatars entering a region (in particular via teleport) impacting region / viewer responsiveness has yet to reach the main grid.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL Puppetry project week #28 summary

Puppetry demonstration via Linden Lab – see below.  Demos video with the LL comment “We have some basic things working with a webcam and Second Life but there’s more to do before it’s as animated as we want.”

The following notes have been taken from chat logs and audio recording of the Thursday, July 13th, 2023 Puppetry Project meetings. Notes in these summaries are not intended to be a full transcript of every meeting, but to highlight project progress / major topics of discussion.

Project Overview

General Project Description as Originally Conceived

LL’s renewed interest in puppetry was primarily instigated by Philip joining LL as official advisor, and so it really was about streaming mocap. That is what Philip was interested in and why we started looking at it again. However since Puppetry’s announcement what I’ve been hearing from many SL Residents is: what they really want from “puppetry” is more physicality of the avatar in-world: picking up objects, holding hands, higher fidelity collisions. 
As a result, that is what I’ve been contemplating: how to improve the control and physicality of the avatar. Can that be the new improved direction of the Puppetry project? How to do it?

– Leviathan Linden

  • The project is rooted in the in idea of “avatar expressiveness”, referenced in a February 2022 Lab Gab session with Philip Rosedale and Brad Oberwager and officially introduced as Puppetry in August 2022 to provide a means by which avatars can mimic physical world actions by their owners (e.g. head, hand, arm movements) through tools such as a webcam and using technologies like inverse kinematics (IK) and the  LLSD Event API Plug-in (LEAP) system.
  • Since that time the project has expanded in size, attempting to encompass improving SL’s (somewhat primitive) IK system; investigating and developing ideas for direct avatar-to-avatar, avatar-to-object interactions (“picking up” an apple; high-fives. etc.); providing enhanced LSL integration for animation control; broader hardware support; adoption of better animation standards, etc.
  • This has led to a change in approach for the project – see below for more.

Bugs, Feature Requests and Code Submissions

  • For those experimenting with Puppetry, Jiras (bug reports / fixes or feature requests) should be filed with “[Puppetry]” at the start of the Jira title.
  • There is also a public facing Kanban board with public issues.
  • Those wishing to submit code (plug-ins or other) or who wish to offer a specific feature that might be used with Puppetry should:

Resources

Change In Approach

  • The Puppetry User Group meetings have, until now, been held on Aditi (the Beta grid) at the Castelet Puppetry Theatre, commencing at 13:00 SLT, and generally on alternate Thursdays to the Content Creation meetings, and as per the Second Life Public Calendar.
  • As of the July 13th, 2023 these meetings have now been suspended until further notice.
  • This does not mean the project is being abandoned; it was noted during the meeting that as several of those involved in the project attend other User Group (SUG) meetings – notably, but not exclusively, the Tuesday Simulator User Group meeting -, discussions on Puppetry can continue within hose meetings.
  • Explaining the decision, Simon Linden Noted:
There’s definitely a lot of interested tech and possible features with [Puppetry]. [However] the original idea of doing real-time mocap on webcams was like opening Pandora’s box in terms of features and ideas, and also was a lot harder than we expected … in the end I think it’s better to work on some fundamental tech that can be used in a lot of other ways – like IK, streaming, figuring out how animation data can work with scripts, solving some challenges like just doing a decent hand-shake.

– Simon Linden, July 13th, 2023

  • Elements of Puppetry which have thus far been confirmed as continuing as WIP projects comprised (but are not necessarily limited to):
    • The real time animation streaming component of Puppetry (forming something of a hybrid between the LEAP <-> viewer work already undertaken, and Leviathan Linden’s work in streaming animation playback from one viewer, through the simulator and to other viewers without any direct interaction with the animations by the simulator).
    • IK Improvements and updates (see below).
    • Improved animation import support (see below).
  • There are also broader discussions going on in the Lab regarding possible further overhaul of the animation system.
  • The above decision re: Puppetry meetings being the case, this will be the last of these my dedicated Puppetry Puppetry summaries for the time being, but I will continue to report on Puppetry / related work as and when it is discussed at other meetings such as SUG meetings and Content Creation User Group meetings.

Meeting Notes

Animation Import

  • One of the Puppetry expansions, improving / broadening animation import into Second Life was spun-off into its own project and June.
  • Notably with this work, LL is using Assimp (github: https://github.com/assimp/assimp), which supports some 30-40 animation formats (including the likes of .FBX and glTF), converting them to its own format for ease of import to multiple platforms.
  • The work is now in its own branch of the official viewer (DRTVWR-584, not currently ready for public consumption in any way).
  • This viewer uses the Assimp engine to read animation files, and the viewer extracts data from there for preview and then uploading as a SL animation. Animation imports it supports include:
    • BVH files, as per the current animation import within the viewer.
    • FBX format files.
    • Animations saved with the Mixamo skeleton, as supported by other tools.
  • The Mixamo element of the viewer is currently incomplete, but there is a focus on getting it wrapped up so the viewer can enter the project viewer pipeline at some point for public testing. However, when complete, it is hoped that importing an animation with a Mixamo skeleton from the likes of  Blender or a tool like Rokoko Studio should work fairly seamlessly.
  • To help with imports, Aura Linden has included an option on import to scale motion, which might be further automated slightly, for improved ease-of-use among less experienced content creators.
    • If this process is automated, it will include an capability for manual override of course for those who are more experienced with animation creation and import.

Inverse Kinetics  (IK) Updates

  • Leviathan Linden’s IK work has pretty much become a mini-project in its own right.
  • Most recently, he has been focused on implementing Forward And Backward Reaching Inverse Kinematics (FABRIK) – which is the fundamental algorithm for suggesting new joint positions in a range of applications, including 3D modelling.
  • This work has been in part a matter of trial-and-error, and most recently, Leviathan has been fixing issues of where constraints are enforced in FABRIK which impact the SL avatar, although he still has some more constraints to fix.
  • Fixing these issues has required additional visualisation / debugging tools, which he’s having to code for himself.

Additional Notes

  • A further request was made for updating the bento reference skeletons on the wiki, which are reported as being “broken”, per BUG-10981 “Test content for public Project Bento Testing wiki page” and this Content Creation Discord channel discussion. This will be chased internally at LL to see if action is being taken.

2023 SL SUG meetings week #28 summary

Xanadu Forest, May 2023 – blog post

The following notes were taken from the Tuesday,  July 11th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • No deployments are planned for the week, but all simhost channels will be restated on the Tuesday and Wednesday slots.

Upcoming Updates

One (or more) upcoming simulator code updates will include:

  • A fix for the bug on the simulators running the recent LSD additions (llLinksetDataCountFound() & llLinksetDataDeleteFound()) being unable to save scripts.
  • The changes to UUID generation on certain items (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer. for further background, see my week 26 SUG meeting summary.

Viewer Updates

  • On Monday, July 10th, the Maintenance T RC viewer updated to version 6.6.13.580918.

The rest of the official viewer currently in the pipeline remains as:

  • Release viewer version 6.6.13.580794, formerly the Windows 32 + macOS pre-10.13 RC and dated June 30th and promoted on July 5.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • glTF / PBR Materials viewer, version 7.0.0.580782, June 30.
  • Project viewers:

PBR Materials

There continue to be a lot of questions as to when PBR will be deployed across the entire grid. In response to such questions at the SUG meeting, the following observations were made:

The server has to go through the full RC process still, once it is deemed ready for that. the messaging formats and api interfaces are expected to be stable, but if a showstopper bug is found that can change if needed to fix it.

– Brad Linden

I am about 80% confident the interface is complete and also about 80% confident that we have some server side changes to behaviour within the confines of the existing spec (things like: what can you do with reflection probes). Internally we’re answering questions like “can you kick a reflection probe like a soccer ball? Can you put a reflection probe as the root of your physical vehicle?”

– Maxidox Linden

It almost goes without saying that there are a lot of significant changes in the glTF server & viewer. It’s a case where it is much better to be safe than sorry.

– Rider Linden

In Brief

  • The Asset store is now standing at 2 petabytes.
  • BUG-233853 “Scripts failing to receive rapid touch_start events under LL viewer” had had been seen as fixed in The Maintenance T RC viewer. however, it has been reported the issue has still present, so the bug report has been re-opened.
  • Refer to the latter part of the video for:
    • A general discussion on bots.
    • A discussion on using estate_environment command to update EEP settings across an entire estate / the issues around updating Mainland on a continent-wide basis to overcome the current somewhat darker (than private regions) default environment (short form: it is hoped PBR with its updated environment settings will help matters).

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.