Project Bento User Group update 3 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 following notes and audio were taken from the weekly Bento User Group meeting, held on Aditi every Thursday at 13:00 SLT.

For details on each meeting and the location, please refer to the Bento User Group wiki page.

Bone Survey

The  Bento Bone Survey, intended to gauge the level of interest in various bone proposals for the Bento skeleton is now available. The Lab is requesting animators and content creators with a vested interest in Project Bento to rank the bone proposals to help with prioritising which additional bones people would like to see added to the Second Life avatar skeleton as a part of the Bento work.

If you are an animator / content creator with such an interest, and you haven’t already completed the survey, please ensure you do so as soon as possible, as it is likely to be closed on or shortly after Monday, February 1st.

The Lab notes they do not currently know how many additional bones we can reasonably add, or whether some of the associated bugs can be fixed.

Drax Files Filming

The final session of Bento filming for The Drax Files World Makers will take place on Monday,  February 1st at 11:00 SLT at the Bento Island region on Aditi. All those with an avatar developed using the Bento avatar skeleton extensions are invited to attend.

Deformed Avatars

Distortions with Altitude

Cathy Foil has been examining issues with deformations at altitude occurring in avatars using the Bento  skeleton. She first noticed the issue whilst Bento was in closed session and reported details to the Lab. However, efforts at pinning down he precise cause have been hampered up until recently by not being able to gather sufficient data from the skeleton and a lack of detailed comparisons between the effects as seen on various viewers utilising the Bento code.

Cathy has been addressing this using the most recent release of the Bento project viewer, and carrying out further detailed tests at various altitudes to document the severity of the issues more fully (they tend become noticeable at altitudes over 1000 metres). She has now passed her latest findings over to the Lab for their investigations.

Distortions and deformations in avatars using the Bento skeleton were noticed in the closed session Bento development cycle. Since then, Cathy Foil has been digging more deeply into the problems
Distortions and deformations in avatars using the Bento skeleton when at altitude (the greater the altitude, the more noticeable the issues, as seen left-to-right, above) were noticed in the closed session Bento development cycle. Since then, Cathy Foil has been digging more deeply into the problems

“Squished” Avatars”

Cathy has also been investigating the issue of avatars deforming as a result of using a mesh uploaded with different joint positions. This tend to result in avatars looking “squished” or otherwise deformed.

As she uses Maya, part of her investigations point towards possible issues with versions of the plug-ins used by Maya to convert .FBX format mesh files to .Collada .DAE (the format used by SL). Whether or not the plug-ins are the cause isn’t definitive as a cause, but may be a contributing factor. As Vir noted in the meeting, if this is the case, then it is unlikely the Lab can do much about it, but those using Maya affected by the issue may need to check the version of the Collada plug-in they are using, and make sure they have the most recent to see if this clears the problem.

If it is more of an issue with the mesh uploader, however (because the Lab have missed something, for example), then obviously, there is more of a chance of the Lab taking remedial action.

Cathy Foil discusses her investigations into avatar deformations at altitude

Joint Reset Issues

A long-term problem with Bento has been it is easy for joints to get into the wrong state and / or position when animating an avatar using the Bento skeleton extensions. It’s often not clear why this happens when it occurs, which can be somewhat random. Vir has started collecting data on the issue. Nothing definitive has been identified in terms of a cause or causes, but Vir will be continuing to work on the issue.

“First Frame” Animation / Default Avatar Pose Issues

Another issue which has been noted is that of a first frame of an animation begin played three times as the animation is run, and which may be connected to default avatar poses within Second Life. This is a fairly “old” bug, dating back as far as 2007 (see BUG-11194), and which seems to be more prevalent with Bento as a result of bones being used differently (e.g. arm bones being used as forelegs, etc).

Medhue demonstrates the forleg crossing using his wolf avatar. The issue is a lot more extensive than this, with the avatar sometimes looking as if it is standing with forelegs folded in the same way a human folds their arms
Medhue demonstrates the forleg crossing using his wolf avatar. The issue is a lot more extensive than this, with the avatar sometimes looking as if it is standing with forelegs folded in the same way a human folds their arms

Medhue Simoni demonstrated the issue using two of has non-human avatars, an elephant and a wolf, which saw both attempt to cross their front legs (as a human might try to fold their arms) when transitioning between animations.

A lengthy discussion followed on the problem, which might also involve a number of other issues, including poses “baked” into the default avatar skeleton, possible race conditions between the viewer and the server, and issues with animation prioritisation.

It may also be related to how Second Life handles transitions between animations (referred to as animations “easing out” and “easing in” when moving from one to another), which has had other problems reported against it as well – see also BUG-11122, for example.

As indicated in Vir’s comment on BUG-11194, and noted in the discussion, there is some initial concern from the Lab that if the playing in triplicate was an intentional change – and one made well before most developers currently at the Lab having joined the company – or if it requires symmetrical changes on both the viewer and the server, it might result in some content breakage without detailed analysis, although Vir has now started digging into the code to have a look.

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

SL project updates 16 4/1: server updates

Gates of Memories; Inara Pey, January 2016, on Flickr Gates of Memories – blog post

Server Deployments

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

On Tuesday, January 26th, the Main (SLS) channel received the server maintenance package, 16.01.16.310114, previously deployed to the three RC channels. This comprises:

  • A simulator crash fix
  • A further feature request: llGetObjectDetails() functionality to get the parent_id of any task in the region (OBJECT_REZZER_KEY).

OBJECT_REZZER_KEY 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).

On Wednesday, January 27th, the three RC channels should all receive a new server maintenance package,16.01.21.310177, comprising:

  • Internal simulator fixes
  • A fix for BUG-1313 “LSL llSetPos in root prim of attachment behaves differently at high altitudes – viewer does not show updates”, which can cause attachments to fail to update correctly at altitudes over approximately 1500 metres.

Deployment Slowdown

“FWIW, we’re likely to slow down on server updates in the next couple of weeks,” Simon Linden informed those attending the Simulator User Group meeting on Tuesday, January 26th. “It’s not part of any evil plan, but I’m doing some internal maintenance work and travelling one week.”

How this plays out remains to be seen, but we should at least have one deployment to the Main (SLS) channel in week #5 (week commencing Monday, February 1st), assuming no issues are found, with the promotion of the this week’s RC deployment to that channel.

SL Viewer

no updates for the start of the week, with the current crop of viewers remaining:

  • Current Release version: 4.0.1.310054, January 15 – formerly the Maintenance RC viewer download page, release notes
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • HTTP updates and Vivox RC viewer, version 4.0.2.310097, dated January 19th
    • Quick Graphics RC viewer, version 4.0.2.310127, dated January 20th
  • Project viewers:
    • Project Bento (avatar skeleton extensions), version 5.0.0.310099, dated January 20th
    • Oculus Rift project viewer, version 3.7.18.295296, dated October 13th, 2015
  • Obsolete platform viewer (Windows XP and OSX versions below 10.7), version 3.7.28.300847 dated May 8th, 2015.

Other Items

Greater Local Region Control

A bug which has been getting repeated requests for attention, particularly by those engaged in SL combat activities, is BUG-8974, “Temp rez object are not rezzed in a timely manner”. It’s also one which hasn’t seem to be working its way to the top of the pile of things to be done. During the Simulator User Group Meeting, Simon expanded on one of these reasons this is the case:

“As I remember, it’s tied up with a larger idea: letting region owners pick different settings for the region based on the performance and safety you want.  Part of the problem is due to a throttle which was added for anti-griefing. So if you want temp rezzing faster, you might want that [throttle] looser, while a venue owner would definitely not want that [the throttle looser, due to the risk of griefing]. I can’t make promises but I hope to get to it soon.  It’s still on my list.”

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.

SL project updates 16 2/2: SBUG / TPVD and 64-bit official viewers

Furillen; Inara Pey, December 2015, on FlickrFurillen (Flickr) – blog post

The following notes are primarily taken from the Server Beta User Group meeting of Thursday, January 14th and the TPV Developer (TPVD) meeting held on Friday, January 15th, 2016. A video of the meeting is included at the end of this report, my thanks as always to North for the video recording and providing it for embedding.

Server Deployments – Recap

There was no deployment to the Main (SLS) channel on Tuesday, January 12th. On Wednesday, January 13th, all three RC channels received the same sever maintenance package comprising:

  • 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.

RC Server Deployment Week #3

The RC server deployment scheduled for week #3 (week commencing Monday, January 18th), should include the feature request for llGetObjectDetails ( myKey, [OBJECT_REZZER_KEY] ), which 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).

SL Viewer Updates

[00:30] The Maintenance RC viewer, version 4.0.1.310054, was promoted to de facto release status on Friday, January 15. This view comprises some 38 fixes and improvements, including updates for some regressions introduced into the viewer with the previous release viewer, and some CEF bugs.

The Project Azumarill HTTP updates RC viewer and the Vivox voice updates RC viewer have been merged into a single release candidate, version 4.0.1.309943, release on Thursday, January 14th, 2016. This is expected to be updated in the next week to deal with a further issue, after which it is anticipated it will be promoted relatively soon to the de facto release viewer.

[01:43] The Quick Graphics RC (Avatar Complexity and graphics presets) is still undoing further refinement, particularly in the way that Avatar Complexity is calculated as a result of feedback provided by users testing the current RC version (4.0.1.309320 at the time of writing).

[0213] There is an update to the Oculus Rift project viewer (3.7.18.295296 at the time of writing) in progress, but no ETA on when it will appear.

Project Bento (Avatar Skeleton Extensions)

Main update: Project Bento User Group update 2 with audio

Issues with the Bento project viewer are viewed as a priority by the Lab. However, no time frames are being set for updates as the project is very much still in beta on Aditi.

There will be a “show and tell” event on Aditi on Tuesday, January 19th, where content creators working the new avatar skeleton extensions will be demonstrating their work for an upcoming episode of The Drax Files World Makers, which takes a look behind the scenes at the project.

CEF and 64-bit Official Viewers

[12:00] The switch to CEF has forced the Lab to re-think its position on 64-bit viewers. Essentially, the CEF code comes as a package, and those producing it ceased supporting Mac 32-bit a while ago (so CEF on the Mac viewer from the Lab is actually a release or so behind the version on Windows).

As a result, the Lab has started on a 64-bit viewer build project, which includes both Windows and Mac. It is possible that as a result of this, and once the 64-bit versions of the viewer are ready to go, the Lab may cease in offering a 32-bit Mac version of the viewer (obviously Windows will continue to be offered in both 32-, and 64-bit flavours).

The 64-bit versions of the official viewer will include 64-bit specific contributions from TPV developers, and Oz has also requested that a number of other open-source contributions which have been languishing since submission are folded into the project.

Aditi Log-in Issues and Inventory Syncing

[06:40] There are still issues being experienced by some people when logging-in to Aditi, which see them redirected to a “safe” zone (most frequently ACME H), rather than to their last log-in point. This is still subject to investigation by the Lab.

The new process for inventory syncing (see my report from 2015 week #52 for full details) between Agni and Aditi still has yet to be implemented. In essence, once this comes into effect, a password change will no longer trigger any syncing between your Agni and Aditi inventories. Instead, logging-in to Aditi will flag your account for inventory syncing. This takes place overnight (Pacific time), and cause your Agni inventory to be merged with your Aditi inventory, rather than overwriting it, thus preserving content unique to your Aditi inventory.

In the meantime, if you need your inventories syncing between the two grids, file a support ticket requesting a manual synchronising of inventories.

Continue reading “SL project updates 16 2/2: SBUG / TPVD and 64-bit official viewers”