The majority of the following notes are taken from the Content Creation User Group meeting, held on Thursday, November 30th, 2017 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.
Medhue Simoni live streamed the meeting, and his video is embedded at the end of this article – thanks to Medhue, as always, for the recording. Time stamps in the body text will open the video in a separate tab for ease of reference to the relevant parts of the text. However as these notes present the meeting in terms of topics discussed, rather than a chronological breakdown of the meeting, so some time stamps may appear to be out of sequence.
Animesh (Animated Mesh)
“I like the name ‘animated objects’ because I think it’s unambiguous, but it takes a long time to type!” – Vir Linden joking about the name “Animesh”.
The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.
In short, an Animesh object:
- Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory (Contents tab of the Build floater) required for it to animate itself.
- Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
- Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
- Can use many existing animations.
However Animated objects will not (initially):
- Have an avatar shape associated with them
- Make use of an avatar-like inventory (although individual parts can contain their own inventory such as animations and scripts)
- Make use of the server-side locomotion graph for walking, etc., and so will not use an AO
- Use the avatar baking service
- Will not support its own attachments in the initial release.
These are considered options for follow-on work, possibly starting with the notion of a body shape (to help with more fully-formed NPCs).
- Animesh User Guide
- Animesh test content
- Animesh LSL methods:
- Animesh feedback thread
- JIRA filter for Animesh
[0:13-1:06] The Animesh Project Viewer should be updated soon, bringing it into parity with the new release viewer (see below). This update will also include a couple of bug fixes.
Non-Rigged Root Items
[6:25-11:12] A short discussion on the ability to include non-rigged objects in an Animesh, such as an invisible prim as the root. This ability was recently added, but hasn’t been extensively exercised as yet. It sparked a look at BUG-139336, with Vir agreeing that the proposal need to be re-examined, as he is not sure if a scripted offset is the best answer, or whether allowing a manual offset through the build tools might be better. This feeds into a later conversation [35:27] about having LSL capabilities for all edit capabilities – and the risk of over-use of options as a result, simply because they can be automated – and the benefits of only making new capabilities (such as BUG139336) only available through LSL, where it might not be obviously to many, rather than being made visible through a build option.
This was the subject of extensive discussions at the previous CCUG meeting. However, Vir again confirmed that it is viewed as something outside of the immediate Animesh project.
[12:00-22:00] This is also a popular topic, and Vir re-iterated that it will be done, once the Lab feels this iteration of Animesh is “feature complete”. While he believes this is pretty much the case (allowing for bug fixes), he’d still rather hold off on testing a little longer. In the meantime, there continue to be calls for the current limits on tri counts, Land Impact, etc., to be relaxed to give people greater freedom to design Animesh. Vir is hesitant to do this, as he’d rather start from a constrained baseline with more structured testing to ensure sensible limits are arrived at which can be sustained across the entire grid when Animesh goes live. Given the way that current mesh avatars are some of the more render-intensive (and viewer performance hitting) objects within Second Life, his concern is perhaps understandable.
[36:35-46:30] Some would like to see the tri limit raised to around 50K to allow for testing of products, rather than testing Animesh itself. This seems to be a little premature. However, Vir is going to discuss the potential for an tri limit increase with Alexa.
[22:42-27:53] A discussion on Animesh scaling, animation size and LOD. If an Animesh is based around a 0.5 cube, but the associated mPevlis bone is scaled to allow a 60-metre tall Animesh, what are the LOD calculations based on: the visible size of the object / distance from it, or the size of the root prim / distance from it (which would cause the Animesh to decay faster as the camera moves away from it). Vir believes it should be based on the displayed dimensions, but notes there are already issues with meshes load the correct LODs. As such, he’ll look into it some more.
[28:18-30:00] Further discussion on Animesh Land Impact, the arbitrary / testing only nature of the current 200 LI limit, toggling Animesh items on / off to help reduce LI, the potential of having a separate LI for Animesh objects compared to other in-world objects, and the complexities of doing so, were it to be pursued.
[30:56-32:46] LSL function for converting objects to Animesh and back – suggested as a means of lowering LI on items (so someone could use scripted controls to switch between, say, the active Animesh animals on their land. Again, Vir feels people might be getting a little too hung-up on the LI (and other limits) too early.
[46:42-51:50] Brief discussion on model orientation. As previously noted, Second Life expects a mesh to be X- oriented, so the front of the mesh is aligned to the X-axis. Blender can sometimes orient to the Y-axis. As a known bug, Vir is hoping it can be resolved through Blender, rather than by diving into the viewer code.
Environment Enhancement Project (EEP)
A set of environmental enhancements, including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; a new environment asset type that can be stored in inventory and traded through the Marketplace / exchanged with others; scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.
[1:18-409] Rider Linden is working on the server-side updates so the simulator can support the new environment settings used by the viewer. When this is done, he’ll be working on saving the environment settings as inventory objects. The first implementation of these objects will be as day cycles, skies, and water – and are set-up to be expanded in the future.
There should hopefully be project viewer available (testing most likely on Aditi) after the Christmas / New Year break.
Bakes on Mesh
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. The project is in two phases:
- The current work to update the baking service to support 1024×1024 textures.
- An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.
This work does not include normal or specular map support, as these are not part of the existing baking service.
[4:43-6:18] The Baking service (which controls how your appearance is seen by others around you), needs to know if objects around you are actually attached to your avatar or not, in order to calculate your avatar’s height relative to the ground – which is based on joint positions. If an attachment is Animesh and has joints, then the height calculations can be messed up.
A fix for this is in the works, which should form a part of the baking service updates for Bakes on Mesh. Hoever, there is no time frame as to when the fix will be made, and it does mean that any Animesh roll-out will be dependent on the fix being implemented.
[34:14-34:53] The support for 1024×1024 textures in the baking service is moving forward. Vir and Anchor have been discussing the follow-up work: supporting baking textures onto mesh faces, and Anchor is now in a position to look at it more fully. Vir hopes to have feedback from him on the subject in the coming weeks.
- On Wednesday, November 29th, the Martini RC viewer, version 184.108.40.2069906 and dated November 17th, 2017, was promoted to de facto release status. This resulted in the following viewer updates:
- On Thursday, November 30th, a new Wolfpack RC viewer arrived, version 220.127.116.110001.
- On Friday, December 1st, the Alex Ivy 64-bit RC viewer updated to version 18.104.22.1681060 to maintain parity with the release viewer.
- On Thursday November 30th, the Project Render viewer updated to version 22.214.171.1240978 to maintain parity with the release viewer.
This leaves the other viewers in the release pipelines unchanged for the week:
- Release channel cohorts):
- Voice RC viewer, version 126.96.36.1998552, October 20 (still dated Sept 1 on the wiki page).
- Project viewers:
- Obsolete platform viewer version 188.8.131.520847, dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.