Project Bento User Group update 13 with audio

Project Bento – extending the SL avatar skeleton
Project Bento – extending the SL avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, April 28th at 13:00 SLT on Aditi. For details on each meeting and the location, please refer to the Bento User Group wiki page.

Note that this update is not intended to offer a full transcript of the meeting, nor does it present the discussion points in chronological order. Rather, it represents the core points of discussion to Project Bento, grouped together by subject matter were relevant / possible.

Issue Fixes

Partial Joint Offsets

As noted in my last update, one issue facing Bento is in how best to handle defining partial joint offsets – a mesh that specifies the override positions for some of the joints but leaves  other joints alone, which would allow different meshes to be mixed and matched to create an avatar look. Currently, the viewer doesn’t handle  multiple root bones in a mesh with partial rigging correctly, and to help correct this, Vir Linden has published a proposal for moving forward. Essentially, this would filter out any joints which have a position unchanged from their expected default, even if the mesh claims to use an offset, with only a very small adjustment (0.1mm or greater) is required to have a joint treated as having its own offset.

Offset and Slider Conflicts

Another issue which has been discussed recently is that joints offsets (notably translation offsets) can conflict with adjustments made using the appearance sliders, resulting in adjustments made using the sliders “snapping back” to their original location on leaving edit shape or following a relog or after removing / rewearing the avatar mesh.

An adjustment has now been made so that where an offset has been set for a joint, adjustments made using the sliders which only affect the offset will be ignored, only changes to the scale of a joint (length, height) made using the sliders will work. It is thought that this fix will also address the likes of BUG-11854.

Work in progress: Aki Shichiroji demonstrates a wearable wyvern utilising Bento bones for animation.
Work in progress: Aki Shichiroji demonstrates a wearable wyvern utilising Bento bones for animation.

It has also been noted that BUG-10991, “[Bento] Mesh rigged to the new joints either partly disappears, collapses or melts when viewing that avatar as an imposter” has not been fixed with the latest version of the project viewer. It will hopefully be one of the issues addressed with the next update.

Next Viewer Update

The above fixes, coupled with other work which has been carried out are regarded as being sufficient to kick-off another update to the project viewer, although there is a further piece of work Vir hopes to include. If all goes according to plan, this should see a new version of the Bento project viewer appearing in week #18 (week commencing Monday, May 2nd).

Animation File Size Limit

Currently, there is a file size limit of 120 Kb on animation files enforced by the back-end servers. With the increased number of bone available for animation. As it is now possible to animate a far large number of joints, some creators have started to find this limit a problem, and a request has been put in for it to be increased (see BUG-11836).

While there is potential for this to be done, it is currently unclear how much the file size limit should be increased. There are also other considerations to take into account, such as the intention for animation assets to be moved to the CDN for better delivery.

If there are specific examples of animation with large file sizes which could be attached to the JIRA as examples, they would be welcomed by the Lab. It has also been suggested that the Lab establish a best practices guide for animations files on the wiki.

This lead to a brief discussion on interpolation and the differences between .BVH and .ANIM animations, with Vir providing background information on how each are respectively handled.

Sliders for Remaining Bento Bones

While many Bento bones  – notably those of the face / head – have been tied-into the existing appearance sliders, there are still those which do not have slider support because they would require the development of dedicated sliders. this has been considered outside the scope of the initial Bento work, and it is far from certain it will be taken up in the near-term future, if at all.

Part of this comes down to the added complexity further sliders would thrust into the viewer UI, and also – as Vir explains – because the use of many of the Bento bones is intended to be arbitrary, therefore providing sliders to adjust them may not suit all of the uses to which they might be put, and cause further confusion / unpredictable results when used.

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

SL project updates 16 17/1: server updates

Devil's Point; Inara Pey, April 2016, on Flickr Devil’s Pointblog post

Light news again for the start of the week.

SL Server Deployments

  • There was no Main (SLS) channel deployment on Tuesday, April 26th.
  • One Wednesday, April 27th, all three RC channels should receive the same server maintenance package, comprising a server crash fix and some minor internal improvements

For details of any updates / changes, please refer to the server deployment thread.

SL Viewer

No promotion or updates so far leaving the viewers as follows:

 

Alchemy 4.0.0: client-side AO

Alchemy-logoAlchemy viewer updated to version 4.0.0.37561 (Beta) on April 16th. This is another progressive update, containing a lot of under-the-hood improvements and fixes – notably around rendering – and a new visible update in the form of a client-side animation override capability, modelled after the one most popularity seen in Firestorm.

The update also sees a Linux 64-bit release as well, although going by the comments following the release notes blog post, there appear to be log-in issues associated with the Linux version.

This, and the previous “beta” release are intended to get the team’s own updates in front of users ahead of some major updates which will be forthcoming as Alchemy (as with all other viewers) merge with some significant releases coming down the pipe from Linden Lab (including the Avatar Complexity capabilities and – eventually – the Project Bento updates).

As the AO update is the most visible change with this release, and given I am not a regular Alchemy user (although I find it possibly the best viewer for video capture), the rest of this article focuses on the AO aspect of the update.

The client-side animation override (AO), is intended to replace he need for HUD-based scripted animation overrides, instead driving animations – walks-sits-standing poses, etc – directly through the viewer, thus freeing-up simulator resources. Using one does require a little work in setting-up (but so can HUD-based systems), but you can run multiple animation sets directly from the viewer.

Essentially, the AO system comprises three parts:

  • The animations you wish to use, which you will need to copy / move from any associated HUD system to your inventory – placing them in a folder within your Animations system folder is often a good way to do this
  • A configuration note card defining the animation you wish to use. Like configuration note cards found in many ZHAO -based animation overrides (so simply using the note card found within your scripted AO system should work OK), this defines animations by type: stand, walk, sit, etc (you can also manually create an animation set if no configuration note card is available)
  • The viewer UI elements.
To use the client-side AO, you'll need to have the animations you wish to used stored within your inventory (not within another AO system) (l), and a suitable note card defining the animations you wish to use with the AO (r)
To use the client-side AO, you’ll need to have the animations you wish to used stored within your inventory (not within another AO system) (l), and a suitable note card defining the animations you wish to use with the AO (r)

Once you have done this, you’re ready to set-up the client-side AO system.  You can access the AO floater in one of two ways:

  • By adding the AO button to your viewer toolbar and then clicking on it to open the AO floater
  • By hovering the mouse over the AO icon at the top right of your screen to display a minimised AO floater.

The latter is actually the easiest, given the way Alchemy have implemented to AO system. Assuming you take this approach, click on the spanner icon in the minimised AO floater to expand it.

The client-side AO floater - minimised (l) and expanded (r)
The client-side AO floater – minimised (l) and expanded (r)

Now, simply drag and drop the configured animation note card from your inventory to the AO floater. This will cause Alchemy to configure the AO system ready for use, and result in a list of your animations appearing in the floater. At the same time, a set of links will be created in the Animation Override folder in your inventory – do not delete these!

Alternatively, if you don’t have a configuration note card for an animation set, click the + button on the AO system floater, type in a name for your animation set, then drag and drop all of the animations you want to use in the set from your inventory into the AO system floater.

The AO floater with the loaded animation set (l) and the associated links in the Animation Override folder in your inventory (r)
The AO floater with the loaded animation set (l) and the associated links in the Animation Overrides folder in your inventory (r)

Continue reading “Alchemy 4.0.0: client-side AO”

2016 viewer release summaries: week 16

Updates for the week ending Sunday, April 24th

This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

  • Current Release version: 4.0.3.312816 (dated March 23) – no change
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • No updates
  • Project viewers:
    • No Updates.

LL Viewer Resources

Third-party Viewers

V4-style

  • No updates.

V1-style

  • Cool VL viewer Stable branch updated to 1.26.18.3 Experimental branch updated to version 1.26.19.4, both on April 23rd (release notes).

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

SL project updates 16 16/2: TPV Developer meeting

The golden Delta, Fantasy Faire 2016
The Golden Delta, Fantasy Faire 2016

The following notes are primarily taken from the  TPV Developer (TPVD) meeting held on Friday, April 22nd, 2016. A video of the meeting is embedded at the end of this report, my thanks as always to North for supplying it, and time stamps in the text relate to this recording.

Server Deployments – Recap

There are no scheduled deployments for week #16. The next deployment should be to the RC channels in week #17 (week commencing Monday, April 25th). This is liable to include at least one fix to help prevent simulator crashes.

SL Viewer

[0:40] There have been no further updates since my part #1 report.

  • The Maintenance RC viewer is progressing well, with no backwards compatibility issues
  • The Quick Graphics viewer now has “almost all” of the pending changes made to it. with Oz noting:
    • There is still a shiny rendering issues with muted avatars which has yet to be resolved
    • The account properties for materials have yet to be added. Testing for this in terms of the cost multiplier, etc., is in progress
    • However, the viewer could ship with these “as is” and then have them incorporated later
    • A further RC build is in progress and is expected to be made available in week #17
    • The favoured unofficial term for muted avatars at the Lab at the moment is “rainbow people”
    • It is hoped that this viewer will go to release status in “significantly less” than a month
  • A further update to the Bento project viewer is anticipated ahead of the project moving to the main grid, after which the viewer will progress through project to release candidate to de facto release over time
    • Work continues to try to resolve or improve some pre-existing issues with animation handling, etc., all of which may or may not be completed as a part of the Bento project
    • There is no definitive time frame as to when the project will move to the main grid, although the aim remains for this to occur in Q2 2016
    • See my weekly Bento updates for more information
  • The Oculus Rift viewer is reaching a point where it “almost” works
    • It now works with the latest SDK
    • Very precise graphics settings are required, and it is likely that it will be updated and issued with a notice it will only work decently with these graphics settings
    • There are still some UI issues to be dealt with
    • The Lab will be watching usage stats for this viewer closely once available
  • [14:22]  64-bit viewers: The Lab has been testing 32-bit builds against their updated libraries, which are now in a position to support 64-bit builds
  • [15:22] A contributed fix for issues around modifier keys on the Mac viewer has passed LL’s QA, and should be in the next Maintenance RC viewer to be released

Apple QuickTime

[10:52] As I recently noted, Apple have deprecated support for QuickTime on Windows, leaving some critical vulnerabilities unpatched, leading to advisories that windows users uninstall the package from their systems.

As the QuickTime SDK has tended to be a part of the viewer build process, there has been an ongoing discussion within the opensource-dev mailing list as to how to replace it. Currently, the Lab is testing what happens if the QuickTime plug-ins are completely removed from the viewer, and trying to handle media which used to be handled by the plug-ins directly by CEF. However, it is unlikely that a version of the viewer without QuickTime will be appearing in the immediate future.

Teleport Web Widget

[13:25] As noted in my last TPD update, there is a new web widget to handle SLurls and map URLs into Second Life from the web. The should be making an appearance soon via the wiki, and in things like the Destination Guide. There will hopefully be a blog post outlining the widget and how to use it appearing as well in due course.

The SL Viewer and RLV

[27:22] The RLV (restrained love viewer) extensions for the viewer have a mixed reputation. Initially conceived to help make certain adult activities more life-like, they have also been shown to have a range of much broader applications (e.g. enabling  “portal” like teleporting of avatars, controlling camera movement, etc).

Some of these types of capabilities have been mirrored through the introduction of Experiences. While the Lab has no intention of adopting RLV or RLV/a “as is” or in a manner that’s compatible with the existing RLV API, they are considering possibly folding some more RLV-style functionality into the Experience set of capabilities as a longer-term project.

 

Project Bento User Group update 12 with audio

Project Bento – extending the SL avatar skeleton
Project Bento – extending the SL avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, April 21st at 13:00 SLT on Aditi. For details on each meeting and the location, please refer to the Bento User Group wiki page.

Note that this update is not intended to offer a full transcript of the meeting, nor does it present the discussion points in chronological order. Rather, it represents the core points of discussion to Project Bento, grouped together by subject matter were relevant / possible.

Bento Promotion

Troy Linden, the product team lead for Project Bento opened the meeting by offering thanks to all those who have participated in the project. The Lab is now preparing to deploy the project to the main grid, most likely some time in Q2 2016. In support of this, they want to hear from content creators who would be willing to submit avatars for use in Bento promotional videos and supporting documentation. Those interested in helping the Lab by providing content are asked to content Troy directly, indicating what they are producing, so a good cross-section of content can be demonstrated.

Skeleton Status and Viewer

From the TPV Developer Meeting, Friday April 22nd

It is believed the skeleton in now frozen, and the Lab would prefer not to add further bones / amend the existing bones. There will be a period of test (around two weeks) to ensure there are no further significant changes which must be made before the project progress to the main grid. Work is continuing on trying to resolve or at least improve issues which pre-date Bento but what have an impact on it (e.g. the various default animation issues discussed in these reports), although these are not considered blockers to the project moving forward, so they may or may not be all resolved over time.

Joint Offsets and Overrides

Partial Offsets

Note: see the forum thread discussion commencing here, and the three messages immediately following it, and further follow-ups  here and here (plus the two messages immediately following it) for additional background.

One problem people have encountered is when defining partial joint offsets – that is, having a mesh that specifies the override positions for some of the joints but leaves  other joints alone. This is seen as particularly useful in allowing different meshes to be mixed and matched to create an avatar look. However, there appear to be issues in how both the viewer and – possibly – Avastar are handling things.

The issues within the viewer have been identified as the viewer failing to handle  multiple root bones in a mesh with partial rigging correctly. For example, if a creator is trying to override the shape of both hands in a mesh without overriding anything else (and so no common root such as the pelvis is defined), the viewer currently applies the defined offsets to one hand, but not the other due to them having separate root bones. It is hoped a fix for this will be in the next project viewer update.

Flagging joint Overrides

Another issue is that currently, there is no means to flag whether or not a joint has an override on an individual basis. The current assumption is that all the joints that are skinned to either also have an offset defined, or none of them do.

The problem is how to let people specify individual overrides without changing the mesh asset structure as it is currently defined, as it would really be outside the scope for Bento (an example of this would be providing a custom attribute to specify offsets)

Suggested options are:

  • Treat certain values in the mesh asset as indicating there is no offset. There are issues associated with this. For example, if 0,0,0 were to be used, then joints would not have any offsets relative to the pelvis, leaving them all in that position, squishing the model
  • Use the default location for a joint offset as a kind of “magic” value, indicating that nothing is to be changed.

The latter is seen as preferable, although it is acknowledged it might not suit all cases or might cause more issues if using the default positions proves complex. Vir has therefore invited further discussion on the matter through the forum thread.

One other suggestion was put forward: using a true / false boolean to define the state of offsets on a joint by joint basis. However, this would again mean changes to the mesh asset structure and, if included in the mesh uploader as suggested in the discussion, a complex and potentially confusing update to the viewer UI.

Facial Sliders: Animation Translation vs. Slider Offset Conflicts

As noted in my update #11, there are concerns about the potential for animations which reposition the facial bones conflicting with the use of facial sliders to adjust the position of the same bones, particularly when using bone translations in animations. This could potentially make it difficult to make portable facial animations, as they can end up conflicting with facial bone positions set by the sliders.

In short:

  • When using rotations in an animation, the rotation will generally take its baseline from whatever offset is selected by adjusting the associated slider. So changing the size / position of a facial element with the sliders shouldn’t drastically impact the appearance when the animations are running
  • When using translations, however, their offset is taken as an absolute. This means that if the associated appearance slider only uses an offset to define the size of a bone – such as with the new ear-tip bones – changes made using the slider will be instantly overridden by the animation as soon as the appearance editor is closed (so if an animal’s ears are made larger using the sliders, then will instantly “snap back” to the size defined by the animation translation)
  • The problem should be limited to the sliders which only use offsets rather than scaling to achieve results, and these are thought to be a minority. However, further discussions will be had to try to determine how the issues might be remedied
  • Krystal Silverweb has offered some examples of issues on the forum thread Which continues through to page 58, at the time of writing), and Gaia Clary has added some further notes concerning the translation / rotation of joints and the use of the appearance sliders to the Avatar documentation.  See also discussions within the thread under the heading “Facial animations and appearance sliders compatibility….”

Vir is considering starting a best practices document on the use of animations and sliders, and is hoping that further testing can be carried out to see what works best, where limitations reside, etc., and that people will help expand this to provide practical help and support to others. This will likely be linked to the Good Building Practices for ease of reference.

Initial discussion on sliders and issues

Post-meeting discussion on sliders / offsets and animation bone rotations / translations between Medhue, Cathy and Elizabeth

Other Points of Discussion

Linking Bones to Create Snakes

Medhue Simoni referenced his observations in trying to link bones together to produce avatars such as snakes, where a large number of bones have to be linked to effectively produce a spine. The expanded into a broad discussion on the use of the “hind limb” bones, and the use of custom skeletons within 3D tools for the purposes of animating and constraining the SL skeleton bones.

Bones and Rigging

One problem with the volume of bones the skeleton is what to rig and when in creating avatar models. Following the core meeting a brief discussion was held with further explanations given on:

  • teeth bones: designed to ensure the teeth in an avatar accurately follow the movement / position of the lips; if the teeth are rigged to the lips, misalignment /warping can occur
  • Chin bone: to allow for easier adjustments to the head.

This also covered some of the thinking behind the linking of the facial sliders to the Bento bones.