
The following notes are taken from the Content Creation User Group meeting, held on Thursday March 9th, 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.
HTTP Fetching
As I’ve noted in several recent SL project updates, the Lab is shifting the fetching landmarks, gestures, animations, shapes, sounds and wearables (system layer clothing) away from UDP through the simulators and to HTTP via the CDN(s).
The simulator side of the code is already in place on Aditi and awaiting further testing (see here for more). Vir is heading-up the viewer side changes required to support this work, which is now getting “petty close” to being available in a public viewer (most likely a project viewer). I’ll continue to update on this work through my various SL project update reports.
Rendering Costs
Vir has also been looking at the viewer-side rendering costs of various avatar models to improve the overall rendering cost calculations. This is more a data gathering exercise at the moment, but it is hoped it will lead to improved calculations when determining the overall rendering complexity of models, and will likely mean that, for example, the cost of rendering rigged meshes will at some point be updated.
This isn’t directly related to the potential of animating objects (e.g. for non-player characters). While the Lab is apparently still pondering on this as a possible project, it would mean back-end changes to calculate the land impact of avatar models used as NPCs, rather than alterations to the viewer-side rendering cost.
Animation Transitions
There have been, and continue to be, a number of issues with animation playback, some of which appear to be related to llSetAnimationOverride, one of the server-side functions for controlling your animation state. Some of these were reported early on in Bento, which exacerbated some of them (e.g. quadrupeds crossing their forepaws).
Issues can also occur with jump animation states (pre-jump, jump and landing), as has been reported in BUG-7488. For example, During the meeting, Troy Linden and Medhue Simoni pointed to problems: for Troy, it was with respect of an avatar “sticking” in the landing animation, rather than returning to the expected standing animation; Medhue reports issues in general playback, and whether the transitions will actually play correctly.
It not clear if these issues are all a part of the same problem, but feedback from the meeting is being relayed back to those at the Lab poking at things.
Information and Tools
People are still having problems finding Bento information on the SL wiki – such as the skeleton files. This is partially due to the files being on the Bento Testing page. It’s also not easy for new creators to find information on suitable tools (e.g. Avastar. MayaStar, etc.).
One suggested solution (allowing for the wiki currently being locked from general edits) is to have a general SL tools page where the various tools, etc. can be listed with links to their respective websites. This could include free tools: GIMP, Blender, Wingz 3D, etc.), plus tools which are not specific to SL can be used within (e.g. Maya, Zbrush, etc), and then add-ons like Avastar and Mayastar.
Such an approach, coupled with a clean-up of the Bento information, might be suited to being included in an overhaul of the wiki Good Building Practices pages the Lab is working on as and when resources are available. Troy has made a note to take these ideas back to the Lab.
Other Items
Transparency Rendering Cost
There was some discussion on whether the rendering cost of a rigged mesh should remain high if it is set to transparent. Some felt the cost should be lower, and Vir noted that the system avatar has a special UUID for an invisible texture when can reduce the rendering cost of the system avatar. However, rigged meshes may not be subject to this check, which may also depend on how the mesh is made transparent (i.e. via a texture or via the transparency setting). He also noted that rendering as transparent could add cost over rendering a rigged mesh as opaque.
There was some discussion on whether simply having the mesh in memory, whether or not it is rendered, could add to its complexity. Vir indicated that as he’s not precisely sure how things are handled, he’d have a look at the code.
Calling Animation UUIDs via Script without the Animation Residing in Inventory
A question was asked whether it would be possible to have a script call an animation via the animation’s UUID without the animation being physically in the parent object’s inventory. The short answer to this is “no”.
While animations can be pulled from objects with modify permissions and used elsewhere, many items with animations (chairs, beds, etc.), tend to have animations in them set to No Copy, limiting the ability to freely re-use them. If animations could be freely called via script using their UUID, this protection would be eliminated, as anyone with the UUID could use the animation as often as they wished, regardless of whether or not a version of the animation resides in their inventory.
This conversation edged into the issue of people being able to pull Copy permissioned inventory from a No Modify object by opening it; however, that is something of a separate situation, which was not discussed further.
Avastar Status
AvaStar is now at release candidate 4, with RC 5 on its way, which may be the final RC before a release.
.ANIM Exporter for Maya
Aura Linden is re-working the code on her open-source Maya .ANIM exporter. She was originally working on it in Maya’s MEL scripting, which would make it compatible with all versions of Maya.
However, after encountering some problems, she is now coding it in Python. This means the exporter will only initially work with versions of Maya supporting Python (version 8.5 onwards). It may be that once this work has been finished, Aura hopes to be able to go back and complete the exporter in MEL for older versions of Maya.
Mayastar Update
Cathy Foil will have an update for Mayastar appears shortly. When the .ANIM exporter is available (above), it will be folded in to Mayastar, although it is not exclusively for Mayastar.
Splitting the Avatar Shape into Different Elements
This was suggested some time ago as a possible Bento follow-up as a means of making it easier for users to mix and match heads and bodies by allowing different underpinning avatar shapes for both, which could be worn simultaneously. This was seen as particularly useful for users who are uncertain about customising their form using the sliders, or where creators provide No Modify shape with their head or body product, limiting the suer’s ability to modify one or the other. N definitive proposal has been put together on how this might be achieved.
Supplemental Animations
This was also the subject of early Content Creation meetings with Vir as a possible Bento follow-on project. 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. This is still be considered, but no work has been carried out as yet.
Next Meeting
As Vir is out of the office in week #11, the next Content Creation meeting will be on Thursday, March 23rd, 2017 at 13:00 SLT.