The following notes are taken from the Content Creation User Group meeting, held on Thursday, July 13th, 2017 at 13:00 SLT at the Content Creation User Group wiki page.. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the
Audio extracts are provided where relevant. Note that this article is organised (as far as possible) by topic, and does not necessarily reflect the chronological order in which items were discussed. Medhue Simoni live steamed the meeting to You Tube, and his video is embedded at the end of this article. Time stamps in the text refer to that recording, and will open the video at the relevant point in a separate browser tab for ease of reference.
Note that the region crashed at around 56 minutes into the meeting.
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.
- At this point in time, this is not about adding fully functional, avatar-like non-player characters (NPCs) to Second Life
- 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
- 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 the object’s contents)
- It will most likely include a new flag added to an existing rigged object type in order for the object to be given its own skeleton.
- [1:50] The issue with current viewers crashing when used on a region where the server-side support for animated mesh has been enabled (due to the viewer receiving unrecognised messages from the simulator) appears to have been resolved.
- Vir is working on ways to get a good match between the object position in-world and the skeleton position, and this will likely be the subject of a future meeting discussion.
- [6:30] As animated objects are set using a flag, any that are modifiable will be switchable as animated or not by users.
- [17:20] There currently isn’t any documentation on animated objects, but hopefully by the time the project viewer appears, information will be made available on what animated objects can do, how they can be used, etc., together with some test files.
- [29:16] There is still no date on when a project viewer is liable to appear.
- [52:58] A reminder that the current project isn’t intended to solve for all potential uses of animated mesh; things like “full” NPCs utilising their own avatar-like inventory for bakes, etc., support of attachment points for non-rigged objects, etc, are seen as more ambitious, and thus follow-ons.
Attaching Avatars and Animated Objects To One Another
[9:34 and 1:02:12] This follows on from the last meeting. No decision has been made on whether or not it will be implemented as an initial part of the animated mesh project, as it involves several complications (such as defining some kind of skeletal hierarchy to differentiate between avatar skeleton and animated object skeleton). Vir’s thinking is perhaps to push to get a project viewer out without any such capability, and use that as a means to generate feedback on what people would like to see and how they think it might work.
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. This may lead to a reduction in the complexity of mesh avatar bodies and heads.
[2:59] Anchor linden is continuing to make progress on this work. It seems the update to support 1024×1024 textures is now complete (or pretty much so), as Vir indicated that the next step is performance testing the baking service in handling 1024×1024 bakes.
[5:53] The updated system should allow textures of different sizes (512×512 and 1024×1024) to me mixed and correctly composited, but testing will be required to confirm this.
[7:30] The mechanics of how bakes are to be applied to meshes is still being worked out. Vir’s thinking it will be another editable property which can be used with meshes to determine which face(s) on the mesh use the baked textures.
To provide server-side support for running multiple animations without them clashing (e.g. wings flapping without interfering with walking).
No progress thus far. Once the animated objects project viewer is available, supplemental animations will likely get some attention.
[11:23-21:25] Removing the 5m bone translation limit: A question was asked about removing the 5m bone translation limit from its origin to allow for really, really large avatars. The belief behind the question being that this was a recent change which now prevents translations greater than 5m where previously they code be encoded and uploaded.
This lead to a lengthy discussion which encapsulated the idea that the limit appears be deeply embedded in the animation system, and has has always been there; disputes on whether or not it was possible using .ANIM files rather than .BVH, suggestions that an earlier version of the .ANIM format (v.0 – although long dead) may have allowed it, etc.
Vir’s stated belief is that the limit is too deeply embedded in the animation system to have ever been different, although he acknowledged that as the Lab has tightened a range of limits to ensure they are properly observed by the system, it is possible that the limit is now being more rigorously enforced. Either way the limit is unlikely to change. It was also pointed out that rotation, joint position, and scaling the mPelvis bone up are all means by which larger avatar models could be produced.
The core voice comments from Vir are below, please refer to the video for the full conversation – which was also partially text-based.
[22:38 and 31:12] Increasing the animation limit: this has previously come up for discussion. Currently, SL should support up to 64 concurrent animation motions playing at one time per agent (e.g. walks, arm swings, wing flaps, tail swishes, etc.). However, how many can be reliably played at any one time without encountering problems might be lower. A request to increase the limit was made on the basis of then allowing LSL-based description of join positions which could be translated into animations, to allow improved scripted locomotion of NPCs.
[+/-35:45 onwards] Pivot point support and improved IK support: There is a largely text-based discussion on pivot point support for mesh and improved Inverse Kinematics (IK) support / targeting to allow for better interactions between avatars and avatars and objects (e.g. with IK, being able to have avatar hold hands, “grip” a ladder and climb it, etc). Pivot points would allow improved rotations (doors swinging at the hinge, for example) – although it was pointed out that animated mesh could achieve the same goals.
This conversation touches on having custom / arbitrary skeletons in Second Life – although as Medhue Simoni has pointed out, the Bento skeleton already allows for a fairly wide range of “custom” quadruped and biped skeleton forms to be created. As it is, arbitrary skeletons are not something the Lab will be tackling in the near future.