SL project updates 19/2: NEW projects – supplemental animations and animated objects

The Kubrick Roomsblog post

The following notes are taken from the Content Creation User Group meeting, held on  Thursday, May 11th, 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 – although please note, these are not necessarily presented in the chronological order in which they were discussed in the meeting. Rather, I have tried to place a number of related comments by Vir on specific topics together – project scope, constraints, etc., where in the meeting they may have been discussed / reiterated at different times. Medhue Simoni recorded the meeting, and his video is embedded at the end of this report for those wishing to following the discussion chronologically. My thanks to him for the recording.

The meeting held two major announcements: supplemental animations and animated objects, both of which are being loosely referred to under the umbrella of “animation extensions”.

Supplemental Animations

This is an idea to overcome issues of animations states keyed by the server-side  llSetAnimationOverride() conflicting with one another. This problem has been particularly noticeable since the arrival of Bento, and a typical example is that an animation to flap Bento wings, if played to have natural wing movement while walking, results in a conflict with the walk animation, causing the avatar to slide along the ground.

  • Supplemental animations will allow additional animations to run alongside the basic llSetAnimationOverride() locomotion graph, requiring updates to the server-side animation code, rather than any viewer updates.
  • The changes will allow for more than one supplemental animation to run at the same time – so you could have wings flapping while walking and a tail swinging – providing the animations are restricted to using discrete sets of bones and do not clash (e.g. the wing flapping doesn’t call on a bone used in tail wagging or walking). If there is an overlap, the normal animation priorities would then determine which animation is played.
  • While the syntax still has to be worked out, it will likely be a call to add a set of supplemental animations associated with a specific state (e.g. walking) on attaching a relevant object (such as wings), and a call to remove the animation set when the item is subsequently detached.

Animated Rigged Objects

The Lab is starting work on adding the ability to animate rigged objects to Second Life – something which has been the focus of ongoing discussions within the Content Creation User Group for the past several months.

General Overview, Initial Limitations – *NOT* NPCs

  • At this point in time, this is not about adding fully functional, avatar-like non-player characters (NPCs) to Second Life.
  • It  is about providing a means to use the Bento skeleton with rigged mesh to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation
  • The project may be extended in the future.
  • It will involve both back-end and viewer-side changes, likely to encompass new LSL commands to trigger and stop animations (held in an object’s inventory)
  • It’s currently not clear if this will involve a new type of mesh object, or whether it will need a new flag added to an existing rigged object type in order for the object to be given its own skeleton. But either way, it will be in the same family of rigged mesh objects which is current available.

  • While these objects may use the avatar skeleton, they are not avatars.
  • They will not:
    • Have any concept of body shape or avatar physics associated with them.
    • Use a Current Outfit Folder for wearables.
    • Utilise any system wearables (body shape, system layers, physics objects, etc.).
    • Be influenced by the shape sliders, or have any gender setting (as this is determined by the shape / shape sliders).
  • They will only be related to avatars in that they have associated animations driving them.

  • Given this is not an attempt to implement fully avatar-like NPCs in Second Life, use of the term “NPC” with them is not encouraged.
  • At the moment, the preferred term is simply “animated objects”.

Performance Concerns

  • There is liable to be two areas of impact for this capability:  in-world land impact, directly affecting the simulator, and a rendering impact on the viewer.
  • Right now, the Lab has no idea how great either might be, but they do mean that what can be supported could be limited (hence a reason for not jumping directly to providing “full” NPC capabilities).  However, it will be something that will be monitored as the project moves forward.

General Q&A

This news prompted a range of questions, which Vir sought to address:

  • Would this mean custom avatar skeletons?  – No, it would use the existing (Bento) skeleton, and attaching it to an animated rigged object. However, joint positions and offsets will be supported, allowing the skeleton to be modified to meet different uses.

  • Will this allow the use of Animation Overriders on objects?  – No. objects would at this stage not have  their own locomotion graph like an avatar does, and therefore would not have any notion of walking or flying, etc. All animations would have to be scripted.

  • Does this mean limits associated with the current avatar skeleton – such as the limit of placing a bone no further than 5 metres from the avatar’s centre via an animation – will still apply? Yes, any limits baked into animation will remain. The idea is for existing meshes and existing animations would be able to leverage this capability. In terms of the 5 metre offset limitation.
  • Could animated objects be attached to an avatar?  – This is not necessarily what is being looked at, which is not to rule it out; rather, the emphasis at the moment is getting things animated independently of avatars. There is also a concern over the potential additional impact of animated attachments to an avatar may have.

  • What happens if a script tried to drive the rigged mesh, rather than the avatar skeleton? – Normally, the scripts driving an avatar are in the attachments to that avatar, so “crossing the beams” is not something the Lab would recommend.
  • Is the Lab using this to help fix Pathfinding? – Not really. Pathfinding has its own set of issues and these are unlikely to be tackled as part of this project.
  • Can the skeleton for an animated object be assigned via script from an inventory object? – This might cause permissions issues.
  • How will a script know which object to animate? – The basic thinking is that the script would be inside the object it is animating (as is currently the case for placing scripts in an object), and so has permissions to animate that object. Using a single script to animate multiple independent objects would be more complicated and require some kind of object ID.
  • Could several rigged objects (rigged the same) be linked and have the same animation played? – Yes; the difference would be the object would be animated with respect to its internal skeleton rather than an actual avatar skeleton.
  • Would it be possible to sit on animated objects? – Possibly; although there might be issues, things might look odd. The Lab hasn’t investigated far enough to determine potential gotchas for this, but the hope is animated objects could work for vehicles.

  • Could animation scaling be used to adjust the size of an animated object? – It might make more sense to add some kind of “global scale” which would allow a skeleton to accommodate itself to the size of its object (rather than the object’s size being defined by the skeleton).

  • Will this allow animated objects to have wearables and attachments? – Not at this stage (although mesh clothing could in theory be a part of a the linkset making-up an animated object).  This is a very focused project at this point: playing animations in-world on rigged objects.

Other Points

  • A suggested name for the animated objects project is “Project Alive” – this might actually be adopted!
  • The are no plans for a blog post announcing the project. However, a mechanism will be provided for people to keep involved and comment on the work, possibly via a forum thread, as was the case with Bento. This might at some point utilise polls to focus down on people’s preferences.
  • The in-world forum for discussing this work will be the Content Creation User Group.
  • Between the 44:24 and 51:10 there is a discussion of adding a prim cube) as the root of the skeleton, allowing it to inherit physics and the abilities associated with a prim, morphing physics, plus using IK (inverse kinematics) with rigged object skeletons etc. Pros and cons of these ideas are discussed – largely in chat.  In short: the Lab are still considering how physics might be handled, although they are unlikely to opt for animated or morphing physics, while IK would also need to be looked at.
  • At present, there are no clear time frames as to how long these projects – supplemental animations and animated objects – will take, or when they will be implemented, simply because they are in their early phases. However, given the supplemental animations are restricted to server-side changes and do not require associated viewer updates, they might arrive sooner than animated objects.

Applying Baked Textures to Mesh Avatars

This remains under consideration, with Vir noting animated rigged objects could add a level of complexity to it, were it to be formally adopted as a project.

 

SL project updates 17/2: server, viewer Content Creation UG

Patankarblog post

Server Deployments

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

  • There was no deployment to, or restart of, the Main (SLS) channel on Tuesday, April 25th
  • Depending on the outcome of late QA testing, the three RC channels may be updated on Wednesday, April 26th as follows:

DRTSIM-343: Allow Public Access Region / Parcel Settings Changes

This is the update to region / parcel access that will mean that if a region is explicitly set to Allow Public Access, parcel holders on the region will no longer be able to override the setting at the parcel level (see my update here). It had been deployed to the three RC channels a couple of weeks ago, but was then withdrawn. This may now be reappearing on an RC in week #18 (commencing Monday, May 1st, 2017), with Rider linden noting:

There were a number of suggestions about additions to the project. I just finished getting the code in that will send a notification to the parcel owner if their access settings are changed out from under them. Rider Linden: I’ve also fixed it so that the previous settings are stored in the simstate and restored if the override is reverted.

SL Viewer

The AssetHTTP project viewer, which shifts remaining asset types to delivery over HTTP via the Content Delivery Network(s) leveraged by the Lab, was updated to version 5.0.5.325825 on Thursday, April 27th. This is primarily a bug-fix release, aimed at reducing the high crash rate exhibited by the previous version.

Content Creation User Group Meeting

The following notes are taken from the Content Creation User Group meeting, held on  Thursday April 27th, 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.

The meeting was more of a general Q&A session, live streamed / recorded by Medhue Simoni, and that video is embedded at the end of this update, my thanks to him for providing it. Timestamps in the text below will take readers directly to the relevant point in the video (in a separate tab) where topics are discussed. Note that there was a lot of discussion via text, with topics overlapping. The notes here, together with the time stamps and audio extracts from my own recording refer to the key topics where Vir Linden provided input / feedback.

Attachments Using non-Hand Bones Following Hand Movements

[5:31] Medhue Simoni has been trying to work out a way to have attachments used by the hand (such as a gun, or nunchuk system, for example) rigged to non-hand bones in the skeleton correctly track with the hands. This would, for example allow someone perform a set of nunchuk exercises without the weapons massively separating from the hands, or allow a gun to be drawn, fired, twirled on a trigger finger, etc, and then be returned to the holster in a fluid, hand-following movement.

The problem here is that s non-hand bones which might be used for this aren’t actually connected to the hands, they have no way of knowing where the hand might be placed. However, Medhue believes that given time, he might be able to solve the problem.

“Layering” Meshes using Alpha Textures

[9:20] Some content creators have been taking advantage of placing two meshes in the same location and using an alpha texture as an overlay, thereby forcing one mesh to always be on top.  This can add a certain level of realism to objects such as plants without the need for additional textures / baking.

However, how meshes with alphas are “sorted” at present appears to be more a factor of how the rendering pipeline is working at present, rather than being an intentional feature, therefore using layered meshes and alphas in this way is not recommended, as it cannot be guaranteed that a future update to the rendering system won’t change the behaviour.

Advanced Lighting Model and Lower-End Systems

[20:38] A question was asked if Advanced Lighting Model (ALM) “be made to work on lower spec computers”, so that more people have the opportunity to see materials in use.

ALM has tended to be a controversial subject, as it is often blamed for causing significant performance hits. However, on medium-to-high end systems, this is perhaps a case of people confusing enabling ALM with enabling ALM together with enabling shadow rendering (which does cause a performance hit); enabling ALM by itself shouldn’t result in any significant hit.

Lower specification systems and older GPU systems, however, are different. Some are not capable of handling ALM, regardless as to whether shadows are disabled, and a performance hit is noticed simply by turning it on. This, coupled with a number of other factors, means that trying to adjust ALM so be of use to lower specification systems isn’t really something that the Lab could realistically engineer.

Note that the above discussion continues for a large part of the meeting, mostly in text chat.

JIRA Feature Acceptance & Action

[26:38] Feature requests submitted via the JIRA can go in one of several ways. If a request proposes something that the Lab believes cannot reasonably be done, or which cannot be done, or which offer what is thought to be a small return for the amount of investment in terms of effort, which tend to get rejected.

Where a request is accepted by the Lab and pulled into their internal JIRA, this doesn’t mean it will definitely result in it being implemented. Again, this doesn’t automatically mean the idea will be implemented; it simply means the Lab is considering the idea. Again, it comes down to matters of overall benefit, resource requirements and availability, etc., as to whether it is actually implemented.

Supplemental Animations and Animated Mesh

[41:32] Both are still under consideration at the Lab, but no news on actual projects being on the horizon. Concerns about performance with animated meshes has been raised internally where people to fill there region / space with lots of animated meshes (NPS, trees with branches swaying in the wind, animals, etc.).

Next Meeting

The next content Creation User Group meeting will be on Thursday, May 11th.

SL project updates 16/2: Content Creation User Group

The Content Creation User Group meeting, at the Hippotropolis Camp Fire Circle (stock)

The following notes are taken from the Content Creation User Group meeting, held on  Thursday April 20th, 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.

The meeting was live streamed / recorded by Medhue Simoni, and that video is embedded at the end of this update, my thanks to him for providing it. Timestamps in the text below will take readers directly to the relevant point in the video (in a separate tab) where topics are discussed.

Supplemental Animations

This is an idea to overcome issues of animations states keyed by the server-side  llSetAnimationOverride() conflicting with one another. This problem has been particularly noticeable since the arrival of Bento, and a typical example is that an animation to flap Bento wings, if played to have natural wing movement while walking, results in a conflict with the walk animation, causing the avatar to slide along the ground.

Again, this is only an issue with the server-side animation triggers; older scripted animation overriders, such as ZHAO, which use the scripted llplayanimation function are unaffected.

[03:41] This is still under discussion at the Lab, and if anyone has specific views / ideas, they are invited to attend the CCUG meetings and discuss them.

Scripted Avatar Skeleton Reset

[05:45] A question was raised (via chat) on whether it would be possible to reset the avatar skeleton via script (rather than replying on the local Reset Avatar options in the viewer), as bone offsets defined within some meshes are not resetting when the mesh is removed (see BUG-11310).

Vir indicated that having a means to do this via script may well be useful, but is unsure of where it might slot into the work priorities were it to be adopted, particularly as it would require a new server-side message for passing the update notification to all surrounding viewers.

Skeleton Reset on Region Entry

[13:52] The above spawned a question on having the viewer automatically perform a Reset Skeleton function on entering a region. to try to also combat problems of avatars appearing deformed.

There are some cases where this might be useful. If you run an animation just once to trigger a deliberate avatar deformation, (e.g. from human to quadruped), that animation is not persistent, so if you enter another region, there is a chance other people will see you as deformed. However, trying to fix such situation through an automated skeleton reset is seen as problematic.  For example, an automatic skeleton reset by the viewer on entering a region could conflict with the receipt of animation updates intended to deform an avatar in your view so it looks correct, resulting in the avatar being unintentionally deformed (again, as in the case of an avatar which is supposed to be a quadruped appearing as a deformed biped, as the Viewer has ignored the necessary appearance information as a result of the automated reset.

Projects Under Consideration

The last several Content Creation User Group meetings have included discussions on two potential projects for the Lab. Neither has been as yet adopted, but are under possible consideration by the Lab, and Vir offered a recap of both.

Applying Baked Textures to Mesh Avatars

[20:57] This is essentially taking the ability of the default avatar baking service to manage compositing and baking system layers (skins, shirts, pants, jackets, tattoos, etc), onto a default avatar, and extending it to be used on mesh avatars, potentially reducing the complexity of the latter (which have to be built up in “onion skin” layers in order to be able to handle things like tattoos, skins, make-up options, etc.), and thus making them more render-efficient.

As mentioned in previous Content Creation updates in this blog, there are some issues with doing this: the baking service would likely need to be tweaked to handle 1024×1024 textures (it currently only support up to 512×512); it does not handle materials (although this is not seen as a major issue, as it is felt among those at the CCUG meetings that the primary use of the baking service would be for compositing skins + make-up /  tattoos into a single texture for mesh application), etc.

Animated Objects / NPCs

[25:17] Animated support of object in-world could be used from a wide variety of things, from non-player characters (NPCs), which do not require a link to an active viewer / client, through to animating things like tree branches swaying in a breeze, etc.

This work has various levels of complexity associated with it, and were it to be adopted, might actually result in a series of the related projects. NPCs in particular would be an extensive project, as it would need to encapsulate a means to define what the NPCs are wearing / have attached, how to make NPCs customisable through something like the avatar shape sliders, etc.

As such, were the Lab to decide to pursue animated objects, decisions would need to be made on overall scope for the project, what might be initially tackled, what might be seen as a follow-on project, etc.

How To Encourage the Lab to Adopt Projects

[28:03] Supplemental animations, bakes on meshes and animated objects have been the three major topics of discussion within the Lab in terms of possible major projects. Until they actually get on to the Lab’s roadmap (*if* they get that far), it is not easy for specific time frames, etc., to be discussed at meetings.

However, the best way to actively encourage the Lab to continue looking into such potential projects is to attend meetings like the CCUG and discuss them. Despite using them in the past, polls aren’t seen as particularly useful, whereas direct discussion through meetings like the CCUG tend to bring a consistent set of interests / ideas / suggestion to the service.

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

SL project updates 2017 15/2: server updates / content creation (w/audio)

The Incredible 4blog post

Server Deployments – Recap

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

  • The was no Main (SLS) channel deployment or re-start on Tuesday, April 11th.
  • On Wednesday, April 12th, the three RC channels all received a new server maintenance package which includes:
    • Several internal fixes and two new internal logging modes
    • Another adjustment to fix issues with off-line IM and Group Notice delivery reliability
    • Fixes an issue where large numbers of objects could be returned after a rolling restart.

Upcoming Server Updates

Note: DRMSIM is the Aditi (beta grid) channel reference.

DRTSIM-323: New Simulator Build

This update was delayed in its deployment to a release candidate channel on Agni (the Main grid), with Mazidox Linden indicating it will now be moving in week #16 (commencing Monday, April 17th). Region holders wishing to test their applications / services etc., on the new simulator build should contact Concierge about having their region moved to the appropriate RC channel(s) when known.

DRTSIM-332: Updated Avatar Capacity / Access for Regions

See either Improved Region Capacity and Access from the Lab or Lab announces improved region capacity and access in Second Life in this blog for details. This update is currently on a micro-channel (McRib) on Agni, with Mazidox noting the following:

After careful consideration, we’re making the new limits a default, rather than requiring intervention from Estate Managers (of course it is still possible to set limits lower using the region console or the current Maintenance viewer at http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers ). As a result there’s a new version on Aditi and we’ll have an updated version for McRib soon.

DRTSIM-343: Allow Public Access Region / Parcel Settings Changes

This is the updates to region / parcel access that will mean that if a region is explicitly set to Allow Public Access, parcel holders on the region will no longer be able to override the setting at the parcel level (see my update here). The update had been deployed to the three RC channels, where it was awaiting a viewer-side update featuring revised / improved land controls. However, Mazidox notes the code:

Was removed from RC after residents raised concerns about losing their previous state of “Allow Public Access”. To alleviate concerns of accidental change by landlord wiping out existing access settings on all parcels, we’re saving parcel setting until the region restarts. This means that while it won’t be saved permanently, it will be restored if the landlord removes their Ban Lines override. DRTSIM-343 will likely be back this week in testing, but may not have a corresponding viewer change yet.

DRTSIM-347: Fix for Incorrect Object Returns

This fix is designed to prevent a bug wherein objects might be returned from a region when it is restarted. It is about to undergo testing on Aditi prior to onwards deployment to Agni.

Content Creation User Group

The following notes are taken from the Content Creation User Group meeting, held on  Thursday April 13th, 2017 at 1:00pm SLT at the the Hippotropolis Campfire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are available on the Content Creation User Group wiki page. The audio extracts are from my own recording, and a video of the entire meeting, livestreamed by Medhue Simoni, is embedded at the end of this update.

HTTP Asset Fetching

Vir re-iterated that the HTTP asset viewer, which utilises HTTP and the Content Delivery Network(s) leveraged by the Lab to deliver all Second Life asset types to users (rather than just mesh and texture assets and avatar baking data) as is currently the case with release versions of viewers), is now at Release Candidate status. The viewer has gone through two rapid-fire updates, with the latest version (at the time of writing) being 5.0.4.325368. I have an overview of the viewer, which includes an explanation of CDN use, for those who may not be familiar with the way things work.

Applying Baked Textures to Mesh Avatar

[Video: 2:04-18:35] The Lab is digging further into this idea, which if implemented would in theory allow at least some texture layers to be baked onto avatar meshes in a manner akin to that used with system layers and the default avatar. This could greatly reduce the complexity of mesh avatar bodies by removing the need for them to be “onion skinned” with multiple layers, although there are some issues which would need to be addressed.

One is that the baking service cannot currently handle materials (normal and specular maps; only texture – diffuse – maps), and the Lab has no idea as to how widespread either might be among clothing makers specifically producing applier systems for mesh bodies (which can support the use of materials). As such, they do not have a clear idea as to whether support for materials through the baking service would be required; something that could make any project related to this idea far more complicated to develop.

This led to an extensive discussion on what would be required from a system which could bake directly onto mesh layers, how widely materials might be used, and exactly how such a system would be used. The broad consensus of the discussion was that in terms of baking down layers, most creators like likely prefer to see things like skins and skin variations, tattoos, lingerie, freckles and eyebrows  baked down to a single layer, none of which tend to require significant materials support.

The discussion also touched upon the opportunity to present better alpha masking / alpha blending than chopping up mesh bodies into sections for masking / having alpha blending on different layers get into a fight, etc. Overall, it was felt that presenting some means to bake down some layers and reduce the complexity inherent in mesh avatars would be preferable to waiting on the Lab to be able to undertake a more widespread overhaul of the baking service to provide “full” materials support through it. Vir is going to take these points raised back to the Lab for further consideration.

Animating Objects

Animating mesh objects is another project under consideration. This would be especially useful for things like non-player characters (NPCs) and the like. There are several ways this might be approached, but as Vir explained in reply to a question, none of them would involve animating the Collada file. He also pointed out that animated objects is still only at the discussion stage, so whether any project – were it to be taken on – would include the ability for animated objects / NPCs to attach static objects (e.g. a hat or similar), hasn’t been addressed.

Rapid Round-Up

Animating Objects (/ NPCs): This is also still under consideration, but yet to be adopted as a project. However, were it to go ahead, it would likely not involve animated the Collada files, as suggested during the meeting, but leverage SL’s existing animation capabilities. It’s also too early in the process to say whether or not animated objects would support static objects being attached to them (e.g. an NPC being able to wear different hats).

Supplemental animations: The idea is to allow “supplemental” animations to run alongside the animation states keyed by llSetAnimationOverride(), effectively allowing them to play together, rather than conflicting with one another as is the case at the moment. Suggested some time again, it is still be considered, but no work has been carried out as yet.

Rendering Cost Calculations: he Lab is running a background project to look at the cost of rendering a wide range of Second Life features across a range of different client systems running the viewer. The tests for this work have now been defined and are about to be put into use. Once sufficient data has been gathered, the Lab will use it to determine what might need to be done to improve the accuracy of the avatar rendering calculations. Vir further defined the project’s status:

Re-using Linden Water Maps: The question was asked about re-using Linden Water data (Linden water being a combination of animated diffuse and normal maps) so that it might be re-used on other surfaces. The obvious use here would be to enable mirrors. Quite aside for the feared performance hit this could cause, it seems likely that the water system probably stands as its own unique implementation which would not easily lend itself to other uses.

Bouncing Bewb Improvements: In creating a set of animation for a client, Medhue Simoni noticed an issue with breast attachments and rigged mesh breasts. Essentially, as breast attachments go to the chest, they don’t necessarily follow the movement of the breasts when physics are used (which utilise the volume bone). His suggested solution would be to allow breast (/ nipple) attachments to be attached to the volume bone instead, allowing them to naturally follow breast movement,

Other Items

Aditi Inventory Server Update

The Lab has upgraded the hardware for one of the Aditi inventory servers. Almost all users logging-in to Aditi should be using it. There is a request that if those who do file a bug report f they notices anything strange related to inventory: lag, failure to load, textures looking incorrect etc.

SL project updates 2017 13/2: server, viewer, Content Creation meeting

PeTOublog post

Server Deployments – Recap

  • There was no update to the Main (SLS) channel on Tuesday, March 28th.
  • On Wednesday, March 29th, the three RC channels received a new server maintenance package, primarily comprising a small update to asset metrics stats logging.

Week #14 (commencing Monday, April 3rd) should see a new RC update: “New estate setting allowing estate owners to override the parcel level allow public access settings”, which I assume will be awaiting a viewer-side update once deployed – but more on that next week.

SL Viewer

The new AssetHttp Project viewer,  version 5.0.4.324828, appeared on Thursday, March 30th. This contains code for handling the delivery of landmarks, wearables (system layer clothing and body parts), sounds and animations via HTTP and through the Content Delivery Networks the Lab leverages. I have a separate report on it available here, and Vir Linden – who has been leading the viewer-side work for the project – had this to say at the Content Creation User Group meeting on March 30th:

Outside of this, the various LL viewer channels remain as follows:

  • Current Release version: 5.0.3.324435, dated March 13th – snapshots to e-mail hotfix
  • Release channel cohorts:
    • Maintenance RC viewer version 5.0.4.324882 released on March 23rd – avatar rendering and other updates – overview
    • Voice RC viewer version 5.0.4.324770 released on March 20th – several improvements to voice
  • Project viewers:
    • Project Alex Ivy (LXIV), 64-bit project viewer updated to version 5.1.0.503537 on March 17th
    • 360-degree snapshot viewer updated to version 4.1.3.321712 on November 23rd, 2016 – ability to take 360-degree panoramic images – hands-on review
  • 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.

New Simulator Build Testing

DRTSIM-323 is the channel on Aditi (the beta grid) which is carrying the a new version of the simulator code using the Lab’s latest build of the server operating system. In includes the regions: Fire Ants, Bug Island and Mauve (again, these are on the beta grid). It’s still under test, and will remain that way for a while yet, although there is some limited testing occurring on the Snack channel on the main grid.

Content Creation Group Notes

Animation Transitions

Vir is still looking at the issue of animations becoming “stuck” between transitions when using  llSetAnimationOverride – an avatar freezing when it should transition from standing to walking, for example, or getting stuck in a pre- or post-jump mode (see  BUG-7488 as an example of the kind of problem). As llSetAnimationOverride is a server-side function, it would appear that something is going awry there, but pinning it down is proving difficult.

Mesh Upload Physics Type

This goes back to a very old Mesh beta (when mesh model support was being introduced to SL), and feature request CTS-571, and also related to BUG-40694. In sort, the original request was to allow the physics shape for an object to be set at upload time, rather than as is currently the case, after the upload. Allowing this is seen as a potential fix for a wide range of issues associated with mesh modelling, and could also overcome lot of the “failed to rez” inventory loss is due to the use of the lowest LOD auto-generated shape preventing a ray trace hit on the server-side when trying to place objects, as defined in BUG-40694.

While cautioning that changes to the mesh uploader aren’t currently on the roadmap, Vir listened to the discussion of the issues, and indicated he’d take a look at the upload and the problems, and possibly suggest a re-visit to the uploader might be in order depending on what he finds.

Object Permissions – Derivative Permission Discussion

Note that while the following was discussed during the Content Creation User Group meeting, it does not mean anything is about to be changed with the Second Life permissions system.

There have been a number of long-standing pricing issues with selling full permission items, such as kits to help people build content they can sell, or mesh templates for clothing and accessories which allow non-mesh modellers to enhance (via texturing, scripted options etc.) to enhance and then re-sell. So of these discussions can be seen as far back as with feature request SVC-2622.

Touching on these issues from the perspective of diminishing returns for creators of full permission kits and templates, Cathy Foil enquired whether a “derivative” permissions flag, similar to that seen within IMVU might be added to SL. This would still allow those wishing to sell full permission Copy, Modify, Transfer items to do so, but it would also allow kit and template makers to set the Derivative flag against a product (so it is Copy, Modify Derivative, for example).

This flag would allow others to buy the item, enhance it, resell it, etc., but with the caveat that the minimum they could re-sell it for would be the original purchase price. Thus, they would naturally be encouraged to sell it for more (with the potential for the original creator of the item effectively getting a “royalty” type payment of each item sold).

This sparked a lengthy discussion on a range of topics – such as adding derivative chains to the system (allowing all changes to an item by various resellers to be tracked), through the idea that such a system would encourage people to add value to the products they create using fell perm kits / templates in the knowledge their work would be rewarded, etc.

However, as Vir pointed out, changing the permissions system itself is complicated and not easy to update. Adding some kind of derivative tacking  system would as well makes any such update, even were it to be considered, vastly more complicated in scope. As such, it is not something the Lab is liable to consider.

Avastar,  MayaStar and Maya .ANIM Exporter

Avatar 2 is now at release candidate 7 for those with the product, MayaSatar has received an update covering bug-fixes and the like.

Aura Linden is still working on the .ANIM exporter for Maya (does not require MayaStar), but as she’s working on this in her own time, it’s taking a little longer than anticipated to finish off, having had to re-write the exporter using python rather than Maya’s own MEL scripting language.

SL project updates 2017 12/2: TPV Dev and Content Creation meetings

The Heart of the Seablog post

The notes in this update are taken from the following sources:

  • Content Creation User Group meeting, held on  Thursday March 23rd, 2017 at 1:00pm SLT
  • The TPV Developer meeting held on Friday, March 24th, 2017 at 12:00 noon SLT.

A video of the TPV Developer meeting is included, and timestamps to it are included in the text, where relevant. Notes from the Content Creation User Group appear towards the end of this update.

SL Viewer Pipeline

Maintenance RC Re-issue

On Thursday, March 23rd, the Lab released a new Maintenance RC viewer – version 5.0.5.324882 – to replace the faulty March 16th release.  As such, it includes the same set of updates, and I’ve written an overview of the core changes.

Voice RC

[0:19] The Voice RC viewer, version 5.0.4.324770, has a problem with the SSL Certificate Authorities update included with it. This triggers some code deep within the viewer which should not be triggered. This tends to affect TPVs for than the official viewer (the issue was actually noted by Firestorm). It’s be at least a couple of weeks before this matter is resolved, and until it is, the Voice RC viewer will not be progressing, and the Lab is unlikely to expand the cohort of users running it. Alongside of this, but separate to is, is an issue which is giving the viewer a higher than expected crash rate. which is also being looked into. Additionally, among the updates to this viewer and not included in the release notes, is support for the Opus Interactive Audio Codec, although server-side support is still required. This should eventually see further Voice quality improvements.

64-bit Project Alex Ivy

[3:10] As noted in part 1 of this week’s update, the 64-bit viewer was updated on Friday, March 17th to version 5.1.0.503537. This viewer is showing a significantly lower crash rate, although it does have some other issues. It should have a further update in the next two weeks.

360 Snapshot Viewer

[4:06] It appears unlikely that the 360 snapshot viewer will be update in the next week due to the ongoing work with the 64-bit viewer.

Asset Fetching Via HTTP

Vir Linden has been focused on the viewer side of this work, which will see the remaining inventory asset classes – landmarks, gestures, animations, shapes, sounds and wearables (system layer clothing) – switch from UDP delivery through the simulator to HTTP delivery via the via the Content Delivery Network(s) the Lab uses.

[4:42] The viewer for this work may be appearing in week #13 (week commencing Monday, March 27th). However, this is dependent on some back-end web configuration work being completed so that the required simulator changes can be correctly enabled on the Main grid.

Once these remaining assets have been shifted to delivery to the viewer via HTTP / CDN, the remaining UDP messaging for asset delivery will be turned off on the simulator end. This may be around July / August time (to be confirmed once the HTTP updates have reached release status), and will mean any older viewers still using UDP messaging for asset data fetching will be unable to do so.

New JIRA – Soon

[14:35] There is a new JIRA update coming, in line with recent updates made by Atlassian. It is currently on internal testing at the Lab, but there is no time frame as to when it will make a public appearance.

FMod Studio

[16:00] Around the start of the 64-bit viewer project there was a potential for an open-source contributed project for using Fmod Studio with viewer audio. This is likely to be re-examined, and if found suitable it may be up for adoption. However, given it will require a licence, which is likely to take a while to be processed by the Lab, it will not prevent the 64-bit viewer progressing forward toward release. Instead, the code module will be integrated as and when the licence has been obtained.

Content Creation Meeting Round-up

Animation Transitions: as noted in my March 9th CCUG meeting notes, people have been noting issues with animation playback, some of which appear to be related to llSetAnimationOverride, one of the server-side functions for controlling your animation state (see  BUG-7488 as an example).

Vir has been looking at this, but no definitive cause has been found. One suggestion is that it might be related to  Walk Adjust cutting in, which can occur when transitioning from standing to almost any other state when using llSetAnimationOverride. Although is that some transitional animation, such as a pre-jump or landing might be accidentally set to loop, causing an apparently freeze / lock. Vir will continue to poke at this.

Avatar Rendering Calculations:  work continues on refining the rendering cost calculations for avatars. However, this work is still not ready for shipping. Theses adjustments are twofold: to account for more “recent” changes which have been made since the system was last properly evaluated, and to address known issues in how the calculations are made.

Applying Baked Textures to Mesh Avatars: this is still on the short list, but is not an adopted or active project within the Lab as yet.

Rigging Animated Attachments to the Skeleton: there are issues trying to rig animated attachment to the avatar skeleton (e.g. a set of nunchaku or a gun that twirls before being holstered). While they may work OK using a specific avatar shape, problems can occur should the shape be changed (e.g. the nachaku  / gun no longer accurately positions relative to the hand). Medhue Simoni suggests items like this might be rigged and animated to the relevant attachment point instead.

NPCs / Animated Objects: this is still not a formal project at the Lab, but there has been some discussion on the potential feature set, were it to become a project.

Scripted method to position bones: see BUG11407. VIr’s concern with this approach would be the level of complexity / risk of conflicts with animations / need to expand the scripting capabilities on the back-end in order to make full scripted positions of bones useful. However, within the meeting, it was seen as being more useful in being able to fine tune poses for things like photography (e.g. to prevent hands vanishing into breasts or thighs), and thus supplant something like Anypose. As a result, Vir’s agreed to look at tools like Anypose and have a fresh look at the JIRA.

Other Items

Bento Ridable Horse

Strawberry Singh has all the information on a new Bento Rideable horse, which has a release had of Saturday, March 25th. As the name implies, this is a horse which makes full used of the Bento skeleton extensions (so when worn, it is an extension of your avatar).  Berry has produced a tidy video on the horse, and I’ll finish this update by embedding it – read Berry’s blog post for the specifics.