2018 SL UG updates #34/3: TPV Developer meeting

Ponto Cabana; Inara Pey, July 2018, on FlickrPonto Cabanablog post

The following notes are taken from the TPV Developer meeting held on Friday, August 24th 2018. A video of the meeting is embedded below, my thanks as always to North for recording and providing it. The second half of the meeting is dominated by general discussions on the Environment Enhancement Project, which is covered via my CCUG updates, particularly the week #34 update, and so these aren’t repeated in the notes below – please refer to the notes in the link or watch the embedded video.

SL Viewer

[1:12-5:37]

The Voice viewer has had one bug filed against it following its promotion to release status, but this is considered “not too terribly serious”.

The Animesh RC viewer updated to version 6.0.0.518949 on August 24th,  in the wake of the promotion of the Voice RC viewer to de facto release status, bringing it to parity with the latter.

All other SL viewers in the various pipelines remain as per the start of the week:

  • Current Release version 5.1.8.518593, dated August 14, promoted August 20. Formerly the SL Voice RC viewer – NEW.
  • Release channel cohorts:
    • Love Me Render RC viewer, version 5.1.8.518751, released on August 20.
    • BugSplat RC viewer, version 5.1.8.518305, August 7. This viewer is functionally identical to the current release viewer, but uses BugSplat for crash reporting, rather than the Lab’s own Breakpad based crash reporting tools.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Of these, the BugSplat viewer (previously reported as coming to the end of its run) is with QA following its merge up to the Voice viewer release, and so a new RC version should be appearing in week #35. At the time of the meeting, the Love Me Render RC viewer had yet to be merged up to the Voice viewer code base.

The Love Me Render viewer should also address the KDU issues previously noted, with a fix to prevent the OpenJPEG textures that create problems from being created. However, the Lab is still working with Kakadu to try to obtain a better fix for issues.

Week #35 should also see the release of a new maintenance RC viewer.

Estate Access Management Viewer

[6:55-7:38] Feedback on the new EAM project viewer hasn’t been as broad as the Lab had hoped (i.e. the viewer hasn’t been tested by many region holders); however, the feedback that has been obtained has been taken on-board by the Lab. Currently, it is anticipated this viewer should be proceeding to RC status relatively quickly.

There are discussions on the EAM viewer that take place around 14-20 minutes into the meeting, however most of this can be covered by reading my EAM viewer overview.

Bakes On Mesh

[4:24-5:20] The order of events to get Bakes on Mesh working on Aditi are:

  • AIS update to support the new asset types used by Bakes on Mesh (and the new assets to be used by the Environment Enhancement Project). This is now due to clear the Lab’s QA and start deployment – at the CCUG meeting, Vir suggested this could start to happen in week #35.
  • A simulator update to support the Bakes on Mesh messaging, etc.
  • The Bake Service update to support  the use of 1024×1024 textures. This is ready to go, but is dependent upon to the simulator update being deployed.

EEP / TCO / ARCTan

[7:56-8:41] The Environment Enhancement Project, the TCO (viewer texture caching project) and ARCTan project (re-aligning rendering costs) all involve Graham Linden. His priorities are currently:

  • EEP shader work  – see my week #34 CCUG summary for more.
  • TCO viewer caching work.
  • ARCTan – see my week #34 CCUG summary for more.

The TCO project will hopefully improve texture caching in the viewer (as well as allowing users with 64-bit operating systems to set larger caches than is currently possible) and also include improvements to texture handling in the renderer.

“Avatar Last Names” Project

[8:42-10:40] The project to re-implement avatar last names is progressing, but is still not ready for deployment. The current focus on the project is ensuring the all of the Second Life services, both visible and non-visible to users, will correctly handle and resolve name changes (e.g. everything from how an avatar’s name is displayed in their profile / in-world tab through their groups, to object / asset ownership to SL web properties like the Marketplace, forums, and so on).

Given this, there are no dates available on possible deployment of the capability or how things like user suggestions for last names will be managed. Nor has the cost for making a name change been determined.

Mac OpenGL Support  / Linux Viewer Builds

[34:23-35:40]

  • Nothing new to report on how the Lab is going to handle rendering on the Mac viewer following Apple’s decision to deprecate OpenGL support. Options are still to be investigated.
  • Work on the Linux 64-bit viewer is progressing as a background task. It is hoped that more positive news will be forthcoming towards the end of the year. However, any Linux build will have a degree of limited functionality, by virtue of the fact that Vivox has discontinued providing voice support for Linux on account of its low user numbers compared with other operating systems.

In Brief

[24:26-25:51] JIRA Update: the Second Life JIRA update is now scheduled for Wednesday, August 29th, 2018. During the update, the service will be unavailable for several hours. An official blog post should precede the update.

[26:15-27:27] Abuse Reports: a cap was introduced recently that loads Abuse Report categories from the server, rather than having them hard-coded in the viewer. However, some users remain on older viewers that ho not recognise the cap, and which have out-of-date categories stored within them. This causes  reports filed using the correct categories to be delayed in processing until then can be reviewed and correctly re-classified.  So far the Lab has opted not to block incoming ARs purely on the bases of them having an invalid category.

[31:35-33:15] Duplicate Calling Cards: some time ago there were improvements made to the viewer to handle the deletion of calling cards. However, duplication of cards can still be an issue for those who like to have them inventory. To help with this, the Lab’s support team is adding a function to their inventory fix transform that will also remove duplicated calling cards (and duplicated calling card folders).

2018 SL UG updates #34/2: CCUG summary with audio

“That’s no moon…” – Rider Linden teases with possibilities whilst talking Environmental Enhancement Project (EEP). Credit: Rider Linden

The following notes are taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, August 23rd, 2018 at 13:00 SLT.  These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are usually available on the Content Creation User Group wiki page.

The choppiness in some of the audio segments where Vir’s voice drops out is due to issues with SL Voice.

Animesh

Project Summary

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.

Resources

Release Candidate Viewer

As noted in my Simulator User Group updates and Viewer Release summaries, the Animesh viewer was promoted to release candidate status in week #33 with the release of version 6.0.0.518579 on August 13th, 2018. The three key points of this are that:

  • Animesh is one step away from being the de facto viewer release – although this is dependent on a range of factors, including the other RC viewer in the pipeline, the viewer’s performance whilst at RC, etc.
  • Animesh capabilities will now naturally be available more widely among users of the official viewer.
  • Third-party viewers are now officially allowed to incorporate Animesh in their offerings.

Server-Side

Animesh has been on general release server-side across the grid for the last couple of weeks, and thus far, no problems have surfaced with in. However, this could be due to a relatively low usage of the capability up until now, given it has only be available within project viewers.

Sample Content Rotation

As noted in past CCUG summaries and updates in these pages, a  workaround for rotation issue with uploaded models now means that some of the Animesh sample content provided by the Lab – such as the raptors used in the GIF file I often use to banner these reports – now crab sideways rather than walking forward when seen in the Animesh viewer.  Following a suggestion put forward at the meeting, Vir is going to see if the affected content can be updated so that it moves correctly and can be provided as samples for people wanting to play with Animesh without potentially confusing them.

It’s also been pointed out that the scripts used within the sample content are very specific to that content, and so could lead to problems if people try to pull the scripts and use them as templates. However, Vir is uncertain as to how generic the scripts can be made in order for them to work as templates.

Bugs

There are still a number of bugs the Lab is working on in relation to Animesh. These should be listed in the JIRA filter (link above), and are related to some Animesh editing issues, animation stop / restart issues, and some lagging, possibly due to the underlying skeleton lagging behind the animation playback (so the Animesh isn’t properly oriented as an animation starts to play, for example). Not all of these issues may be fixed before Animesh reaches de facto release status, but Vir is continuing to try to work through them.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including:

  • The ability for region / parcel owners to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days that can be stored in inventory and traded through the Marketplace / exchanged with others.
    • Day assets can include four Sky “tracks” defined by height: ground level (which includes altitudes up to 1,000m) and (optionally) 1,000m and above; 2,000m and above and 3,000m and above, plus a Water “track”.
  • Experience-based environment functions
  • An extended day cycle (e.g a 24/7 cycle) and extended environmental parameters.
  • There are no EEP parameters for manipulating the SL wind.
  • EPP will also include some rendering enhancements  and new shaders as well (being developed by Graham Linden), which will allow for effects such as crepuscular rays (“God rays”)
    • These will be an atmospheric effect, not any kind of object or asset or XML handler.
  • The new LSL functions for finding the time of day according to the position of the windlight Sun or Moon have been completed,and are more accurate than the current options.
  • EEP will not include things like rain or snow.
  • It will still be possible to set windlight local to your own viewer.

Resources

Current Status

Alex Linden from the product team has been working on internal testing with Rider, and is now in the process of moving the pieces into place to have EEP deployed the Aditi (the beta grid).  Rider believes that a project viewer should be surfacing “very, very soon” as a result.  The plans for the project viewer are:

    • Get the assets support in to the first release.
    • Hopefully include crepuscular rays (“Godrays”) and work on shaders for distance fogging and atmospheric density in the first release of the project viewer as well. However, as these are in fact another shader, they may not make it into the initial cure of the project viewer, depending on how things go.
    • Add the scripted ability to manipulate EEP assets at a later date, but before the viewer progress to RC status.

As well as discussing project progress, Alexa and Rider also indicated some of the things they’ve been playing around with while testing EEP.

Cthulhu the sun, Cthulhu the sun / And I say it’s all right – as the Beatles never sang: Rider Linden has fun with EEP. Credit: Rider Linden

Bakes On Mesh

Project Summary

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 Bake  Service.

Resources

Current Status

Still awaiting the AIS updates (see below). Once these are in place there are a couple of other back-end pieces that require putting into place.

AIS Update

Both EEP and Bakes on Mesh are awaiting a AIS (Advanced Inventory System) update that will provide the necessary back-end support for both projects on Agni (and Main grid), as each is adding new inventory asset types to Second Life. Currently, it is believed that the work on support for Bakes on Mesh is a little further along to allow it to take advantage of the AIS update, and the latter may start being deployed in week #35 (commencing Monday, August 27th, 2018).

In Brief

  • In-world meshes bigger than 64m on an axis: there are no current plans to allow the upload of in-world meshes that exceed the 64m limit.  The main reasons for this are:
    • Vertex resolution: the larger the object, the greater the distance each vertex integer has to span, leading to inaccuracies in positioning (think prim drift for mesh), together with resolution degradation.
    • More particularly, the griefing potential and possible performance issues (e.g. rendering load on the viewer and possible implications for the physics engine).
  • Sim surrounds: partially in line with the above (and also ARCTan, below, given the use of sculpts), the Lab is interested in learning more above how people might like sim surrounds to be addressed. Some ideas offered include: making surrounds a specific form of large mesh with physics automatically disabled at upload (possibly used with a special field within the Estate / Region floater they can be “dropped into” to be applied; continuing with sculpts (with their 1 LI advantage over other potential land impact loads & their potential to have a relatively low number of vertices and thus form relatively economical content).
  • Project ARCTan: the project to recalculate object and avatar complexity will be progressing, however, it involves input from Graham Linden, who is currently focused on the shader / rendering work for EEP.   However, data collection is continuing.
    • People are starting to question what this will mean for sculpt(ie)s in SL – the majority of which tend to be horribly inefficient in terms of rendering. The short answer to this at the moment is the overall impact hasn’t been determined.
  • Real-Time bounding box tracking: the question was asked whether the new bounding box calculations introduced as a part of Animesh will include “unused” joints (e.g. if the hind legs in the skeleton are not rigged to, are they included in the bounding box calculations?). short answer: no; with the exception of the original (pre-Bento) base skeleton joints (as used by the system avatar).
  • Next Meeting:  Thursday, August 30th, 2018.

2018 SL UG updates #34/1: server, viewer, and mobile SL rumours

Erebos Harbor; Inara Pey, July 2018, on FlickrErebos Harborblog post

There was no Simulator User Group meeting for week #34 2018, so the project notes are pretty brief.

Server Deployments

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

  • On Tuesday August 21st, the SLS (Main) channel was updated with sever maintenance package 18#18.08.10.518612, comprising an update to the HTTP delivery of off-line IMs and notifications that should ensure group notices and Friend requests are correctly delivered. This release was deployed to the main RC channels in week #33.
  • There is no planned deployment or restart for any of the RC channels, also leaving them on server maintenance package 18#18.08.10.518612.

SL Viewer

  • The Second Life Voice viewer, version 5.1.8.518593 and dated August 14th, was promoted to de facto release status on August 20th, 2018.
  • A new Love Me Render viewer, version 5.1.8.518751, was released on August 20th, containing assorted viewer rendering fixes for the following issues / requests:
    • Applying planar texture alignment to prims with diffuse and normal maps fails.
    • Align Planar Faces does not work on normal or specular maps.
    • Handle dual-graphics systems more robustly.
    • Derendering Avatar type also derenders some rezzed mesh objects.
    • Selecting mesh objects make several HUD-related items invisible.
    • Negative horizontal & vertical offset values for normal & specular maps always revert when closing build floater.
    • Add info to text debug display for cache hit rate and fetch timing.
    • Grids.xml with a single grid instead of an array in LLSD can crash viewer.
    • Objects with Alpha Masking > 0 do not rendering correctly on avatar.
    • With transparent texture and alpha masking at cut-off 1, the underlying colour shows through in small patches.
    • [DRTSIM-383] Changing the horizontal offset value also changes the vertical offset while editing specular maps in the build floater.
    • Incorrect values of Rotation degrees field with checked Align Planar Faces check box in different tabs.

The remaining SL viewer pipelines are currently unchanged:

  • Release channel cohorts:
    • Animesh RC viewer, version 6.0.0.518579, August 13.
    • BugSplat RC viewer, version 5.1.8.518305, August 7. This viewer is functionally identical to the current release viewer, but uses BugSplat for crash reporting, rather than the Lab’s own Breakpad based crash reporting tools.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

SL iOS / Android Clients / Streaming SL

Speculation is running rife in some quarters that the Lab is developing a mobile client for iOS / Android following the publication of a job opportunity for a Second Life Senior Mobile Engineer.

The potential for offering a mobile (or even a streamed viewer experience through a browser) was most recently publicly discussed by both Ebbe Altberg and Oz and Grumpity Linden at the SL15B Meet the Lindens events in June 2018. I’m embedding the audio from those sessions here, together with links to the summaries of what was said, for those who prefer reading over listening:

2018 SL UG updates #33/1: Simulator User Group – Animesh in viewer RC

Cloudbreak; Inara Pey, July 2018, on FlickrCloudbreak blog post

Server Deployments

as always, please refer to the server deployment thread for the latest update.

  • The Main (SLS) channel was updated on Tuesday, August 14th with server maintenance package 18.07.20.518086, previously deployed to the RC channels and containing internal fixes.
  • On Wednesday, august 15th, all three RCs should be updated with server maintenance packager 18#18.08.10.518612. This comprises an update to the HTTP delivery of off-line IMs and notifications that should ensure group notices and Friend requests are correctly delivered.

SL Viewer

Animesh RC Viewer

The Animesh release candidate viewer arrived on August 13th, with the release of version 6.0.0.518579. For those not familiar with Animesh (anyone?) please see the viewer release notes and the links within them, or check my updates on Animesh, provided as a part of my Content Creation User Group meeting summaries.

Remaining Pipelines

Outside of the Animesh update, at the time of writing, the remaining SL viewer pipelines remain unchanged from the end of week #32:

  • Current Release version 5.1.7.517973, dated July 30th, promoted August 3rd. Formerly the Quinquina Maintenance RC viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • BugSplat RC viewer, version 5.1.8.518305, August 7th. This viewer is functionally identical to the current release viewer, but uses BugSplat for crash reporting, rather than the Lab’s own Breakpad based crash reporting tools.
    • Second Life Voice RC viewer, version 5.1.8.518310, August 7th.
  • Project viewers:
    • EAM project viewer, version 5.2.0.518362, August 9th – improved region access control tools; see my overview for more.
    • Bakes on Mesh project viewer, version 5.1.7.518013 August 3rd.
    • 360 snapshot viewer, version 5.1.6.515934, June 6th.
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 2017 and  offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Region Crossings

Region crossing have been somewhat rougher recently than had been the case of late. Simon Linden had been poking at the code in the hope of making some updates, but has been diverted but other working, and is hoping to get back to things soon.

I know the viewer has very similar messaging code as the simulator and there are tweaks I want to make to that which  should help crossing issues caused by packet loss … it doesn’t always recover when a crossing goes bad, as we all know. We’re looking at that from two ways … ideally fix things so it doesn’t go bad. But if it fails, be more graceful about it … and there’s a certain amount of hope that the way we force the error is actually what happens in the random normal case.

Part of it now is even having the 2 regions and the viewer agreeing on what happens and how to deal with it … where an AV and vehicle end up and confirming all parties know the same state… I’m hoping this can at least get better if the target region can at least report to the viewer and 1st region a status for how it works out.

Simon Linden discussing region crossings at the Simulator User Group meeting, August 14th, 2018

The question was asked if part of a multiple region crossing (e.g. from the corner of one region to another, passing through the corner of a region adjacent to both) could result in the viewer talking to the “wrong” simulator, to which Simon replied, “I haven’t seen it have issues with talking to the wrong simulator, but then I’m not looking yet at the issue of a corner crossing that might quickly move to a 3rd region.”

So, no changes for the present, but the problem is still getting attention at the Lab, and there is an appetite for trying to improve things from the server-side of the equation, with Simon also noting, “It’s also a classic case of working on SL … we always want to fix things with a minimum disruption. Being able to make something better only by touching the server is a lot better than requiring a viewer update.”

 

2018 SL UG updates #32/3: TPVD meeting and ARCTan

Cloudbreak; Inara Pey, July 2018, on FlickrCloudbreakblog post

The majority of the following notes are taken from the TPV Developer meeting held on Friday, August 10th 2018. A video of the meeting is embedded below, my thanks as always to North for recording and providing it. This was a short meeting – 24  minutes on the video, which includes some lengthy silences.

SL Viewer

[0:24-4:50]

Bugsplat RC Viewer

Functionally identical to the release viewer, but used to test the Bugsplat crash reporting service (rather than routing crash reports to the Lab’s internal Breakpad based crash reporting mechanism), this RC is likely coming to the end of its test run, sufficient data having been gathered for the evaluation.

Voice RC Viewer

At least one more update is anticipated while this is at RC status. This will contain fixes for crashes within the SLVoice.exe (the viewer should detect the exe’s absence and automatically restart it). This update should appear in week #33 (commencing Monday, August 13th).

EAM Project Viewer

The EAM project viewer, version 5.2.0.518362, dated August 7th, includes revised and improved capabilities for handling region access control. See SL Estate Access Management project viewer – overview for more.

Upcoming Viewer Promotion and New RCs

  • The new release of the Animesh viewer due in week #33 will most likely see that viewer promoted from project to RC status.
  • A new Rendering Project RC viewer should arrive in week #33.
  • A new Maintenance RC viewer is in waiting, but its release is dependent upon a server-side update for handling group invites and Friend requests whilst off-line (and part of the overall move to HTTP delivery for off-line IMs / notices). These changes should be going to the simulator RC channels in week #33. The Maintenance viewer will be deployed once these updates have reached the SLS (Main) simulator channel.
  • [12:56-13:23] Viewer TCO project: this contains the updates to how the viewer handles texture caching, and should be entering the project viewer pipeline “soon”, together with some OpenJPEG fixes (also see the end of this report for more on OpenJPEG / KDU).

Project ARCTan

[5:26-9:20] This is the code-name for the project to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints.

As I’ve previously noted, the Lab is sensitive to the implications of doing this, if it results in significant changes – particularly in the area of Land Impact for in-world objects. Should this be the case, steps will be taken to ensure users have advanced notification of changes that affect content, so they can assess what needs to be done and to make any necessary changes to their land / regions.

Part of this work will involve the Lab deploying simulator versions running both the current and the “new” calculations, allowing them to see the overall potential impact of any given set of changes (number of parcels / regions affected), ahead of making any actual change. This would allow them to avoid the kind of mass auto-return situation that has accidentally occurred in the past, and enable them to find a means to inform people of the potential impact.

A further option the Lab has been considering is to raise the land capacity on regions / parcels to compensate for any impact of revised LI calculations. So, for example, if the new calculations result in parcels going over the capacity limit by and average of (say) 10%, region LI might be increased by 15% to offer some compensation. Then, for those who still exceed their limit, there will be a period of grace when then can consolidate and bring their LI use within the limit of the revised calculations before the latter are enforced.

The important aspect of the LI work is that while values may change, they overall why they are being calculated my result in their meaning being different – so numbers might actually coming out “smaller” than is currently the case, resulting in no  need for physical changes to be made in terms of what people have rezzed in-world.

Overall, this is a long-term project, and no changes one way or the other will be occurring in the immediate future.

Environment Enhancement Project

[14:01-14:44] No significant news. The project is awaiting the current Inventory AIS updated to be completed on the main grid. There is also an inventory patch for EEP that needs to be deployed and tested on Aditi. Once this has been done, the way will hopefully be clear for EEP to appear on the main grid.

Other Items

OpenJPEG Images and KDU “Downgrade”

[10:33-12:54] : there is an issue with KDU which means that textures encoded using OpenJPEG may not display correctly. As a result, the Lab is rolling by KDU support from 7.10 to 7.9. This is a temporary measure to alleviate the problem whilst LL work with KDU to get a fix. In the meantime, Graham Linden has been working on potential means to avoid the issue is a fix is not forthcoming from KDU.

Second Life Scheduled Maintenance

[16:03-17:03] There will be a scheduled maintenance period on Monday, August 13th, commencing at 05:30 SLT (13:30 UK; 14:30 CET). This should be about an hour in length, but will see SL logins suspended. See: https://secondlife-status.statuspage.io/incidents/vrpczxqtk8ls for more.

JIRA Upgrade

[17:06-20:37] A new version of the Second Life JIRA is in testing. This will see several changes to the JIRA system, notably visually and when logging-in. The planned deployment of the new system is Thursday, August 16th. Part of this update will ensure JIRA refreshes a user’s e-mail to match the one provided for use with Second Life when logging-in.

SL UG updates #32/2: CCUG summary with audio

A razzle of raptors? Animesh

The following notes are taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, August 9th, 2018 at 13:00 SLT.  These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are usually available on the Content Creation User Group wiki page.

The choppiness in some of the audio segments where Vir’s voice drops out is due to issues with SL Voice.

Animesh

Project Summary

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.

Resources

Server-Side

As of the SLS (Main channel) grid deployment on Tuesday, August 5th, the server-side support for Animesh is now grid-wide.

Animesh Viewer

Vir has completed work on the next update to the viewer, which includes a number of fixes and tweaks. This is currently with the Lab’s QA team. If all goes according to plan, this could see the light of day as a Release Candidate viewer. In particular, this update should include a fix for the bounding box / LOD issues previously reported in these summaries.

General Discussion Points

  • The LI accounting aspect of Animesh is considered “complete” for the initial release, and no further changes beyond the accounting values Vir has published via the Animesh forum thread are expected.
    • However, there may still be future revisions to the overall Animesh costs (complexity) as a result of the Project ARCTan work to overhaul all of the complexity calculations in order to make them more reflective of the actual costs involved in rendering, etc., different objects. This work has apparently been on hold recently.
  • Land Impact: streaming costs / LODs: there was further discussion on the 50% bounding on LODs.
    • Concerns have been raised at the disparity between the 50% cut-off between the high and medium models compared to the GLOD (Global LOD) cut-off of around 30% (so 70% discarded). Other concerns relate to the 50% between the medium and low models disincentivising creators from trying with a low model. An overall concern is that people will continue to look purely at land impact, rather than considering complexity and optimisation as matters of improved performance.
    • Vir admits the approach taken with Animesh is something of a trade-off between trying to encourage considered use of LODs and implementing a system that “scares people off” because of its demands. As such, it is something that may be revisited as a part of ARCTan, after more data has been gathered as a result of Animesh being released in the meantime.
    • A major difference with the “new” system is that it no longer considers scale. This means that creators who animate their creatures using a combination of multiple models and using alpha masks to hide the “unseen” versions and who reduce the “unseen” models to avoid them raising a creature’s LI, will no longer be able to do so.

  • Per-bone scale animations: having the ability to use per-bone scale animation, which could be particularly useful for non-human bodies (and now Animesh) has been  a request since Bento.
    • Currently, the SL animation format doesn’t allow scales to be specified, so an overhaul of the animation system would be required to make this possible.
    • A further problem is scale animation can conflict with any use of the shape sliders, when used to modify an avatar shape (one of the items under consideration for a future update to Animesh is support for a body shape and the use of sliders).
    • The benefits with scale support include:
      • The ability to create a single creature body and use it in different species of that creature without the need to develop new animations and new rigged attachments (so a “dog” body could be used for a Labrador or a Chihuahua or Dashhound).
      • The ability to have “young” creations (babies, puppies kittens, hatchlings….) “grow” over time.
      • The ability for creators to develop a broader range of different NPCs and different creature types without having to rely on the avatar shape / slider system, which is inherently biased towards human forms.
    • An alternative to animation scaling (and subject of a feature request) that was initially made during Bento, was to have an overall body size slider that could proportionally adjust the entire size of the shape associated with an avatar (and Animesh, if shape and slider support is added to Animesh in the future).
      • One issue with implementing this at present is that the message format use to communicate slider parameters may not support the level of messaging required to communicate an overall rescaling that affects every joint and bone position at once (which would require updates to the Appearance  and Bake services as well, so this would require an overhaul.
      • A further issue is that of locomotion:  the same overall locomotion graph is used regardless of size, so in a single stride, a very tiny avatar made using a “size slider” could  appear to move the same distance as a “normal” sized avatar, which can result in it appearing to move really quickly;similarly a really tall avatar created using a “size slider” could appear to hardly move at all each time it takes a step. So, the locomotion graph would need to be overhauled.
    • Use of per-bone animation scaling hasn’t been ruled-out, with Vir pointing out that even adding body shape and slider support to Animesh is complex, requiring further updates to the Appearance and Bake services in order to work. So it might be something to consider alongside of considering shape / slider support once the initial Animesh project is released.

Bakes On Mesh

Project Summary

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 Bake  Service.

Resources

Current Status

There do not appear to be any blockers within the project preventing it from moving forward. However, as indicated at the July 27th TPV developer meeting, there are some changes being made to the AIS system, and the updates to inventory required in support of Bakes on Mesh (which also requires updates to the Appearance and Bake services as), are currently awaiting that work to be completed.

Environment Enhancement Project

Project Summary

A set of environmental enhancements, including:

  • The ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days that can be stored in inventory and traded through the Marketplace / exchanged with others.
    • Day assets can include four Sky “tracks” defined by height: ground level (which includes altitudes up to 1,000m) and (optionally) 1,000m and above; 2,000m and above and 3,000m and above, plus a Water “track”.
  • Experience-based environment functions
  • An extended day cycle (e.g a 24/7 cycle) and extended environmental parameters.
  • There are no EEP parameters for manipulating the SL wind.
  • EPP will also include some rendering enhancements  and new shaders as well (being developed by Graham Linden), which will allow for effects such as crepuscular rays (“God rays”)
    • These will be an atmospheric effect, not any kind of object or asset or XML handler.
  • The new LSL functions for finding the time of day according to the position of the windlight Sun or Moon have been completed,and are more accurate than the current options.
  • EEP will not include things like rain or snow.

Resources

Current Status

EEP remains on internal testing at the Lab, although as I noted in my previous CCUG summary, Rider has been teasing us with images in the forums. According to Dan Linden. the viewer UI is “pretty much” complete, and work is focused on some of the back-end messaging, which appears to be holding things up. There may be a further update on status at the next TPV Developer meeting on Friday, August 10th.

Other Items

  • Transparency shadow casting from rigged items: there is an issue with rigged / static meshes using transparencies (blended or masked), which causes shadows cast by them to render incorrectly (shadow rendering conforms only to the geometry silhouette).  This is still within Graham Linden’s pile of work.
  • Next Meeting: the next CCUG meeting for August 2018 will take place on Thursday, August 23rd.