SL project updates week 24/2: Content Creation UG w/audio

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, June 15th, 2017 at 1:00pm SLT at the the Hippotropolis Camp Fire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

Audio extracts are provided within the text, covering the core points of the meeting. Please note, however, that comments are not necessarily presented in the chronological order in which they were discussed in the meeting, but are ordered by subject matter.

Animated Objects

Vir is continuing to work on this project, which has been given the informal name of “animesh” – which, as was pointed out in the meeting by some, sounds a lot like “any mesh”, although it seems to have some support among attendees, who have been doing their best to propagate the term ahead of the Lab settling on a project name.

Viewer Status

There is no ETA for a project viewer, as the current test viewer still has a habit of crashing other viewers in the same region by sending them unrecognised messages. This need to be fixed before a viewer supporting animated meshes goes into circulation, even as a project viewer.

Scaling Animated Objects

There has been some discussion around editing animated objects in order to adjust their scale, with the associated skeleton being automatically adjusted to match the desired size of the object. In testing the idea, Vir has found it a lot harder to do than expected due to how things are coded in the viewer. Essentially, there is no overall way to scale the skeleton; every individual bone in the skeleton has to be scaled.

However, these does appear to be one viable means of achieving the scaling up / down of an animated object, and Vir is going to take a look to see if it can be made to work in a semi-predictable way.

Suggestions on how to handle this have included adding a root prim to animated objects or using a script to apply scale or using the object’s bounding box (the physics bounding box isn’t seen as suitable, as some animated objects may not have physics associated with them). While the latter might be a little more fiddly to use, it is the option Vir seems to prefer, although as he notes, he still needs to do more testing. If the approach doesn’t work, use of LSL commands might be looked at as an alternative.

Baked Textures on Meshes

Anchor Linden is working on the project. At the moment the focus is on baking service infrastructure updates to support the increased baking requirements (including support of 1024×1024 textures, which is seen as the “easy” part).  There is no ETA for this work at present, but the rough work flow is:

  • Update the baking service
  • Carry out performance testing – increasing the number of avatar bakes for a large number of avatars is going to increase the cost of the baking process, so the Lab needs to be sure any requirements for additional baking servers are understood
  • Issue an updated viewer which supports rendering the new bakes, and has a compatible “local baking” (used to define your initial look for transfer to the baking service) which is fully consistent with the baking service.

Once these are in place, then work can commence on how to flag mesh faces as being surfaces on which the baked textures are to be applied. This will include  a mechanism  for hiding the existing (default) avatar body without using an alpha layer.

Updating the baking service to support bakes on meshes will not involve adding materials support to the baking service, although that may be considered as a future project. The focus here is purely on extending the baking service to support using the baked textures already available on mesh avatar bodies.

Alpha Masking Mesh Bodies

The question was raised on whether use of the baking service would allow clothing creators to use alphas as a means to hide body elements to stop them showing through mesh clothing worn by an avatar (as tends to be done with the system avatar and mesh clothing today, rather than or alongside side of the current mechanism where a mesh body (Maitreya, Slink, TMP, etc.), is split into numerous parts with multiple faces which can have individual alphas applied too hide them.

Vir believes the baking service should be able to provide suitable body masking, given it can already for the system avatar, where alpha baked into an appearance can be used to hide all or parts of an existing system avatar when seen by others.

Cathy Foil also suggested a means to “turn off” the default body parts on the system avatar (head, upper body, lower body) or the use of a second alpha channel. The first option is useful, but constrained – you can’t turn off hands or feet, for example as they are defined within the upper / lower body part. A second alpha channel offers greater flexibility, but adds to the complexity of implementation.

Overall, masking through the baking service – given there have been tests by body creators in the past to see how alphas within bakes work on mesh bodies – is seen as the more direct answer. It will obviously require people to go through a learning curve, vis understanding applying bakes to meshes and any UI changes, etc. The project viewer – once available – is seen as a means of starting on this learning process, as well as a means of determining what has been missed / may additional be required to make the capability useful.

Mixing Bento Hand Animations and Non-Bento Hand Morphs

BUG-100819, “Default hands spread wide during bento hand animations, making it impossible for Bento and non-Bento owners to play together” came up for discussion at the meeting.

In brief: the default system avatar uses a set of morphs to allow the hand to form a series of basic shapes: a relaxed hand pose, a fist pose, a spread fingers (default) pose, etc. Which can be triggered by an animation utilising an identifier. Bento animations, however, directly manipulate the 30-odd bones the hand to produce hand and finger poses. As the system avatar cannot used these bones, the Bento animations are effectively ignored when run on a system avatar.

However, the underpinning system hand morphs can still be used by the system avatar providing the required morph is identified within the animation itself. When this is done, the animation will play for Bento avatars, or be ignored by system avatars in favour of the defined morph. But if no morph value is specified within the animation, the system avatar hand will adopt the default splayed fingers morph – which appears to be what is happening in the JIRA, possibly combined with an animation priority clash.

Medhue Simoni recently produced a live stream walk-through of mixing Bento animations and default hand morphs, and provided the link to that session at the meeting, which I’ve embedded below.

It has been suggested that the splayed fingers issue could be avoided by changing the system so that if a null value is specified in an animation (as opposed to leaving the field blank), the system avatar will adopt the relax hand morph. While Vir has agreed to look into this, adding such a null value will not automatically resolve the problem for animations which doe not have any morph value defined – the system avatar will continue to use the splayed fingers morph.

Another suggestion is to have the exporter in the tool used to create the animation (e.g. Avatar) display a reminder that hand animations should have a morph value defined. This would make more sense, as it would be within the application where the animator can easily add a value if they had forgotten to do so.

General Discussions

  • Re-purposing Bento bones for pets – yes this can be done, providing the re-purposed bones are not being used for anything else (e.g. if a pet attached to your avatar skeleton uses facial bones and you have a Bento head using the same bones, wearing both at the same time will result in conflicts.
  • Animated object will overcome this, by allowing completely independent pets, but is it’s not clear at this point if these could be attached to an avatar, as that would me combining two independent skeletons.
  • A request was made to increase the largest allows size for prim creation (64m x 64m). This is unlikely to happen.

Bento Bones and Weapons

Bento bones can be used with weapons, again providing they do not class with other mesh using the same bones. In this, the wing bones would seem to be a good choice, given groin, tail and rear leg bones can have a wide variety of uses, and may be more prone to clashes.

One problem with weapons is getting them to align with the hands. As Medhue pointed out in the meeting, he has discovered that getting rigged weapons to stay aligned to the hands when the avatar’s shape is changed is next to impossible. Instead, he recommends not rigging the weapon, then using the hand attachment point and animating that instead. This both allows the weapon to be animated and ensures the weapon remains closely matched to the hand no matter how the avatar is resized.