As always, please refer to the server deployment thread for the latest news.
On Tuesday, May 23rd, the Main (SLS) channel was updated with a server maintenance package (#17.05.22.326523), containing a fix for BUG-100704, “[Server] If Anyone Can visit is selected after Allow Group was set only group members can enter”, related to the parcel overrides update.
On Wednesday, May 31st, the RC channels should be updated as follows:
BlueSteel and LeTigre should each receive the same server maintenance package (#17.05.26.326655), comprising “Tweaks to help with capability loss”.
Magnum should receive a server maintenance package (#17.05.26.326659) for the simulator operating system update, which does not contain and functionality changes.
OS Update Notes
Alongside the Server Deployment notes for Magnum, Linden Lab also state they are working on a fix for an issue addressed with 17.05.23.326524 from last week (BUG-100737 “Shoutcast receivers unable to relay on RC Magnum”). This has been diagnosed, and they are working on a solution which will require a simple update to affected scripts.
SL Viewer
Current Release version 5.0.5.326444, released on May 18th, promoted May 23rd – formerly the Maintenance RC viewer – overview
RC viewers:
Project AssetHttp project viewer updated to version 5.0.6.326593 on May 26th – This viewer moves fetching of several types of assets to HTTP / CDN – overview
Voice RC viewer, version 5.0.5.325998, re-released on Friday, May 5th
Project viewers:
Project Alex Ivy 64-bit viewer, version 5.1.0.505089, updated on May 11th
360-degree snapshot viewer updated to version 4.1.3.321712 on November 23rd, 2016 – ability to take 360-degree panoramic images
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.
Radegast, the third-party Second Life / OpenSim client which has proven to be especially popular with those on low-end systems and / or those with visual impairments, now has a new home, and recently underwent a new update. As I’ve missed the last couple of cycles with this client, the following is intended to be a quick overview of its status and a brief look at the updates which have been made since my last review.
New Home
Radegast now has a new web presence, where details of updates are blogged, and which will see things like the wiki and user guide move across to it in due course.
As there is no means to access the “old” Radegast site, this remains available for legacy purposes.
The client itself, as I noted towards the end of 2016, is now being maintained by Cinder Roxley, who would welcome any support that can be offered in helping to maintain and develop Radegast and the website.Those interested in doing so code-wise, can find the source code, build instructions, and examples at https://bitbucket.org/cinderblocks/radegast.
In her first blog post on the site, Cinder also provides a brief summary of things:
So far, any updates have been Windows-based. This has allowed me to roll with the punches and familiarize myself with the codebase without getting mono too much in the mix. The roadmap for other platforms is as follows:
Update LibreMetaverse to be compliant with .NET Core
Update Radegast to be compliant with .NET Core
Begin packaging .deb releases for Linux
Begin packaging installers for MacOS
Bring speech support to Linux and MacOS
Updates
There have been two updates to Radegast since my last review of the client (which essentially laid-out the updates Cinder had made to restore Voice capabilities reliably after Beq Janus provided a workaround for issues being experienced as a result of Radegast no longer being maintained as a result of Latif Khalifa’s sad passing).
The first of these updates, which saw Radegast increment to version 2.21, was released on February 12, 2017, and comprised:
RLV updates
Second Life Enhanced Skeleton Support (Project Bento)
Branding changes
Updates to
FMODStudio 1.08
SLVoice files
Swap of base system to LibreMetaverse
Many bug fixes.
Version 2.22, release on May 17th, 2017, comprises:
Updates to:
OpenTK 3.0.0-pre nuget
VS2017 .NET 4.5
LibreMetaverse 1.4.40
New build system
Fix Give Inventory menu item for screen readers
Many bug fixes
General Notes
An important note to remember with Radegast is that while it has a 3D scene rendering capability, allowing you to see the world around you, it is very experimental, therefore, the degree of success you may get with rendering things might be variable. In testing the client, I found Radegast had a hard time trying to render rigged mesh body parts, making it impossible to visually confirm the Bento support. However you mileage may vary.
Certainly, the fact that the 3D scene renderer is experimental and may hiccup shouldn’t put those who need / prefer Radegast off (I sincerely doubt it ever would). The bottom line is that with or without the rendering capability, Radegast is a superb lightweight client, and both the 2.21 and 2.22 updates are ensuring it keeps abreast of updates to the “full” viewer, and remains a useful tool for those who rely on it.
In week #21, both the Kokua viewer for Second Life and the Restrained Love viewer updated to achieve parity with the current SL viewer release (version 5.0.5.326444 at the time of writing).
Kokua for Second Life updated to version 5.0.6.41208 (release notes) on Friday, May 26th, 2017, while the Restrained Love updating to version 2.9.21.3 (release notes) on Thursday, May 25th.
As the core changes to both viewers are more-or-less the same in terms of their parity with the official viewer, this review provides a combined recap of these updates for both viewers, from the oldest to most recent. Kokua users please note that the documented changes do not necessarily apply to the Kokua OpenSim version.
Custom Folders for Uploads
Kokua 5.0.6.41208 for Second Life and Restrained Love 2.9.21.3 users can now select the inventory folders into which uploads – images / textures, sounds, animations and mesh models – are saved by default (rather than having all textures + images go to Textures for example).
To set a custom folder for an upload type:
Go to Inventory and right-click on the desired folder.
Select Use As Default For. This opens a sub-menu of upload types (shown on the right).
Click on the type of upload you wish to always save to that folder.
Note that this only applies to uploads: images / textures, mesh models, etc., received via transfer or will still go to the their “default” system folders (so a texture received via transfer will still go to Textures, for example).
The folders set for uploads can be reviewed via the new Preferences > Uploads tab.
The new options shown for selecting a default destination folder for uploads (left), and the new Upload panel in Preferences, which lists the locations (right) – via Kokua, click for full size, if required
Block List Tally and Grid Status Button
Kokua 5.0.6.41208 and Restrained Love 2.9.21.3 now have display a tally of those blocked in the viewer (People Floater > Blocked), and include the Grid Status button which can be added to any toolbar position in the viewer window, providing direct access to Second Life grid status updates, which are displayed in the viewer’s built-in browser.
The Options for how another avatar is rendered are now Default (i.e. in accordance with your avatar complexity threshold setting); Always (i.e. always render the selected avatar) or Never (i.e. permanently render them as a grey imposter). These options have also been moved to a sub-menu on the right-click Avatar context menu.
Following Firestorm’s lead, adjusted settings for avatar rendering will now persist across log-ins for the viewer, until either reset or your settings are cleared by a clean install or similar.
There are two new options for Avatar Complexity, located on the Preferences > Graphics tab.
The first is a check box, Always Render Friends, which is pretty much self-explanatory: when checked, friends will always fully render, regardless of the viewer’s Avatar Complexity threshold.
The second is an Exceptions button, which adds a further level of control for how other avatars – including friends – are rendered by the viewer.
Left: the new render options sub-menu in the Avatar context menu (seen when right-clicking on another avatar). Right: the new Preferences > Graphics tab options for avatar rendering (see below for the exceptions button). Images via Kokua – click for full size, if required
Note that Kokua’s pie menu does not display the “Default” option correctly when used on other avatars. Instead, the option is labelled as “>”. As per Nicky’s comment below, this is now fixed.
Rendering Exceptions
The Exceptions button described above enables named avatars to be either fully or never rendered by the viewer, regardless of any other avatar rendering settings. It comprises two new floaters: the exceptions list (Avatar Render Settings, below left) and the search floater (Choose Resident, below right), accessed by clicking the “+” button on the exceptions list and then selecting whether you want to always or never render the avatar you’re about to choose.
Rendering Exceptions allows you to select individual avatars (e.g. from those close to you or your friends list or via search) you always / never want to render, regardless of your other avatar complexity settings. Via Restrained Love Viewer.
It is possible to update how an avatar in the exceptions list is displayed by right-clicking on the avatar’s name and selecting the required option (Default, Always, Never) from the displayed drop-down list. Note that “Default” will remove the avatar’s name for your exceptions list and display them in-world in accordance with your overall Avatar Rendering Complexity setting.
Changing how an avatar in the exceptions list is rendered. Via Restrained Love Viewer
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates for the week ending Sunday, May 28th
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.5.326444, released on May 18, promoted May 23 – formerly the Maintenance RC viewer overview – download page, release notes – NEW
Project AssetHttp project viewer updated to version 5.0.6.326593 on May 26 – This viewer moves fetching of several types of assets to HTTP / CDN – overview (download and release notes
The Content Creation User Group meeting, at the hippotropolis Camp Fire (stock)
The following notes are taken from the Content Creation User Group meeting, held on Thursday, May 25th, 2017 at 1:00pm SLT at the the Hippotropolis Camp Fire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are available on the Content Creation User Group wiki page.
Audio extracts are provided within the text, covering the core points of the meeting. Please note, however, that comments are not necessarily presented in the chronological order in which they were discussed in the meeting, but are ordered by subject matter.
A video recorded at the meeting by Medhue Simoni is embedded at the end of this update, my thanks to him making it available. However, do not that this cuts out mid-way through the meeting. Timestamps in the text below refer to this recording.
Applying Baked Textures to Mesh Avatars
[1:54] This was announced as a new project – see my separate update for details.
The meeting saw additional questions asked about the baking service, which are summarised below.
Will the Baking Service Support Animated Objects?
Not initially. Baked textures are only relevant to your Current Outfit Folder (COF), affecting your appearance only. Animated objects will not have any notion of a COF (as they do not have an associated inventory structure as avatars do), so whose textures would an animated object show?
Also, even if you could assign your own COF-defined appearance to an animated object, it would only be valid until you change your own appearance, which would discard the bake used by the object, probably leaving it blank.
One solution might be allowing arbitrary textures to be sent to the baking service (see below). Another would be to allow animated objects to have their own notion of a COF contained within the object itself which the baking service could somehow reference
WERE this kind of work to be adopted, this would be Vir’s preferred approach. However, it is not currently a part of either the animated objects project or baking textures on meshes.
Baking Arbitrary Textures
Would it be possible to have a LSL function to request baking arbitrary textures?
Not as a part of applying baked textures to mesh, although it might be considered in the future.
However, the baking service could offer considerable flexibility of use were it to be extended, simply because of the way it defines the body area (head, upper body, lower body).
A problem is that, as noted above, baked textures are held only so long as your current avatar appearance defined via your COF is relevant, after which they are discarded. For the system to be useful with arbitrary textures, the resultant composite textures would need more rigorous storage, perhaps as a new asset class or retained in some form of “temporary” texture store – either of which would have to be defined and allowed for.
Thus, the problem is the amount of work involved in extending the baking service and (potentially) the asset handling required to support it.
HTTP Asset Viewer
[4:22] The HTTP Asset viewer was updated to version 5.0.6.326593 on Friday, May 26th. This update primarily bring the viewer to parity with the recently promoted release viewer, and so primarily comprise the revised region / parcel access controls, and the updates to Trash emptying behaviour.
Supplemental Animations
[6:53] As well as working on animated meshes, Vir is now also working on the LSL side of supplemental animations alongside of LSL changes need for animated objects. The work is designed to overcome issues of animations states keyed by the server-side llSetAnimationOverride() conflicting with one another.
Animated Objects
Current Project Status
Vir has got basic prototyping working in a “hacked up” single version of the viewer. He’s now working on the shared experience – how is an animated object seen by multiple viewers.
There is still no details on what limits beyond land impact which may be applied to animated objects (e.g. number of animated objects – not avatars – permitted per region type, etc), as there is not at this point any solid data on potential performance impact to help indicate the kind of limits which might be required..
Number of Allowed Animation Motions
[8:52] Currently, SL supports a total of 64 animation motions playing at one time per agent (hence walks, arm swings, wing flaps, tail swishes, etc., all of which can happen at the same time). It’s not been tested to see how much of an actual load running multiple animations places on a system. The limit might have to be changed as a result of animated objects – or it might not; it’ll come down to testing.
Other Items of Discussion
Avatar Scaling
[12:24-video end] There is a lengthy discussion on avatar scaling.
Essentially, the size slider works within a certain range; go beyond this, and distortions of body parts (e.g. facial features) can start to occur, as some sliders stop working properly.
Obviously, it is possible to scale avatars using animations, but again, doing so also doesn’t play nicely with the sliders.
This problem is particularly impactful with Tiny and Petite avatars (although it also affects really large avatars). One workaround is to upload a mesh without joint positions of the affected bones, but this causes breakages in the mesh.Thus, having a slider which could handle the avatar’s scale over a broader range might be beneficial. However:
Changing the definition of the current scale slider to work over a broader range isn’t an option, due to the risk of existing content breakage.
Adding a new “global scale” slider to the system might be possible. However, while its is relatively simple at the viewer end of things, SL is already close to its limit of 255 sliders, and any additional global slider will require significant changes to the back-end.
A further problem is motion is not affected by scale, but is keyed to the current avatar size range. So, additional work would be required to the locomotion system to ensure the distance covered by an avatar’s stride is consistent with its size, adding further complexity to any changes.
Also, the ability to scale avatars would also require using rotations only, as any use of translations could result in locomotion issues noted above (e.g. so a really small avatar would appear to zip along at 100s of miles an hour), and rotation-only animations are somewhat limiting.
BUG-20027: Allow joint-offset-relative translations in animations
Created during the Bento project, this feature request was originally closed as something the Lab could not implement. It has now been re-opened as people wanted to add further feedback to it. So, if you have an interest – please go and comment on the JIRA.
Cost of Animating via Bones vs. Using Flexis
The Lab views animating via flexis as being very inefficient, but have no numbers for a direct comparison to the cost of animating bones.
Improving IK Support
General requests have been made for SL to better support Inverse Kinematics (IK) to add greater flexibility of joint / extremity positioning. Vir has requested that if someone could start a feature request JIRA, open for comments, on what might be sought, it would be helpful.
Next Meeting
The next CCUG meeting will be Thursday, June 8th, 2017.
During the Content Creation User Group meeting held on Thursday, May 25th, Vir Linden announced that Linden Lab is now formally investigating applying baked textures to mesh avatars in Second Life, a project that has been on the request list since at least the Bento project.
In short, if it can be implemented, it would mean that textures such as skins and make-up layers could be applied to a mesh avatar in much the same way as system layer clothing can currently be applied to system avatars, thus in theory reducing the complexity of mesh avatars by reducing the number of “onion layers” they currently require in order to simulate the capabilities of the baking system. This in turn should ease the rendering load mesh avatars place on CPUs and GPUs, thus hopefully improving people’s broader Second Life experience.
HOWEVER, the project is only at its earliest stages, and it will be a while before there is anything visible to see with regards to it. The following is a summary of the project’s current status:
The first aspect of the work will be to update the existing baking service.
This currently operates at a maximum texture resolution of 512×512.
For mesh purposes, this needs to be increased to 1024×1024 (which can already be used directly on avatar meshes via textures and / or applier systems).
As the baking service hasn’t been touched in some time, updating it may take a while, and any progress on the rest of the project is dependent upon it being completed.
Once the baking service has been updated, then the actual work of extending it to support mesh avatars should be fairly straightforward.
The exact specifications for how the bakes will work have yet to be defined, so there are no feature / capability details at present.
The capability will not support the use of materials, as the baking service as a whole has no notion of materials at present; it only produces a composite of diffuse textures, and there would be a considerable amount of additional work required to make it “materials aware”, marking it as (perhaps) a separate project.
It is important to note that this capability is not necessarily intended to replace applier systems; rather it is to add flexibility to using texture bakes with mesh, and potentially reduce the complexity of mesh avatars.
Further updates on this work will come via the Content Creation User Group (CCUG) meetings, and I’ll report on them through my usual CCUG meeting updates.
The following is an audio extract from the May 25th CCUG, at which Vir announced the project.
Note: there was a broader discussion on the avatar baking service, and this will be covered in my upcoming report on the CCUG itself.