SL project 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.
Advertisements

2018 SL project updates week 30/2: CCUG summary w/audio

“That’s no moon…” – Rider Linden (seen at the bottom of the image) teases with possibilities whilst talking Environmental Enhancement Project (EEP) on the forums. Credit: Rider Linden

The following notes are taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, July 26th, 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.

Note that the audio presented here may not be in the exact order of discussion during the meeting; as subjects were at times returned to following their initial discussion, I have attempted to bring together key points of discussion by topic / subject matter. Also, please note that audio drop-out when Vir is speaking appears to be an ongoing Voice issue.

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

Viewer Status

The Animesh viewer updated to version 6.0.0.518080, which appeared in the pipeline on Wednesday, July 25th.  It comes with the following notes:

It has a fix for a bug that caused rigged meshes to fail to display intermittently [BUG-225063]. There is a significant change to orientation handling for Animesh objects in this build. If you make an Animesh object from a linkset that contains a rigged mesh as the root object, then the rotation for the object will be corrected to try to make the rigged display line up with the physics representation (correction is based on the bind shape matrix). This will change the behavior of some existing content – for example, the gift raptors on Agni are now rotated 90 degrees. Content that uses a non-rigged object as the root should be unaffected by this change. LOD calculations for Animesh objects now use the dynamically updated bounding box, so they should be more accurate and consistent.

The rotation fix does have an impact on some content, which can end up moving “sideways” compared to the expected direction.

Additional Work for Animesh to reach RC Status

  • Server-side: Vir is currently trying to track done the cause of some server issues which are probably the result of the simulator having to “remember” a lot more information with Animesh, and failing to do so properly, which can impact things like streaming costs.
  • Viewer-side: still some outstanding work to be done with getting LODs to behave / display consistently.

Both of these are seen as requiring resolution before the Animesh viewer moves to release candidate status.

Future Animesh Work

  • There has been some discussion about possible follow-on projects for Animesh, but no final details on what will be in the mix has been made.
  • Animesh customisation, including assignment of a body shape is considered to be “high” on the list of follow-ups. However, no decisions have been made on whether:
    • It will include LSL support for customisation.
    • It will add body shape support (and the use of the body sliders for customisation.
    • It might include an extension to Bakes on Mesh for Animesh.

Animesh and Scale Animation

Scale animation is something that has been requested since Bento. However, the problem here is the SL animation format doesn’t have any notion of scale animations, so in order for support to be added, the entire animation system would require an overhaul.

Another issue, as found with Bento, is that things can become tricky (if not confusing for some) when animations and sliders are both controlling the same thing – as would be the case with scale animations (although this was eventually done with bone translations).

In Brief

  • BUG-225153 “Animesh issue: Multiple faces don’t work – Reverts back to one texture when animation played”: this does not appear to have been reproduced by others, and it is unclear whether it is an issue, or something specific to the user.
  • BUG-225158 “[ANIMESH ] Inconsistent default graphics settings with relation to current mainstream viewer as well as ‘recommended settings’ button”: this appears to be a change in how graphics settings are detected in the viewer in general, rather than specific to Animesh. further testing / investigation is required.

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 with the Lab’s QA team, and the viewer is internally flagged for product reviews, so a project viewer update could be appearing soonTM. This should include a number of bug fixes that have been worked on recently.

In addition, Anchor Linden has been adding new LSL constants for the various Bake Channel textures, so that if someone wants to use LSL to change a particular face on a mesh object to use Bakes on Mesh, they will be able to do that using a constant.

A reminder for those trying to test Bakes on Mesh: the capability requires server-side support, which has not been deployed to Agni (the Main grid), but is only available on Aditi (the Beta grid) on the Bakes on Mesh test regions.

To prevent confusion, it’s been suggested the Bakes on Mesh viewer is blocked from accessing Agni until such time as the server-side support has been deployed.

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.
  • 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

  • Rider Linden has been working on the viewer UI (presumably as a result of QA feedback). It is thought that a first cut project viewer is not that far away from appearance publicly.
  • However, as EEP requires additional back-en changes which have yet to be deployed to Agni, it is likely that when the project viewer does appear, initially, it will only work on Aditi (the beta grid).
  • Rider has also been teasing people with EEP-related images on the forums!
Another EEP teaser from Rider Linden: the new Fixed Environment Sun / Moon editing panel in the upcoming EEP viewer. Credit: Rider Linden

Other Items

  • BUG-225157 “[RC BlueSteel 18.07.17.517953] Adjusting specular horizontal offset also adjusts specular vertical offset on BlueSteel regions only”: this has been imported into the Lab’s internal JIRA and may be receiving attention.
  • Increase to maximum prim size: the current prim size limit in SL is 64m on a side. There have been calls to increase this to allow bigger meshes to be imported (e.g. large land forms for landscaping a region).
    • There are no plans to increase this limit in the immediate future, and it’s been pointed out that increasing the size could be somewhat self-defeating in that it results in a loss of vertex position resolution (vertex space being limited to 64K), which could result in odd artefacts occurring in uploaded models, and, as Elizabeth Jarvinen (polysail) succinctly put it, “your vertex positions will wobble like nuts at high altitudes”.
  • Next Meeting: due to the Lab’s start-of-month internal meeting and vacations, the next CCUG meeting will most likely be on Thursday, August 16th – check the wiki page to confirm nearer the time.

 

2018 SL project updates 29/2: CCUG summary

A razzle of raptors? Animesh

The following notes are taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, July 19th, 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.

Note that the audio presented here may not be in the exact order of discussion during the meeting; as subjects were at times returned to following their initial discussion, I have attempted to bring together key points of discussion by topic / subject matter. Also, please note that audio drop-out when Vir is speaking appears to be an ongoing problem at his end.

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

Rotation Issues

These cover a couple of issues:

  • In one (BUG-139251), when some static mesh objects are converted to Animesh, the visual mesh is rotated through 90 degrees when seen in the Animesh viewer, but the physics mesh isn’t, leaving it perpendicular to the model. This is possibly an orientation issue, with the viewer expecting the mesh to be aligned to +x=forward – which not all mesh modelling tools follow.
  • The second problem is that when linking a series of objects into a single Animesh, then are visually located where the avatar skeleton supporting them is located, but the physics shapes remain in the original location of the objects prior to linking / converting.

Both of these problems pre-date Animesh, but have been effectively “hidden” because until now, rigged meshes could only be attached to an avatar, effectively masking the issues.

As a part of the approaches to fix these issues, Beq Janus and Elizabeth Jarvinen (polysail) have contributed code to correctly apply the bindpose matrix within the viewer. This code is in the latest version of the Animesh project viewer, which should be available soon, and should cover legacy content not corrected by similar fixes incorporated into Avatasr for new uploads (see my week #26 CCUG summary for more on this).

LOD Issues

Vir is currently working on the server-side issues, but once those have been resolved, his plan is to work on the viewer-side LOD issues, including BUG-224971 and the Dynamic bounding box issues (see my week #25 summary). Once he has completed testing the fixes for these, the hope is that the Animesh viewer can move to RC status.

Mesh Physics Shapes Issues

The deployment of Animesh to the RC server channels has revealed a couple of issues which need to be resolved:

  • Not all of the mesh information the server is required to “remember” is being properly retained.
  • Code within the Animesh update appears to be causing some in-world mesh objects to use the wrong physics shapes.

In Brief

  • Concern was raised whether Maya could be used to produce Animesh, given the rotation fixes seem to apply to Blender / Avastar. As Far as Cathy Foil (creator of Mayastar) is aware, meshes created in Maya / Mayastar can be converted for use as Animeshes.
  • Animesh does not support custom bones – it works purely with the Bento skeleton, which does allow for bone re-purposing.
  • BUG-225063 reports that the latest Animesh project viewer fails to display meshes at times, while older Animesh code can cause meshes to display incorrectly. Vir believes the issue may be linked to one he has been addressing, and believed to be caused by an uninitialised variable. The fix for this should be in an upcoming release of the viewer.

  • BUG-216352 “[Animesh] Issue with animations not rendering if they were stopped and started while host object is selected” – this is still being investigated. However, as it only applies to the same animation, rather than all animations, the issue isn’t regarded as a blocker for Animesh.

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

Some people have been reporting some “excitement” when using the new universal bake channels for Bakes on Mesh in regions that don’t have the server-side support for Bakes on Mesh. These issues will likely require further viewer and server-side changes to fix them.

At a recent LL meeting on Bakes on Mesh it was decided not to implement any additional features at this point in time – so no LSL support prior to the initial deployment. Rather, the Lab would like to get a basic capability out that can be used and tested, then potentially improve on it with further features in time.

As it is, even moving Bakes on Mesh to release candidate status is dependent on a large number of back-end service changes (e.g. the inventory system must be updated to handle the new wearable types; the Appearance and Bake services must be updated, as well and the simulator and viewer updates.

Asa reminder, it will not be possible to use Bakes on Mesh with Animesh creatures / creations, primarily because Bake On Mesh uses the Outfit system, which Animesh currently does not – but may be extended to use in the future.

The question was asked if Bakes on Mesh could be used to texture an Animesh attachment to an avatar, and in theory it would be – but how useful / practical this might be is open to debate.

In Brief

  • There will be a CCUG meeting on Thursday, July 26th, however, it comes on top of the SL summit meeting at the Lab (to discuss the SL development roadmap) and  so Vir believes there won’t be too much to report on additional work at the meeting.
  • Concern has been raised over the recent DMCA situation involving around 3 makers of mesh heads, and whether Bakes on Mesh will see changes to the SL Terms of Service / guidelines specifically for UV maps (e.g. what is allowed, what isn’t), given that Bakes on Mesh could encourage the use of the basic SL UV maps and result in multiple claims of people “using” someone else’s maps. This concern is being passed back to the Lab’s legal team.
  • The latter part of the meeting included a lengthy discussion on animations (adding a function to “instantly” stop an animation / being able to modify animation speeds / priorities in-world; the legitimacy of modifying animations) which also spread to the permissions system (providing  “export” permission to allow people to export “full perm” meshes for direct editing and re-upload and / or implementing a “derivative” permission.
    • Some of the animation discussion touched on the animation discussion may surface as a specific feature request(s).
    • It’s unlikely there will be any large-scale changes to the permissions system in the near future.

2018 SL project updates 26/2: CCUG summary

Eri-Ador; Inara Pey, June 2018, on FlickrEri-Adorblog post

The majority of the following notes are taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, June 28th, 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.

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

Current Status

  • On Wednesday, June 27th, server-side Animesh support was deployed to all three of the major release candidate channels – Magnum, LeTigre as well as BlueSteel. Test regions for Animesh are as follows:
  • The Animesh viewer remains at project status, but was updated to version 6.0.0.516979 on Monday, June 25th, 2018. The viewer is liable to remain at project status until the bugs currently being worked on have been resolved. These bugs include, but are not limited to:
    • Encroachment / Position / Offsets.
    • Rigged Mesh Level of Detail / Bounding Box Issues (BUG-214736).
    • Broken Rotations Issues (see below for more).
    • Dynamic bounding box issues: the project viewer (5.1.4.515420) includes updates for keeping dynamic bounding boxes going for rigged avatars (including Animesh). The calculations used in these updates for Animesh attachments “isn’t quite right” and the extent calculations can be incorrect (particularly if an Animesh object is being rendered as an imposter).
  • Vir now has a number of issues related to level of detail which he is starting to dig in to, including BUG-224971.The revised bounding box calculations related to this will be in the next Animesh project viewer update.
  • The z-offset issue with Animesh objects failing to respect z-offset height setting specified at upload for a rigged mesh should now be fixed.
  • It’s been reported that while Animesh objects will show info in the same way as avatars do with Developer > Avatar > Animation Info is enabled, it reports different info to  llGetObjectAnimations()
    • This might be a bug.
    • It might be that the debug information isn’t updated on a frequent enough basis.
    • Either way, a bug report has been requested.

Rotation Issues

These cover a number of areas, including:

  • In one (BUG-139251), when some static mesh objects are converted to Animesh, the visual mesh is rotated through 90 degrees when seen in the Animesh viewer, but the physics mesh isn’t, leaving it perpendicular to the model. This is possibly an orientation issue, with the viewer expecting the mesh to be aligned to +x=forward – which not all mesh modelling tools follow.
  • The second problem is that when linking a series of objects into a single Animesh, then are visually located where the avatar skeleton supporting them is located, but the physics shapes remain in the original location of the objects prior to linking / converting.

Both of these problems predate Animesh, but have been effectively “hidden” because until now, rigged meshes could only be attached to an avatar, effectively masking the issues.

The recommendation for trying to deal with them at present is for Animesh objects to have a non-mesh root object, and associate any physics representation to that non-mesh root object. This should hopefully eliminate the current issues and help ensure that any mesh being propelled via scripts in the root object will move in a predictable manner (.i.e. moves forward when driven forward by a script).

There have been two user-led moves to try to resolve / reduce these problems:

  • Beq Janus and Elizabeth Jarvinen (polysail) have also contributed code to correctly apply the bindpose matrix within the viewer.
  • As the physical rotation issues tend to manifest with Avastar, it is being updates so that models are automatically oriented so that x+ is always forward. This may not help with all legacy content being converted to Animesh, but it should help with new content created via Avastar.
    • Vir has a concern that even with these changes, a  linked Animesh object using mesh items created in different tools might still exhibit unexpected behaviour – that an animation to move the Animesh forward might correctly drive the root mesh, but cause other elements to move (for example) sideways …
    • He also notes that the solutions don’t necessarily address the physics rotation / placement issue.
  • It’s also been suggested the llLookAt provides documentation on what might be regarded for expected object behaviour.
  • It has been pointed out that the orientation of a model can be checked in the mesh uploader preview window prior to upload, although the uploader doesn’t explicitly report an objects rotation.
  • The debate on how best to approach the issues is likely to continue.

Animesh Attachments

  • Animesh attachments are currently limited to one per avatar. This is viewed by some as too restrictive.
  • This limit was set to allow the overall potential for a performance impact of attached Animesh objects to be limited (e.g. going to a club where everyone is wearing 4 or so Animesh attachments – hair, pets, and the like, all with their own skeleton and animation, all doing their own thing, could see the viewer take a significant performance hit).
  • Some are seeing it as a tablets-of-stone limit and are wanting it raised from the outset (to between 2 and 3 Animesh attachments per avatar – in part, this appears to be due to a preference for using Animesh over the additional bones within the avatar skeleton for some attachments).
  • Vir has indicated that the limit will not be increased during this initial deployment of Animesh, but the Lab will monitor the limit, and a possible future increase is not out of the question.
    • It is easier to relax an initial than it is to restrict them after rolling-out a capability – which is the situation the Lab wants to avoid (e.g. by – say – allowing 3 Animesh avatar attachments out-of-the-gate, then having to cut it back to 2 or 1 at a later date,due to the performance impact the capability is having).

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

  • Anchor Linden is continuing to work on viewer-side bugs. In the next version of the viewer, an avatars appearance should correctly update in the Edit Appearance mode when changing applied textures.
  • The project viewer updates are now with the Lab’s QA team. However, and update made to the project viewer doesn’t mean that it will be progressing to release candidate status just yet.
  • As per my previous CCUG summary, the project viewer will not initially have LSL support for Bakes on Mesh – this will likely be added as the project as a whole iterates.

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.
  • 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

  • Work is progressing on the project viewer, which should be appearing SoonTM – possibly in the next two weeks, with back-end EEP support available on Aditi (the Beta grid) – supported regions TBD.
  • There is a long-term issue with land ownership on Aditi which is unlikely to be resolved before EEP is deployed to Aditi.  This means that it is likely the Lab will set up a series of test parcels on Aditi and assign them to people manually for testing EEP capabilities at parcel level.
  • It’s not clear how walls and other structure will affect crepuscular rays.

Additional Discussions

Particle System Updates

Particle wizard Tyrehl Byk (learn more about his work here and here) is back in Second Life and looking to produce more of his stunning shows. In the meantime, he has filed a feature request to improve particle capabilities in Second Life (see BUG-214757 – “Within the current llParticleSystem parameters, three new data points would be established that could be referenced by a particle script which would facilitate an exponential change in how particles are seen by SL residents”).

Oz Linden has indicated this is something the Lab would like to implement; however, while the feature request has been imported for tracking in their internal JIRA,they currently do not have the viewer-side resources to take on the work.

That’s one I would like to have had … The hardest part of that one is the viewer side, because that’s where the particle stuff actually happens. So if you’re interested in accelerating that one, Tyrehl, then find a third-party viewer dev who will dummy up the support in the viewer, then we’ll be able to do the server-side relatively easily.

Oz Linden on feature request BUG-214757

So if there is a third-party viewer developer out there who is interested in working with Tyrehl on this feature,please contact him in-world.

Get Animation Length

While not specific to Animesh, but seen as potentially useful, is a long-starting feature request, VWR-12518, “llRequestInventoryData() – Get length of an animation (in seconds)”.

A problem here is that at present, the simulator doesn’t actually read the contents of animations to ascertain what they are doing, how long they run, etc (while there is some analysis carried out during the animation upload process, this information is not retained for later use). So for an idea like this to be implemented would require a considerable amount of server-side work which might also have performance implications, as such this request is unlikely to be implemented unless part of a much large overhaul of back-end animation support.

Next Meeting

The next Content Creation User Group meeting will be held on Thursday, July 19th.

2018 SL project updates 25/2: CCUG summary

Devin's Eye; Inara Pey, June 2018, on FlickrDevin’s Eyeblog post

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

Note that the audio presented here may not be in the exact order of discussion during the meeting; as subjects were at times returned to following their initial discussion, I have attempted to bring together key points of discussion by topic / subject matter. Also, please note that audio drop-out when Vir is speaking appears to be an ongoing problem at his end.

SL Viewer

The Pálinka Maintenance RC viewer, version 5.1.6.516459 and dated June 15th, 2018, was promoted to de facto release status on Thursday, June 21st, 2018.

The 32-bit Windows Unloop RC viewer, version 5.1.6.515965 and dated June 5th, 2018, was also withdrawn as it is no longer required with the promotion of the Pálinka  RC viewer.

This leaves the official viewer pipelines, at the time of writing, as follows:

  • Current Release version5.1.6.516459 and dated June 15th, promoted June 21st – formerly the Pálinka Maintenance Release Candidate – New.
  • Release channel cohorts:
    • No viewers (at the time of writing, but a new Maintenance RC is expected).
  • 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.

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

Current Status

As noted in my report here (and the official announcement from the Lab), the server-side code for Animesh was deployed to the BlueSteel RC as part of the ongoing developing and testing of the capability. For those wishing to test Animesh, there are also five dedicated Animesh test regions available (all obviously on BlueSteel at this point in time):

How quickly Animesh is promoted beyond BlueSteel depends on whether any additional bugs / issues are identified, what else is in the simulator release queue. However, it is unlikely the capability will go grid-wide until the viewer at least reaches release candidate status (at the time of writing, it is still at project viewer status).

No additional bugs have thus far been reported, although there is a claim of slight delays being experienced when starting / stopping Animesh animations.

Vir continues to work on the Animesh viewer’s bugs, which include, but are not limited to:

  • Encroachment / Position / Offsets.
  • Rigged Mesh Level of Detail / Bounding Box Issues (BUG-214736).
  • Broken Rotations Issues.
  • Dynamic bounding box issues: the project viewer (5.1.4.515420) includes updates for keeping dynamic bounding boxes going for rigged avatars (including Animesh). The calculations used in these updates for Animesh attachments “isn’t quite right” and the extent calculations can be incorrect (particularly if an Animesh object is being rendered as an imposter).

The next viewer Animesh viewer update will likely only be a merge for parity with the updated release viewer; the Animesh viewer update after that should include further fixes / changes.

There’s also more performance and stability testing to be carried out now Animesh is on the main grid and facing some “real” simulator loads, as Aditi is not representative of scripting, etc., loads simulators on Agni have to deal with, or the kind of avatar and rendering loads the viewer has to manage.

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 baking service.

Resources

Current Status

There have been some conflicts between Bakes on Mesh and the inventory service. The latter requires an update, but this has been delayed pending updates related to another project (I presume the Environment Enhancement Project, which also requires changes to the inventory system – see below).

It is still not clear if the additional baking channels – LEFT_ARM_TATTOO, LEFT_LEG_TATTOO, AUX1_TATTOO, AUX2_TATTOO and AUX3_TATTOO, which can be access through the latest version of the Bakes on Mesh project viewer (version 5.1.6.516270, dated June 14th, at the time of writing) will be updated to support the application of alpha layers. The con / pro arguments for alpha support on these channels are seen as:

  • Against adding alpha support: alphas are primarily a means of masking the system avatar; as these five new channels cannot be used with the system avatar, there is no need to add alpha support.
  • For adding alpha support:
    • Regardless of the above, there are cases where creators may want to mask a portion of a mesh on which anyone of these channels are used.
    • Ensuring a consistent means of using alpha masking across all of the bake channels could help in reducing the overall complexity of mesh bodies and heads.

These pro points are being heard by the Lab, and will be discussed further before a final decision is made whether or not to add alpha support to the new channels.

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.
  • 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 God rays.

Resources

This work involves simulator and viewer changes, and includes some infrastructure updates.

Current Status

Rider Linden is working on debugging the back-end inventory system changes required to support the new EEP asset types – Sky, Water, Days (as per above). As soon as this work is completed (and presumably passed by QA), thing should be set for a project viewer to be made public, and the back-end support for EEP will be deployed to Aditi for public testing.

The first release of an EEP project viewer will not include any scripting support for the new capability – that will be added as the project viewer iterates. Details of the anticipated scripting support can be found in the project definition document, linked to above.

There was also a short discussion between Vir and Rider Linden on the ease with which sets of assets might be added to the inventory system as a result of Rider’s work.

In Brief

Collaborative Creation

The question was asked if the permissions system in Second Life could be extended to allow easier means of collaborative work.

For example: adding an option to the viewer’s Build floater that allows an item to be shared with the same permissions as granted the creator, or providing a means by which an object’s metadata includes the Agent IDs for avatars with whom it can be shared whilst maintained its original permissions.

There are currently no plans to the Lab to work on the permissions system.

Animesh / Mesh Rotation Issues

There was a discussion during the latter part of the meeting on the mesh / Animesh rotation issues. As noted in previous updates in this blog, there are likely a number of contributing factors to this problem, and the Lab has not settled on a solution.

 

 

 

Lab blogs Animesh RC deployment

Animesh will make it a lot easier to have animals roaming in Second Life (as well as other things) compared to current methods of achieving the same results

On Wednesday, June 20th,2018, The Lab completed an initial deployment of Animesh to the Blue Steel release candidate server channel.

For those not up-to-speed with Animesh, 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.

As noted in the official announcement, Animesh has been in development for some time, with the Lab working closely with the content creator community to develop Animesh, with weekly (more-or-less) meetings being held as a part of the Content Creation User Group (CCUG) meetings.

It is important to note that with this deployment, Animesh is still very much in development, and there may well be further changes before it is fully released.

Animesh Halloween boogie, October 2017. Courtesy of Alexa Linden

Those wishing to try Animesh need to note the following:

  • The server-side support for Animesh is currently only available on the BlueSteel RC regions.
    • Server support for Animesh involves adding a new message and some new LSL functions – see below.
    • If you try to run Animesh objects on a non-Animesh region, you will encounter problems: a) content won’t look right because the server won’t be sending you the appropriate messages; and b) you’ll get script errors because the region doesn’t like the new LSL calls.
  • The Animesh project viewer is required to see Animesh creations correctly. At the time of writing this was at version 5.1.6.516525, dated June 18th, 2018.
    • Animesh content will not render correctly in viewers without the necessary Animesh code.

As Animesh is still in development, and given the caveats noted above, content creators are asked not to start offering any products that are no-mod or such on the marketplace or in-world. Products should wait until at least the Animesh viewer has reached release candidate status – or even has been formally released.

Similarly, TPVs are – as usual when it comes the the Lab’s project viewers – encouraged not to adopt the Animesh viewer code for release purposes until it reaches release candidate status.

Animesh Resources

You can find further information on Animesh via the following resources.

Furthermore, I provide regular updates on the Animesh project via my Content Creation User Group updates, so you can keep up with Animesh development through these.