SL project updates 16 3/2: Server, viewer, Bento and CEF + Flash

The Keys; Inara Pey, January 2016, on Flickr The Keys (Flickr) – blog post

Server Deployments, Week 3 – Recap

As always, check the server deployment thread for any updates.

On Tuesday, January 19th, the Main (SLS) channel received the server update package previously deployed to the three RC channel. This comprises:

  • Feature Request: llGetObjectDetails() constant OBJECT_TOTAL_INVENTORY_COUNT – when targeting an object, OBJECT_TOTAL_INVENTORY_COUNT will return the total of all inventory types in each link of the linkset. See BUG-10575 for further details
  • Feature Request: llGetObjectDetails() constant OBJECT_PRIM_COUNT – provides a means to get a worn attachment’s prim count (rather than just returning 0).  See BUG-10646 for further details.
  • Simulator crash fixes.

On Thursday, January 21st,  three RC channels received a new server maintenance package comprising a simulator crash fix and a further feature request: llGetObjectDetails() functionality to get the parent_id of any task in the region (OBJECT_REZZER_KEY). This returns the parent_id of any task in the region. If the object came from an object rezzer it returns the ID of the parent object, while If it was rezzed by an avatar, it returns the agent ID of the avatar. The function only works for those objects rezzed in-world after the code deployment (objects in-world prior to deployment will return NULL_KEY).

SL Viewer

The HTTP updates Vivox RC viewer updated  to version 4.0.2.310097 on January 19th, while January 20th saw the Quick Graphics RC viewer updated to version 4.0.2.310127, and the Project Bento (avatar skeleton extensions) viewer updated to version 5.0.0.310099.

Project Bento

I missed the greater part of the Project Bento meeting on Thursday, January 21st, so my apologies for not having a full report.

Cathy Foil demonstrates what can happen when an avatar using a mesh incorporating the new Bento bones deforms ...
Cathy Foil demonstrates what can happen when an avatar using a mesh incorporating the new Bento bones deforms …

Deformed Avatars: The lab is still asking for examples of avatars deforming as a result of using a mesh uploaded with different joint positions. If people have examples, Vir Linden requests that both the .DAE file and a copy of the mesh model are forwarded to him so that the Lab can test items for themselves.

Elizabeth Jarvinen (polysail), also points to some discussion on the Bento forum threat on how to possibly correct the problem when it occurs. see: here, here and here).

.BVH and .ANIM uploaders: It was noted at the meeting that the .BVH and .ANIM uploader have different capabilities. The .BVH uplaoder is viewed as being not as robust as the .ANIM uploader, although it does include optimisations for animations which are not present in the .ANIM uploader. Oz Linden suggested that it would be nice if both uploaders shared the same level of robustness / capabilities.

Vir pointed out that the .BVH uploader has various optimisations which are not present for .ANIM uploads. So how parity between the two is achieved is unclear. fore example:

  • Is the optimisation code removed from the .BVM uploader or added to the .ANIM uploader?
  • Are the updates server-side, or should they be viewer-side, with the ability to preview animations prior to final upload to ensure they are playing correctly?

It is also open to question whether any such work, were it to be undertaken, would form a part of this initial Bento project.

Bento Bone Survey

I was absent (as noted) when this particular item was discussed, so I may have the details wrong. However, it appears that, as previously reported, the Lab are going to put out a survey asking for creators and animators to indicated their preferred additional bones out of those which have been suggested. The survey is liable to be published via the Bento forum and / or the Bento user group wiki page.

World Makers Filming

There will be a final Bento filming session for the upcoming Drax Files World Makers special on Monday, February 1st. Creators and animators who have examples of content using the Bento skeleton extensions and are willing to take part in the filing should contact Draxtor Despres in-world for further details.

Aditi Inventory Syncing

The code for merging main (Agni) inventories into beta (Aditi) grid inventories is still subject to final testing before being deployed to Aditi. As previously noted in these updates, when this does happen, it will mean that logging-in to Aditi will trigger an automatic merge of your Agni inventory with your Aditi inventory as a part of an overnight (PDT) process. This means that items unique to people’s inventories on Aditi will no longer be lost as a result of their Aditi inventory being overwritten by their Agni inventory (as is currently the case). Once deployed, this update also means that a password change will no longer trigger an inventory sync between the two grids.

Suggestions have been put forward that rather than merging Agni inventory directly into the Aditi inventory structure, the incoming Agni items are delivered to a new top-level folder (perhaps called “Agni” or “Main Grid”) during the merge process, so that people can easily distinguish between unique versions of items they’ve been editing on both Aditi and Agni.

Adobe Flash on CEF Viewers

As has been covered in this blog and others, the Second Life viewer, version 4.0.0+, and all v3 TPVs using that code now makes use of the Chromium Embedded Framework for supporting rich media, including Adobe Flash.

However, for the latter to work with the viewer, it requires a specific version of Flash to be installed on your system. For those interested, Jeremy Linden has provided a knowledge base article on what needs to be installed for the official viewer, and how. With thanks to Willow Wilder for the pointer.

 

SL project updates 16 3/1: Server updates and Bento examples

Telrunya - Forest of Dreams; Inara Pey, January 2016, on Flickr Telrunya – Forest of Dreams (Flickr) – blog post

Server Deployments

As always, check the server deployment thread for any updates.

On Tuesday, January 19th, the Main (SLS) channel received the server update package previously deployed to the three RC channel. This comprises:

  • Feature Request: llGetObjectDetails() constant OBJECT_TOTAL_INVENTORY_COUNT – when targeting an object, OBJECT_TOTAL_INVENTORY_COUNT will return the total of all inventory types in each link of the linkset. See BUG-10575 for further details
  • Feature Request: llGetObjectDetails() constant OBJECT_PRIM_COUNT – provides a means to get a worn attachment’s prim count (rather than just returning 0).  See BUG-10646 for further details.
  • Simulator crash fixes.

On Wednesday, January 20th, the three RC channels should be updated with a new server maintenance package. However, at the time of writing, it looked questionable if the deployment would go ahead. On  Tuesday, January 19th, Simon Linden informed the Simulator User Group meeting attendees that there was a problem on the latest deployment image for update which caused it to refuse to start, and was under investigation.

If the deployment does go ahead, it will comprise a simulator crash fix and a further feature request: llGetObjectDetails() functionality to get the parent_id of any task in the region (OBJECT_REZZER_KEY). This returns the parent_id of any task in the region:

  • If the object came from an object rezzer it returns the ID of the parent object
  • If it was rezzed by an avatar, it returns the agent ID of the avatar.

It will only return details for those objects rezzed in-world after the code has been implemented. Objects already in-world prior to deployment will be ignored (NULL_KEY is returned).

Project Bento

no major news here, other than initial filming for The Drax Files World Makers special on Bento took place on Tuesday, January 19th, 2016. There will be a further round of filming on Wednesday, January 20th. If you are an animator  / content creator who has something you’d like to demonstrate and possibly have filmed for the episode, please contact Draxtor Despres in-world ASAP.

In the meantime, a short piece I stitched together at the filming session, showing an avatar rigged to use the Bento finger extensions compared to a avatar without the rigging; a centaur and a part of bat wings (both by Aki Shichiroji)  utilising the Bento bones.

Finger animation in the video by Abramelin Wolfe. Elephant in the splash image by Medhue Simoni.

Project Bento: Drax Files filming party reminder

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands (both of which can be seen inaction in the image above of an avatar by Matrice Laville), plus bones for wings, tails, additional limbs and ears / antennae
Project Bento extends the avatar skeleton, adding a significant set of bones for better avatar animation (human and non-human), including facial expression and jointed fingers (image: Matrice Laville)

Project Bento is the Lab-led project, working in collaboration with Second Life content creators, to enhance the SL avatar skeleton with over 90 new bones. The intention is to enable creators to accommodate features like subtle facial expressions, articulating fingers, smoothly flapping wings, waving tails, and much more that was previously impossible or required complex workarounds.

During the project, Draxtor Despres and I were invited along to the (initially closed) project development meetings, starting in June 2015, to witness the collaborative effort between the Lab and content creators, and document things once the project entered public knowledge.

Now, as a part of this work, Drax and the Lab are working on a special edition of The Drax Files World Makers series, which takes a look behind-the-scenes from the project, featuring interviews with Lab staff and moles engaged in the project, together with content creators who helping with the development and improvement of the project.

Etheria Parrott demonstrates how the new Bento bones can animate the head of a bunny avatar

To help with video, and as Linden Lab recently blogged, there were be two special filming sessions taking place on Aditi, the beta grid, to which those actively working on content utilising the Bento skeleton extensions are invited.

The two sessions, with dates and times, are described thus in the official blog post:

On January 19th at NOON SLT, there will be an open casting call for anyone who has built something with Bento to come show off their work. Selected creators may be filmed and/or interviewed to be featured in an upcoming episode of the Drax Files. You will need to login to Aditi in order to access the location (secondlife://Aditi/secondlife/Bento%20Island/128/128/23).

In addition to the open casting call, creators are encouraged to contact Draxtor Despres in-world with information about what they’re making. Video, screen-shots, descriptions – the more information the better, and the sooner you can share that – the better as well. Chosen creations and their creators will be contacted with information for a private filming on  January 20th, 2016, with Draxtor and Torley Linden.

Aki Shichiroji demonstrates her centaur avatar, which uses the new wing bones to animate the rear legs

Nor is the invitation limited to those directly involved in the  project: machinima makers are also encouraged to log-in to Aditi and enjoy an opportunity to film some of the creations which are currently being developed as a result of Project Bento.

Note that access to Bento Island may not occur prior to the start of the filming event (the official blog post quotes the island will be open from “January 10th”; however, given the post wasn’t published until January 14th and I’ve been unable to access the region when logged into Aditi, I believe this is a typo, and should read “January 19th”).  Also, if you haven’t logged-in to Aditi before (or in a good while), you are advised to do so well beforehand. Instructions on how to this, for those who need them, can be found on the SL wiki page.

In the meantime, Drax had produced a little teaser to help whet appetites, and I’ll see you over on Aditi on the 19th, and you can keep abreast of Project Bento through the project updates in these pages, which will also include more on the background to the project.

Project Bento User Group update 2 with audio

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands (both of which can be seen inaction in the image above of an avatar by Matrice Laville), plus bones for wings, tails, additional limbs and ears / antennae
Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands (both of which can be seen inaction in the image above of an avatar by Matrice Laville), plus bones for wings, tails, additional limbs and ears / antennae

The second public user group meeting for Project Bento took place on Thursday, January 14th 2016, continuing discussions on the new avatar skeleton extensions for Second Life. The following is intended to provide a summary of the discussion, together with audio excerpts from the meeting. It is not, however, intended to present a full transcript.

Additional / Alternative Bones and Experimental Region

The experimental region for those wishing to try additional / alternative bones (see my report from the first Bento public UG meeting), is now available on Aditi at BentoExperimental1. It had been misbehaving when first set-up, but is now thought to be running smoothly. 

mtg-2-2_001
Aki Shichiroji demonstrates her (untextured and in-development) centaur avatar, which uses the new wing bones to animate the rear legs

One concern among content creators who are already working on Bento is the potential for additional / alternative bones to be disruptive, that has they are added, it will break content being used for ongoing testing of Bento, particularly for those working on complex, multi-limbed avatars.

Vir pointed out that while the Lab don’t want to necessarily add to the workload in testing new bones, it’s better to look at possible additions / alternatives sooner rather than later, and accept test content may break if charges are to be made in the near future as a part of developing the project.

He also pointed out that so far, the focus on additional / alternative bones has been on the face, which shouldn’t have any impact on those working with the new wing bones, etc. Although that said, there is no limitation on proposing additional bones for wings, legs, etc., even if they do prove a little disruptive at this point in time.

End dates and Selecting New Bones

Currently, the Lab hasn’t determined any date by which proposals for additional / alternative bones must be made, or the process by which any of the proposals might be adopted. However, creators are encouraged to use the experimental region to develop models as demonstrations sooner rather than later.

While it is not 100% certain, given there is currently no clear consensus as to what additional / alternative bones might be seen as a priority among those proposing them, the Lab is considering making any potential selection the matter of a poll at some point in the future, and make any determination based on that.

Vir also indicated that ideally, the Lab would like to make as few further changes to the skeleton as possible, and so may opt to add additional bones as a single pass in the viewer, rather than gradually adding them (which might also cause problems when testing, due to the repeated risk of breaking test models as noted above).  Either way, the code will be stabilised well before any attempt is made to move Bento to the main grid, in order to ensure that people have adequate time to test things and to allow TPVs sufficient lead-time to integrate the Bento code into their offerings so that they can support it when it is deployed.

mtg-2-3_001
Oz flew into the Bento meeting directly from the Lab’s monthly “all hands” review

IK Bone Issues

A problem has been noted within the skeleton between the new toe bones and the IK (inverse kinematics) bones which connect the avatar physically to the world. The latter are focused on the foot bone in the avatar skeleton, with the result that when the new toes bones are used to animate the avatar (as might be the case with digitgrade legs), a conflict with the IK bones can occur, causing the animation to go awry. It doesn’t happen all the time, but when it does, it is very noticeable.

Exactly what can be done to deal with this is open to question; Vir’s initial thoughts were to consider changing the logic so that IK bones are focused on the toe, rather than the foot. Alternatively, Oz suggested adding a new flag which would allow a mesh to indicate it does not want a joint manipulated by IK, and idea which was seen by some creators as offering greater potential for use.

To help the Lab better understand issues and gain a thorough insight what might be required in order to address issues where they can, a request was once again put forward for very concise in-world examples and models.

Both Oz and Vir concurred that any large-scale alternations to the IK chain, such as extending it to include the new bones is unlikely, due to the risk of breakage with existing content on  the main grid and due to the additional overheads it will place on Bento in terms of testing, lead times, etc.

Continue reading “Project Bento User Group update 2 with audio”

Project Bento User Group update 1 with audio

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands (both of which can be seen inaction in the image above of an avatar by Matrice Laville), plus bones for wings, tails, additional limbs and ears / antennae
Project Bento extends the avatar skeleton, adding a significant set of bones, notably providing facial expressions, finger movement, and better support for wings, tails, additional limbs, etc. (model by Matrice Laville)

Useful Links

The first public user group meeting for Project Bento took place on Thursday, January 7th 2016, marking the start of what will be a regular event, although the exact frequency, particularly in terms of day and time, may vary, at least initially.

The purpose of the meeting is to provide an open forum for more direct and real-time conversations between the Lab and content creators about Project Bento than can perhaps be achieved through forum posts, etc. This, and the reports which follow from it are intended to provide a synthesis of these meetings, together with relevant audio of discussions and feedback, where appropriate. My apologies for the quality of the audio in places; these was partially the result of recording over voice and also due to the audio strength dropping out on me quite frequently.

People arrive for the first public Bento user group meeting on Aditi
People arrive for the first public Bento user group meeting on Aditi

Translation vs. Rotation

As I’ve previously reported, there has been an ongoing discussion about providing bone translation rather than just rotation in order to better handle facial expressions (see BUG-1090, “[Bento] A formal method of bone-translating animations is vital for the creation of proper facial expressions”), with the initial disallowing of translations within Bento (where they had previously been possible by means of a workaround) being a particular point of contention.  Medhue Simoni was one of those particularly concerned at the lack of available translation capabilities, and as I noted in my coverage of the 100th Drax Files podcast, he has produced a fairly comprehensive video explaining the issue.

Given the amount of conversation that has been generated, it should not  be that surprising to learn that this was the first item up for discussion in the meeting. In particular, Vir announced that the Lab has revised its thinking on the matter pointing to a Bento forum posted providing more of the Lab’s original concerns. So with this change, animations using translations can now be uploaded to most regions on Aditi.

Vir on the rethink concerning allowing bone translations

So does this mean translations will be allowed going forward? Vir was cautious in his reply, noting that nothing about Bento will be finalised until such time as it goes to the main grid, so there is no definitive decision on the matter at present. However, based on the way things are going, it would seem likely that translations will be enabled and there is nothing the Lab currently has planned which might cause them to be disallowed. However, Vir did warn that were this to be the case, there may be bugs / limitations in how they work.

Vir on whether or not translations will be allowed going forward

Stretching and Scaling Bones

The current mechanism for stretching / scaling bones is via the shape slider, and Vir indicated that it is not likely that the Lab will be moving to support scaling in animations as a part of this phase of Bento, although they might revisit doing so at some point in the future (without any guarantee they would).

As a part of the explanation for why this is the case, Oz indicated that the Lab’s belief in approaching Bento was that for most non-human avatars and shapes, their expectation was that creators would do the basic repositioning of joints as a part of the mesh prior to upload, and then adjust them as needed, and so the need for translation  would be marginalised.

However, as several of those present at the meeting pointed out, effectively “baking” positions into a mesh in this manner prior to upload is itself limiting, and translations can help handle odd glithes in the avatar shape which can occur. Given this, and  the shift in stance on translation mentioned above, Oz indicated he’s very interested to hear back from people on what might be considered “best practice” for handling bone repositioning, scaling, stretching, etc.

Vir and Oz on scaling and stretching bones and the Lab’s initial approach to Bento

Avatar Deformation and Resetting

One of the things the Lab is trying to achieve through Bento is a means of more reliably providing a mechanism by which avatars suffering from deformations as a result of rigged meshes, complex shapes, etc., can be reliably restored.

One of the things the Lab would like to do is offer a consistent means of resetting avatars deformed by things like multiple joint repositions to a "default" state which includes adjustment to bones made via mesh and attachments
One of the things the Lab would like to do is offer a consistent means of resetting avatars deformed by things like multiple joint repositions to a “default” state which includes adjustment to bones made via mesh and attachments

As Vir noted in the meeting, the Lab has been working on trying to make mesh positions behave better, but there is still a lot going on under the hood, such as changes made by sliders or attachments or animations, or a combination thereof,, the initial values defined by the skeleton, etc.,  which can influence the overall shape / appearance in an unpredictable order which can leave someone in a difficult to resolve state.

In particular, and as stated by Oz, the Lab would like to be able to offer the capability that if a user experiences deformations as a result of running animations, they can be reliably reset to a default position that includes and joint position movements implied by any mesh attachments worn at the time the issue occurred (with the exception of those implied by animations).

To this end, he and Vir urged people to file bug reports on any issues of deformation they encounter when using the Bento project viewer (as well as any other issues they encounter), even if the issue has been previously encountered prior to Bento but has remained unresolved, and to provide specific examples of the problem with related models, etc., so that the Lab can use the project to attempt to investigate and resolve as many issues of this kind as they can. The Lab cannot promise that everything will be fixed, but by the same standard, it shouldn’t be assumed that just because something hasn’t been addressed thus far, effort won’t be put into trying to see if it can be resolved.

Vir and Oz on bug resolutions and seeking a means to consistently reset deformed avatars

Continue reading “Project Bento User Group update 1 with audio”

SL project updates 16 1/1: Login failures; Project Bento

The Trace too; Inara Pey, December 2015, on Flickr The Trace Too (Flickr) – blog post

Server Deployments

The weekly scheduled server deployments will not resume until week #2 of 2016 (week commencing Monday, January 11th), when there should be a deployment to the three release candidate channels.

SL Viewer

The Maintenance RC viewer was updated on Tuesday, January 5th to version 4.0.1.309460. This sees MAINT-5760 “Favourites sort order reverts every session and no favourites display at the login screen for single name “Resident” accounts” removed from the resolved issues list.

The Quick Graphics RC viewer (graphics preset options and Avatar Complexity) updated to version 4.0.1.309320, also on Tuesday, January 5th. This sees the addition of two further fixes to the resolved issues list:

  • MAINT-5541 “[QuickGraphics] 0 complexity avatar renders as jelly”
  • MAINT-5567 “[QuickGraphics] A mesh attachment causes avatar to be jellybaby while Avatar complexity is set to No Limit”.

Login Failures – Friends List Updates

People have been experiencing log-in failures recently, which appear to be related to issues as the viewer loads / updates the Friends list as a part of the log-in process (see BUG-11032 and BUG-11127).

A typical error message displayed when the log-in failure occurs
The log-in failure issue generates s generic error message

The problem is account-specific, and when I asked Oz and Simon Linden about the problem, and whether a more permanent resolution might be forthcoming, during the simulator User Group meeting on Tuesday, January 5th, Oz replied, “yes, we think we understand what’s up with that… fix is in the works”, although he declined to elaborate further.

In the meantime the advice remains as specified by Alexa Linden on BUG-11032: if you are unable to log in as a result of the problem, you will need to file a support ticket explaining the problem and noting it is a Friends List Login Failure. Support should then be able to fix your account.

Project Bento

There’s no major news on Project Bento beyond what I’ve already reported to date. However, given the project is now in a public beta, user group meetings associated with the project are now open to all as well.

Meetings will take place on Aditi at Mesh Sandbox 2 (note that is an Aditi, location, not the main grid) at 13:00 SLT every Thursday, with the first public meeting scheduled for Thursday, January 7th. In announcing the meetings, Oz Linden also requested those who have any available, to bring example content using the new avatar skeleton extensions along to the meetings (but do notes the region is rated General!).

In the meantime, Cathy Foil, one of the content creators involved in Bento has produced video explaining how the work was handled within the initial development group,

Aditi Password Changes

As I noted in my 2015 week #51 project updates report, there are changes coming in the way Aditi inventory syncs with Agni are handled, which will also affect Aditi password changes. These changes are still to be deployed, so in the meantime, anyone wishing to change their password on Aditi should do so via a support ticket.

Those wishing to attend the Project Bento meeting on Aditi and who have not logged into the beta grid for a while, many want to check that they can in advance of Thursday, January 7th, and if necessary file a support ticket requesting a password update, as noted above.

Object_Rezzer_Key

Object_Rezzer_Key is a new parameter which is to be added to llGetObjectDetails()  early in the New Year. It will allow a rezzed object to find the key of its parent rezzer, then use llRegionSayTo() to chat back to that parent – see my 2015 Project updates: server and Project Bento report for more.

Commenting on this work at the Simulator User Group meeting, Simon said:

OBJECT_REZZER_KEY is in QA and the release process … if things go steady, it would see the beta grid later this week or next, and possibly RC in 2 weeks.   That’s all tentative, of course. … OBJECT_TOTAL_INVENTORY_COUNT and OBJECT_PRIM_COUNT are in the next release (before that one).