SL project updates 48/2: Content Creation User Group

A rally of (Animesh) raptors on Aditi

The majority of the following notes are taken from the Content Creation User Group meeting, held on  Thursday, November 30th, 2017 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.

Medhue Simoni live streamed the meeting, and his video is embedded at the end of this article – thanks to Medhue, as always, for the recording. Time stamps in the body text will open the video in a separate tab for ease of reference to the relevant parts of the text. However as these notes present the meeting in terms of topics discussed, rather than a chronological breakdown of the meeting, so some time stamps may appear to be out of sequence.

Animesh (Animated Mesh)

“I like the name ‘animated objects’ because I think it’s unambiguous, but it takes a long time to type!” – Vir Linden joking about the name “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.

In short, an Animesh object:

  • Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory  (Contents tab of the Build floater) required for it to animate itself.
  • Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
  • Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
  • Can use many existing animations.

However Animated objects will not (initially):

  • Have an avatar shape associated with them
  • Make use of an avatar-like inventory (although individual parts can contain their own inventory such as animations and scripts)
  • Make use of the server-side locomotion graph for walking, etc., and so will not use an AO
  • Use the avatar baking service
  • Will not support its own attachments in the initial release.

These are considered options for follow-on work, possibly starting with the notion of a body shape (to help with more fully-formed NPCs).

Resources

Viewer Status

[0:13-1:06] The Animesh Project Viewer should be updated soon, bringing it into parity with the new release viewer (see below). This update will also include a couple of bug fixes.

Non-Rigged Root Items

[6:25-11:12] A short discussion on the ability to include non-rigged objects in an Animesh, such as an invisible prim as the root. This ability was recently added, but hasn’t been extensively exercised as yet. It sparked a look at BUG-139336, with Vir agreeing that the proposal need to be re-examined, as he is not sure if a scripted offset is the best answer, or whether allowing a manual offset through the build tools might be better. This feeds into a later conversation [35:27] about having LSL capabilities for all edit capabilities – and the risk of over-use of options as a result, simply because they can be automated – and the benefits of only making new capabilities (such as BUG139336) only available through LSL, where it might not be obviously to many, rather than being made visible through a build option.

Mod Keys

This was the subject of extensive discussions at the previous CCUG meeting. However, Vir again confirmed that it is viewed as something outside of the immediate Animesh project.

Performance Testing

[12:00-22:00] This is also a popular topic, and Vir re-iterated that it will be done, once the Lab feels this iteration of Animesh is “feature complete”. While he believes this is pretty much the case (allowing for bug fixes), he’d still rather hold off on testing a little longer. In the meantime, there continue to be calls for the current limits on tri counts, Land Impact, etc., to be relaxed to give people greater freedom to design Animesh. Vir is hesitant to do this, as he’d rather start from a constrained baseline with more structured testing to ensure sensible limits are arrived at which can be sustained across the entire grid when Animesh goes live.  Given the way that current mesh avatars are some of the more render-intensive (and viewer performance hitting) objects within Second Life, his concern is perhaps understandable.

[36:35-46:30] Some would like to see the tri limit raised to around 50K to allow for testing of products, rather than testing Animesh itself. This seems to be a little premature. However, Vir is going to discuss the potential for an tri limit increase with Alexa.

[22:42-27:53] A discussion on Animesh scaling, animation size and LOD. If an Animesh is based around a 0.5 cube, but the associated mPevlis bone is scaled to allow a 60-metre tall Animesh, what are the LOD calculations based on: the visible size of the object / distance from it, or the size of the root prim / distance from it (which would cause the Animesh to decay faster as the camera moves away from it).  Vir believes it should be based on the displayed dimensions, but notes there are already issues with meshes load the correct LODs.  As such, he’ll look into it some more.

[28:18-30:00] Further discussion on Animesh Land Impact, the arbitrary / testing only nature of the current 200 LI limit, toggling Animesh items on / off to help reduce LI, the potential of having a separate LI for Animesh objects compared to other in-world objects, and the complexities of doing so, were it to be pursued.

[30:56-32:46] LSL function for converting objects to Animesh and back – suggested as a means of lowering LI on items (so someone could use scripted controls to switch between, say, the active Animesh animals on their land. Again, Vir feels people might be getting a little too hung-up on the LI (and other limits) too early.

[46:42-51:50] Brief discussion on model orientation. As previously noted, Second Life expects a mesh to be X- oriented, so the front of the mesh is aligned to the X-axis. Blender can sometimes orient to the Y-axis. As a known bug, Vir is hoping it can be resolved through Blender, rather than by diving into the viewer code.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; a new environment asset type that can be stored in inventory and traded through the Marketplace / exchanged with others; scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.

Current Status

[1:18-409] Rider Linden is working on the server-side updates so the simulator can support the new environment settings used by the viewer. When this is done, he’ll be working on saving the environment settings as inventory objects. The first implementation of these objects will be as day cycles, skies, and water – and are set-up to be expanded in the future.

There should hopefully be project viewer available (testing most likely on Aditi) after the Christmas / New Year break.

Continue reading “SL project updates 48/2: Content Creation User Group” →

SL project updates week #48/1: server, e-mail verification, viewer

Malal's Autumn; Inara Pey, November 2017, on FlickrMalal’s Autumn – blog post

Server Deployments Week #48

  • There was no deployment on the Main (SLS) channel on Tuesday, November 28th, leaving servers running simulator version 17#17.11.11.510664.
  • On Wednesday, November 29th, the three RC channels should be updated with a new server maintenance package 17#17.11.17.510835, comprising:
    • IMs sent to an off-line resident will only be sent to verified email addresses.
    • Internal Changes to Outgoing Emails.

E-mail Verification

The RC server deployment sees a further step in the Lab’s plan to reduce the volume of e-mail traffic it generates by only sending e-mails to those addresses Second Life users have actually verified as being valid with Linden Lab (see Making Email From Second Life (More) Reliable).

With this deployment, and if you have not verified your preferred SL-related e-mail address with Linden Lab, you will no longer receive off-line IMs as e-mails sent from users on any regions using the RC channels. Further, once this change is deployed to the Main (SLS) channel, you will no longer receive off-line IMs as e-mails at all until such time as you have verified your SL-related e-mail address with the Lab.

So, if you haven’t already done so, ad wish to continue receiving off-line IMs as e-mails from wherever they originate in-world, make sure you have verified the e-mail address recorded in your viewer  with Linden Lab. Should you require detailed instructions on how to do this, please refer to my blog post Important: verifying your e-mail address with Second life.

SL Viewer

There have been no SL viewer updates thus far, leaving the current viewer pipelines as follows:

  • Current Release version 5.0.8.329115, dated September 22, promoted October 13 – formerly the “Moonshine” Maintenance RC.
  • Release channel cohorts:
    • Martini Maintenance RC viewer, version 5.0.9.329906 November 17th.
    • Alex Ivy 64-bit viewer, version 5.1.0.510354, November 2nd (still dated Sept 5th on the wiki page).
    • Voice RC viewer, version 5.0.8.328552, October 20 (still dated Sept 1 on the wiki page).
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

 

SL project updates week #47: server, viewer, No Copy exploits update

Gallant Estates; Inara Pey, November 2017, on FlickrGallant Estates – blog post

Server Deployments

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

  • On Tuesday, November 21st the Main (SLS) channel was updated with server maintenance package #17.11.11.510664, previously deployed to the RC channels. This comprises internal fixes and a user-visible fix for BUG-139176, “Issue with OBJECT_REZZER_KEY reporting incorrectly after linking and delinking prims.”
  • There will be no deployment to the RC channels on Wednesday, November 22nd, also leaving them on  server maintenance package #17.11.11.510664.

SL Viewer

  • Current Release version 5.0.8.329115, dated September 22, promoted October 13 – formerly the “Moonshine” Maintenance RC.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Martini Maintenance RC viewer, version 5.0.9.329906 November 17.
    • Alex Ivy 64-bit viewer, version 5.1.0.510354, November 2 (still dated Sept 5 on the wiki page).
    • Voice RC viewer, version 5.0.8.328552, October 20 (still dated Sept 1 on the wiki page).
  • Project viewers:
  • 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.

No Copy Exploits

One area of concern / upset for content creators has been the use of server exploits to generate copies of No-Copy items. While a long-standing problem, the issue has gained a lot more coverage of late due to the frequency with people have been using various exploits to illegal copy and then sell gacha items.

It is also a problem the Lab has been very aware of, and in my SL project update from week #43 (October 24th, 2017), a set of server-side updates were deployed grid wide in an attempt to address some of these problems – and work is continuing to address more of them.

However, the work does take time, and some creators are feeling frustration with the time being taken, and responses to things like Abuse Reports  (which can take time to investigate). On the technical front, and speaking at the Simulator User Group on Tuesday, November 21st, Simon Linden said:

I know you all want more info and details but I’m sorry that I just can’t get into what’s been done, what’s going on now or the future. I can say, however, that we really take it seriously and are actively working on the problem. Please do keep filing the reports with any info you have. I know support tickets don’t give much feedback on what’s going on, but these are taken seriously.

To which Oz Linden added:

Other considerations aside, it would be difficult to talk about details without giving hints about what we do and don’t know about what bad guys are up to. We know quite a lot, and are working hard on it, but there’s no reason to leak information we don’t need to.

So, to repeat Simon’s comments, if a creator notices that their items have been exploited, a JIRA Bug report an / or an Abuse Report should be raised.

Alchemy Release 5.0.7.41341

On Tuesday, November 14th, 2017, the Alchemy viewer updated to version 5.0.7.41341. The majority of the update appears to address issues and bug fixes, with the high-level summary in the release notes given as:

  • Re-Enabled HTTP Pipelining.
  • Fixes to IME for Japanese language input.
  • Numerous fixes to crashes and various other bugs.

Please refer to the release notes for a table of fixes.

The two significant updates to the viewer take the form of a revised Graphics tab in Preferences, and the adoption of the hypergrid currency extensions.

Graphics Preferences Update

This updates reverts Alchemy to displaying the Advanced graphics options within the Graphics tab of Preferences, rather than breaking them out to a separate floater, as per the official viewer. It also re-introduces the sub-tabs for General, Hardware, Lighting and Depth of Field, all of which makes the graphics option less screen real estate consuming.

Alchemy 5.0.7 does away with splitting the Advanced graphics options into a separate floater, as per the 5.0.6 release (l) & the official viewer, and instead re-integrates them into the main Preferences > Graphics tab (r), with sub tabs to logically split options.

Hypergrid Currency Extensions

Currently, if an OpenSim user log-in to one grid and then hypergrids to another, the currency symbol (displayed in the top-right of the viewer window) do not update to the new grid. With this extension, the currency symbol will be automatically updated, and the currency helper-uri should also update. Thus, the buy currency /  insufficient-funds / buy land processes should all continue to work correctly, and without the need for the user to manually update the grid info in their viewer and without any need to have specific  currency.php, landtool.php files or an xml-rpc server.

The extension has been developed by Chris Colosi, founder and CEO of Gloebit, a multi-platform digital currency web service which has been adopted by a number of OpenSim grids (see here for a list of Gloebit partners). It was contributed as a patch for the Firestorm viewer in October (with the assistance of Ansariel Hiller from Firestorm), and is being adopted by both Alchemy and (hopefully) Singularity. Colosi was, from November 2010 through September 2011, the Monetisation Manager at Linden Lab, responsible for the Linden Dollar virtual currency product. In 2011 he left Linden Lab to set-up Gloebit, and you can read more about the extension via his article on Medium, posted on September 26th, 2017.

Feedback

I’ve not had the time to drive this release hard, but it appears stable and didn’t give me any significant issues when playing with it over the last several days. The graphics panel update is appreciated – I’ve always tended to find the Advanced Graphics break-out panel in the official viewer a waste of screen real estate which offers few, if any, advantages for users. I don’t really drop into OpenSim any more, so cannot comment on the currency extensions capability, other than it appears to be a good and useful feature to have.

Related Links

2017 Viewer release summaries week 46

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates for the week ending Sunday, November 19th

This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

  • Current Release version 5.0.8.329115, dated September 22nd, promoted October 13th – formerly the “Moonshine” Maintenance RC – no change.
  • Release channel cohorts (notes on manually installing RC viewer versions):
    • Martini Maintenance RC viewer updated to version 5.0.9.329906 on November 17th.
  • Project viewers:
    • Project Render Viewer version 5.1.0.510604, released on November 14th.

LL Viewer Resources

Third-party Viewers

V5-style

V1-style

  • Cool VL viewer Stable branch updated to version 1.26.20.37 and the Experimental Branch (Animesh) updated to version 1.26.21.3, both on November 18th (change log)

Mobile / Other Clients

Additional TPV Resources

Related Links

SL project updates 46/3: TPV Developer meeting

The Silent Mind; Inara Pey, October 2017, on Flickr The Silent Mind – blog post

The following notes are taken from the TPV Developer meeting held on Friday, November 17th 2017. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it.

SL Viewer

[0:50-2:22] The Alex Ivy 64-bit RC viewer, version 5.1.0.510354, has been holding up “really well” in its release cohort, although there is a start-up / benchmark crash the Lab has had difficulty reproducing, but for which they now believe they can fix in the next update, which should appear after the US Thanksgiving break (Thursday November 23rd – Sunday November 26th, 2017). If the crash is shown to be fixed, then the viewer should hopefully be in a position to move to release status in December.

[2:25-2:43] Vixox is still working on a race condition in the Voice RC viewer, version 5.0.8.328552 at the time of writing, and the Lab is hoping for an update on that either in parallel with or shortly after the Alex Ivy update.

[2:46-2:59] The current “Martini” Maintenance RC viewer  updated to version 5.0.9.329906 on Friday, November 17th.

[3:00-3:28] An update to the 360 snapshot project viewer, version 5.1.0.506743 at the time of writing, is in progress, which should greatly improve image quality. If possible, this update might appear ahead of the US Thanksgiving break.

Rendering Project Viewer

[5:15-5:52] A new project viewer – Project Render, version 5.1.0.510604, dated November 14th, 2017, is available for Windows (32-bit and 64-bit) and Mac OS X. This viewer includes several fixes to the Rendering pipeline, and comes with a request that all issues are reported via JIRA.

The viewer is now built from the Alex Ivy (64-bit) branch (hence no Linux version), and all known issues for the Alex Ivy Viewer apply to it. It is intended to provide  / address:

  • Improvement to mesh LOD calculation (account for CTRL+0).
  • Agents that render as jelly dolls should have their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes -> debug setting RenderAutoMuteByteLimit has to be > default of 0 for this feature.
  • Bug: Mesh avatar deforms constantly – was due to bounding box / LOD swaps.
  • Bug: Some mesh turned invisible when camera is moved – was caused by fix for MAINT-6125.
  • Bug: Setting one avatar to “Do not render” causes all avatars to become impostors.

Viewer Development Focus

Linux Viewer

[3:32-4:52 and 15:28-15:46] Currently, the Lab is aiming to get 32-bit and 64-bit Windows builds on the current viewers, together with 64-bit only Mac builds.

Once this has been done, the Lab will try again to get a 64-bit Linux build of the viewer, with the overall goal being to change the Linux build over to a Debian package without the additional libraries, allowing TPVs to add the dependencies they require for their flavour of Linux build.  However, the Lab will be looking for help from TPVs and open-source developers in getting this done.

If help is given and the project is successful, the Lab will then maintain the Linux build, with the caveat that it will only be subject to cursory QA, and will continue to look to the Linux community for fixes.

General Focus

[10:10-14:35] In general, the Lab will be focusing more on current hardware (see resource usage tools, below) and operating systems over older / outdated hardware and operating system flavours. So for Windows, for example, while the Lab is not dropping support for 32-bit systems, the recommendation is that those who can upgrade to support Windows 64-bit (and particularly Windows 10 64-bit) should do so. If nothing else, this should substantially reduce viewer crash rates, particularly when used 64-bit versions of the viewer (e.g. fewer out-of-memory crashes).

Resource Usage tools

Note the following elements are discussed between 6:16-10:08 and then from 19:52-49:10.

VRAM and Texture Information

Chalice Yao has proposed a feature to the Firestorm team to allow users better understand the resources they are using, both through their avatar’s VRAM usage and the VRAM (triangles and vertices) for any selected object (see FIRE-21793).

Demonstration images (via FIRE-21793 / Arcane Portal) showing the proposed texture VRAM resource usage information on both a full avatar on the left and a specific attachment (Catwa head), on the right

Textures are a significant issue because of the widespread use of 1024×1024 textures on multiple faces of items at 4 MB a texture, whether needed or not (do buttons on a jacket really need 102×1024 textures?). This can lead to avatars using VRAM in the gigabyte ranges – simply because there is no incentive in place for creators to optimise their use of textures. so, offering a means by which users can see and understand their resource usage might encourage creators to start thinking in terms of optimising their use of the textures.

Overall, Oz is in favour of the idea, noting that it could be a good fit with the Lab’s own work in trying to make the render cost calculations for avatars and objects more accurate (allowing for the variances in handling information inherent within different types of graphics cards with different capabilities one to another).  In addition, the Lab has been working on an experimental viewer which radically re-organises the texture cache to make it simpler, but this has yet to work (this includes the previously mentioned idea of storing textures already decoded).

The discussion (a fair part of which is in text) also covers the upcoming Bakes on Mesh work (see my CCUG meeting notes), the benefits of supplying users with pertinent information vs. the problems of witch-hunts, providing the means for people to be better educated and to make more informed decisions, how any additional information should be displayed etc.

Hide All Objects Outside of A Parcel

BUG-5671 outlines another idea related to data handling / viewer resource usage: offering parcel owners a setting that  would effectively prevent the simulator from downloading information about objects outside of their own parcel. This would reduce simulator load, bandwidth use and mean the viewer doesn’t have to manage object data and rendering for items the parcel owner doesn’t want to see when with their parcel (although it also means their view would be reduced to looked out over “empty” land).

The feature request has been accepted by the Lab – but when or how it, or something like it, may be implemented – if it is implemented at all – has yet to be considered.

BUG-5671 another demonstration of the important difference between a JIRA being Accepted compared with being implemented. JIRAs can be Accepted for a number of reasons, but does not automatically mean it will be implemented. Reasons JIRAs might be Accepted include: it explain an issue the Lab may want to address at some point; or because it might offer a means to resolve part of a larger issue or group of issues the Lab might want to address, again at some point in the future.

RenderVolumeLODFactor

Mixed with the above discussions (again in text) is a debate on RendeVolumeLODFactor settings, with some viewers (e.g. Firestorm) defaulting to higher values than the official viewer, and the impact this may (or may not have) on content creators.

Certainly, high-end LOD settings are detrimental to viewer performance, but whether enforcing a lower LOD setting would encourage content creators to optimise their designs is questionable: “recommendations” for very high LOD settings (often much higher than the defaults used by any viewer) have been a factor in content creation for a very long time, with some creators even foregoing the use of lower LOD models (so it because an “all or nothing ” approach). As such, a more effective means of preventing this might be to penalise creators who fail to provide proper medium and low LOD versions of their creations, something the Lab is considering.

This conversation (largely in text) continues on to alpha blending / masking, etc.

Continue reading “SL project updates 46/3: TPV Developer meeting” →