Project Bento User Group update 30 with audio

Bento: extending the avatar skeleton
Bento: extending the avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, October 13th at 13:00 SLT at the the Hippotropolis Campfire Circle. and chaired by Vir Linden. For details on the meeting agenda, 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, grouped together by subject matter were relevant / possible, whilst maintaining the overall context of the meeting.

RC Viewer

The Bento viewer is now on its third version as a release candidate (version 5.0.0.320160 at the time of writing). It is performing well crash-wise in comparison with the current release viewer, so the hope is – bugs allowing – it might not be too long before the viewer moves up to release status.

The first of the bugs mentioned by Vir in the audio is that the scale locking capability recently added to disable shape sliders from having any influence over joint positions has been reported as working intermittently at times. Vir is still looking into this.

The second is a report instance of pre-Bento content being deformed when viewed on the Bento viewer – see BUG-40672.

The problem appears when a sub-mesh contains bad joint position overrides for various joints that the model is rigged to. Prior to Bento, these joint position overrides were not applied, because the Lab was enforcing a 20-joint minimum: if a sub-mesh was rigged to fewer than 20 joints, then it was not treated as rigged, and the joint positions were ignored.

The BUG-40672 issue as seen in the Bento viewer, and apparently the result of "bad" joint overrides defined in the pre-Bento model, and changes made to how overrides are handled in the Bento viewer
The BUG-40672 issue as seen in the Bento viewer, and apparently the result of “bad” joint overrides defined in the pre-Bento model, and changes made to how overrides are handled in the Bento viewer

For Bento, this restriction has been relaxed to make it easier to produce meshes only affecting part of the avatar (wings affecting wing joints positions, head that affects only head join positions, etc.), making it possible to “mix and match” different meshes. Unfortunately, it also means that any model with “bad” (but previously “invisible”) joint positions defined may now appear deformed.

Reverting the viewer to its previous behaviour is not seen as optimal, because of the potential to break some Bento models and make the extended skeleton less useful (no more mix and match of meshes). Similarly, it is currently unclear as to how much content might be affected if the updated behaviour is retained, so the Lab is still considering what to do.

Makers of pre-Bento mesh avatars are asked to check BUG-40672 and then test their avatars using the current Bento viewer to see if similar issues manifest themselves. The most direct way to “fix” things is for affected content being re-uploaded with the bad joint positions removed, or by adding an animation to fix the joint positions after the fact (assuming said animation doesn’t conflict with others the model is using). Of course, if the model does not require joint positions at all then the option could also simply be unchecked at upload time.

Animating Hands

A complex discussion has been unfolding on the discussion forum concerning animating hands (from around page 122 onwards), and which also encompassed a part of the user group meeting (in text). It’s a convoluted subject involving several elements, of which perhaps the most important thing is understanding how best to animate hands.

To try to address this, Cathy Foil has produced a comprehensive video on hand animations, which anyone developing mesh hands for Bento may find informative and helpful, and so is embedded below.

Cathy also provided some hints and tips during the meeting.

Feet

There has also been forum discussion on feet. Bento doesn’t add and further joints to feet, and there are no plans to change the rig specifically to a support for animating feet. However, as Vir pointed out, there are more joints than the system avatar does not use – mToe and possibly mFoot – which might offer a degree of flexibility for mesh creators. If these are used, a point to keep in mind is that they are not used in the avatar height calculations, so some unexpected results my occur.

Other Items

Bounding Box Clipping / LODs

A non-Bento issue which can be frequently seen at Bento meetings due to the number of meshes being worn is that of bounding box clipping – part of the avatar appears to vanish as a camera is pulled back.

This generally occurs when the viewer is operating at the limit of its imposter avatars setting, and a conflict occurs trying to both display the avatar mesh (which the viewer will try to render at a united LOD (level of detail) whilst also trying to switch to displaying an avatar as an imposter. It can be overcome by setting the imposter slider to No Limit in Preference > Graphics.

While fixing this issue is not part of Bento, it raised the subject of why LODs aren’t used rather than the imposter setting. Vir explained that one reason is this idea that the viewer will try to render avatars and their attachments at a high LOD, rather than stepping down through LOD models, as is the case with in-world mesh objects. Another isse us that many creators tend to only use high LOD models, and incentivising people to use the LOD system correctly isn’t easy, although there are tools (e.g. Decimator in Blender) which help in the creation of LODs for models.

As the whole issue of rendering and associated costs and calculations is now being looked at by the Lab, changes might be forthcoming to help with matters – time will tell on that.

Additional Links

2016 SL project updates 41 (1): server, viewer

Venta Silurum; Inara Pey, October 2016, on Flickr Venta Silurumblog post

As always, please refer to the server deployment thread for updates or changes.

  • There was no deployment to the Main (SLS) channel on Tuesday, October 11th.
  • On Wednesday, October 12th, all three RC channels should receive a new server maintenance package comprising the new Experience Key scripted sitting (Project Espeon). Note that at the time of writing, the release notes were awaiting update to reflect this.

SL Viewer

The VLC Media Plugin RC viewer was promoted to de facto release status on Monday, October 10th. Version 4.1.1.320331 includes a new media plug-in based on LibVLC, which replaces QuickTime as the media player in the WINDOWS version of the viewer. Other versions of the viewer will be updated to use VLC when their 64-bit versions are issued.

The leaves the current viewer pipeline as follows:

  • Project Bento  RC (avatar skeleton extensions) viewer version 5.0.0.320160, dated October 7th
  • Maintenance RC viewer version 4.0.9.320231, dated on October 4th – over 70 crash fixes, improvements and other fixes
  • Obsolete platform viewer version 3.7.28.300847 dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Premium Weapons Testing and New Sandbox Quad

There is a new Premium users Weapons Testing sandbox available, which has been requested numerous times by Premium users. It sits kitty-corner with the existing Weapons Test sandbox.

The new Premium Weapons Testing Sandbox on the world map
The new Premium Weapons Testing Sandbox on the world map

There is also  a new 4×4 group of general sandboxes coming on-stream, with each of the regions is running on one of the four simulator channels (Main SLS, BueSteel RC, Le Tigre RC, and Magnum RC). These are designed to make easier for creators to make comparisons between the four underpinning simulator versions during product testing, etc. They are:

All have a General rating.

2016 SL project updates 40 (2): TPVD meeting, Bento

It All Starts With a Smile; Inara Pey, October 2016, on Flickr It All Starts With A Smileblog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, October 7th. The video of that meeting is embedded at the end of this update, and references to it are indicated through the use of time stamps in the paragraphs below. My thanks as always to North for recording and providing it.

This is not intended to be a transcript of the entire meeting, which featured discussions of some situations specific to individual region rather than SL as a whole. However, key discussion points have hopefully been highlighted.

Server Deployment – Recap

As always, please refer to the server deployment thread for updates or changes.

  • Tuesday, October 4th saw the Main (SLS) channel updated with the server maintenance package previously  deployed to the three RC channels, which includes a fix for BUG-40565, introduced as a result of the deployment of the week #38 server maintenance package.
  • There was no planned deployment / restart for the three RC channels, although there should be a new RC package available for week #41 (commencing Monday, October 10th).

SL Viewer Updates

From 00:05 in the video.

The VLC Media Plug-in RC viewer updated to version 4.1.1.320331 on Thursday, October 6th, intended to fix a number of outstanding bugs, including setting the volume slider to maximum, causing the voice sound to cut out completely. This view has been performing well, with a low crash rate, so if this trend continues with the latest update it may well finally make it to release status in week #41 (commencing Monday, October 10th).

The Project Bento RC viewer updated to version 5.0.0.320160 on Friday, October 7th (see below for more).

Project Bento

There was no Project Bento user group meeting during the week, due to a timing conflict with the Lab’s internal monthly meeting. The next Bento meeting will be on Thursday, October 13th, at 13:00 at the Hippotropolis camp fire circle.

In the meantime, as noted above, there was a new Bento RC update, which includes the following additions and fixes:

  • Adds a scale locking feature to mesh upload
  • Optimisations should improve the frame rate in mesh-intensive regions
  • Probable fix for an intermittent crash.

The scale locking feature adds a check box which, if checked will lock joints against scale changes, and thus the sliders affecting the joint will no longer influence it. Leaving the box unchecked for the joint will allow scale changes. This might be useful for those wishing to produce (non-human?) avatars where it might be preferable to have certain parts of the body locked from slider-driven changes to prevent distortions / conflicts arising, without necessarily locking in the entire mesh against slider changes (e.g. the face could be “frozen” to prevent distortion, but body height or tail length, etc).

In addition to their brief Bento Hands preview first seen in July, Vista Animations have now produced a more details preview, with the beta version of the hands (with free update to the release version) available on the Marketplace for L$999.

64-bit Viewer and Viewer Build Process

[03:19] Work on the 64-bit viewers is temporarily paused as the Lab shifts over to their improved viewer build process, which will come into effect with the 64-bit builds.

The updated process involves changes to almost everything in the build pipeline other than the compilers. However the work is progressing well, and the Lab anticipates running builds using the new libraries from week #41, and the library repositories are already public for TPVs to examine and use.

In particular, the Autobuild environment has been updated to support platform-specific switches within the build scripts via a new option in the autobuild_source_environment command. The varsfile is a file containing template variable assignments to be modified based on the build type, so that all builds(library and viewer) use the same compilation and option switches. The variables file used by Linden Lab to build the viewer and its libraries is in the viewer-build-variables repository. TPVs are free to us this, or adopt / continue to use their own.

As noted, given the extent of the work, the Lab is avoiding updating Visual Studio and Xcode. Instead, they will be updated as a follow-on project once the current work is completed.

Snapshot 360

[08:49] The Lab is working on a new viewer capability – the ability to take 360-degree panoramic snapshots using the snapshot floater. I’ve covered this in a separate article, with key audio extracts.

Experience Force Sit

Rider Linden is continuing to work on this new capability (see my article here) which will allow for the scripted seating of avatars engaged in experiences (Project Espeon). In particular, the latest Maintenance RC allows avatars to use the stand button to stand (Server Beta Meeting, Thursday, 6th October).

2016 SL project updates 40 (1): server, viewer

Neverland - Calas Galadhon Halloween
Neverland – Calas Galadhon Halloween – blog post

As always, please refer to the server deployment thread for updates or changes.

  • Tuesday, October 4th saw the Main (SLS) channel updated with the server maintenance package previously  deployed to the three RC channels, which includes a fix for BUG-40565, introduced as a result of the deployment of the week #38 server maintenance package.
  • There is no planned deployment / restart for the three RC channels, although there should be a new RC package available for week #41 (commencing Monday, October 10th).

SL Viewer

The Maintenance RC viewer was rapidly updated on Tuesday, October 4th, after only having been released on September 28th. Version 4.0.9.320231 see the addition of a Project Espeon fix (“Experience permission dialogue should include “Sit your avatar””), suggesting this project is making progress.  Overall, this viewer includes over 70 crashes and bug fixes and improvements – refer to the release notes for the full list.

Excluding this update, the remainder of the current crop of official viewers remains unchanged:

  • Current Release version: 4.0.8.319463 (dated September 9), promoted September 15 – formerly the Visual Outfit Browser RC viewer
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Project Bento (avatar skeleton extensions), version 5.0.0.319893, dated September 22nd
    • VLC Media Plug-in Viewer RC, version 4.1.1.319856, dated September 20th – replaces QuickTime in the Windows viewer with a media plug-in based on LibVLC
  • Obsolete platform viewer version 3.7.28.300847, dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

2016 SL project updates 39 (2): server, viewer

Vecchi Amici
Vecchi Amiciblog post

Server Deployment – Recap

As always, please refer to the server deployment thread for updates or changes.

  • There was no deployment to the Main (SLS) channel On Tuesday, September 27th.
  • On Wednesday September 28th, all three RC channels should receive the same new server maintenance package, which includes a fix for BUG-40565, introduced as a result of the deployment of the week #38 server maintenance package.

SL Viewer

The VLC Media plug-in viewer didn’t make the jump to release status as had been anticipated, but should remain the next in line for promotion.

A new Maintenance RC viewer did arrive, however. Version 4.0.9.320038, released on Wednesday, September 28th, focuses on assorted crash fixes and stability fixes, with over 70 updates and fixes included. This has the current official SL viewer list looking as follows:

  • Current Release version: 4.0.8.319463 (dated September 9), promoted September 15 – formerly the Visual Outfit Browser RC viewer
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Maintenance RC viewer, version 4.0.9.320038, dated September 28th – 70+ fixes and updates
    • Project Bento (avatar skeleton extensions), version 5.0.0.319893, dated September 22nd
    • VLC Media Plug-in Viewer RC, version 4.1.1.319856, dated September 20th – replaces QuickTime in the Windows viewer with a media plug-in based on LibVLC
  • Obsolete platform viewer version 3.7.28.300847, dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Render Cost Investigations

This was first raised at the TPV Developer meeting on Friday, September 23rd, and again at the Bento User Group Meeting on Thursday, September 29th (although it is not Bento specific.

Vir Linden is leading an investigation into rendering cost and land impact of items (worn and in-world). This is as a result of JIRAs filed on the LI cost of various items not being correctly assessed, etc. It is not clear if any changes will result of the investigations, particularly where legacy content is concerned, but equally, it might be that some adjustments can be made to the rendering cost formulae. In particular, the Lab is interesting in learning about problematic content and JIRAs filed on LI  / rendering calculation issues (such as BUG-37631). Speaking at the Bento meeting on the subject, Vir had this to say:

 

 

Project Bento User Group update 28 with audio

Bento: extending the avatar skeleton
Bento: extending the avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, September 29th at 13:00 SLT at the the Hippotropolis Campfire Circle. and chaired by Vir Linden. For details on the meeting agenda, 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, grouped together by subject matter were relevant / possible, whilst maintaining the overall context of the meeting.

RC Viewer and Scale Locking

The next release of the Bento RC viewer should be appearing soon. When it does, it will have a couple of updates:

Slider Scale Locking

At the last meeting, Vir requested feedback on the proposed ability to effectively make joints in a mesh “slider proof” by overriding the scale as well as position in uploaded mesh models, as seen in the proof of concept viewer put out at the start of September.

The option has now received positive feedback, and will included in the next RC update. It will comprise a check box which, if checked will lock joints against scale changes, and thus the sliders affecting the joint will no longer influence it. Leaving the box unchecked for the joint will allow scale changes.

Performance optimisations

There has been one noticeable “hot spot” of viewer performance degradation as a result of all the new Bento joints. This has been sufficient for the Lab to make some changes which should help improve FPS for users when in a region with a lot of rigged mesh.

Going to Release

The question on when Bento will reach a release status tends to come up at every meeting, and the answer remains the same. Bento’s promotion to release status is dependent on a number of factors, including:

  • The viewer’s crash rate compared with the current release viewer and other RC viewer in the release channel
  • Whether exposure to a wider audience of users uncovers non-bento bugs or regressions which require additional fixing
  • Relative priorities between Bento and other projects.

However, there have been few Bento-specific bugs raised against the RC viewer, and while it still requires time as an RC as changes are still being made, Vir’s hope is that it will be weeks rather than months until the viewer is promoted to release status (bugs and other priorities allowing, as noted.

Joint Position Locking

A joint’s position can be locked from slider influence by setting a custom position for it. However, the slider’s influence isn’t completely disabled, as a change to scale can still have influence. For example, if the scale of a parent join is changed, it can influence where a child joint appears, even if the child has a custom position set (hence one reason for the scale locking. However, there has been a suggestion that joint position locking may not be working smoothly, so Vir is interested in hearing about situations where this might be the case.

The question was asked in joints could be locked from within Second Life – that is, after upload. the short answer to this is no, as it would require a significant amount of reworking which falls well outside of the scope for Bento.

My company of wolves: wearing the "Morgan" avatar, my Alt attends the Bento meeting, under the protection of two Bento wolves (designed by Medhue Simoni) - that's Whirly on the left, and Medhue on the right)
My company of wolves: wearing the “Morgan” avatar, my Alt attends the Bento meeting, under the protection of two Bento wolves (designed by Medhue Simoni) – that’s Whirly on the left, and Medhue on the right) – see the addendum below for more info on the wolves.

Animation Priorities And Formats

As all SL animators know, the platform supports two animation types: .BVH and .ANIM. The differences between them, in essence, is that .BVH is a format which pre-dates Second Life. During the upload process, an attempt is made to process the .BVH file to make it more efficient. The .ANIM format is more of an internal format for Second Life, and bypasses all the processing common to .BVH files; all the settings are already baked in, including the priority.

Generally speaking, the priority in which animations play is based on their priority; those animations with a high priority than other will take precedence in playback. If to animations with the same priority are called, it can be indeterminate as to which may play first. There have been some proposals to make this more deterministic, but it is a non-Bento effort, if it is being actively pursued.

However, if using the .ANIM format in Blender, it is possible to set the animation priority on a per joint basis, prior to exporting for upload to Second Life – although it is not clear if the Second Life .ANIM format supports a per-joint field for prioritising animations. Also, all of the options available in the .BVH uploader for Second Life are available for .ANIM files from within Blender / Avastar, and can be set from there prior to export.

Maya also has a native .ANIM format, but it is important to note that this is not the same format as the Second Life .ANIM file, and it is not  compatible with Second Life.

Other Items

Mixing and Matching Bento Parts

One of the aims with Bento is to allow users to mix and match Bento parts. So, for example, if you have a Bento elephant, you might in theory be able to get a set of Bento wings and add them to become a flying elephant. To achieve this, a Bento mesh no longer has to define positions for all the joints in the skeleton – only those it actually uses need to be defined.

However, this still means customers must be aware of the joints being used by different mesh models to avoid potential conflicts. Again, if the elephant mentioned above uses the wing bones to animate its ears, that’s going to conflict with the use of wings using the same bones  – and yes, I’m avoiding Dumbo and his ear-flapping flying for the purposes of this example! 🙂 ).

One way to avoid this might be for creator to document the joints they’re using in their mesh models when selling them (e.g. in the Marketplace listings, on their vendor boards, etc). But quite how this might work in practice remains to be seen – and will largely rely on the community to consider matters.

MayaStar Update

Cathy Foil has reached a point of getting all the sliders working with the all of the bones, although some are not yet working properly. She hopes that MayaStar will be updating a in the next couple of weeks. She also reminded people that Aura Linden is, in her own time and unpaid, writing an exporter for MayaStar for .ANIM files. This will be provided as an open-source project.

Bento Follow-up?

After the main meeting had finished, Cathy Foil indicated that she and Matrice had discussed a possible follow-up for Bento with Vir, which he was positive about. This would be to add a further appearance slider which would allow an avatar to be correctly / proportionally scaled larger or smaller.

This would apparently be a relatively simple addition, although work would also have to be put into correctly scaling walks, runs and flying to avoid things like Mach 5 tinies roaring across a region because the scale of their steps remains unchanged (the upper and lower limits of avatar size would also need to be defined). Given the potential benefits of such a slider – more efficient land use as avatars could be more easily scaled down to make use of smaller spaces, etc. -, it could also be a useful task for one of the few remaining slider slots which are available.

The discussion included the idea of using animations or even a file (/script) to define avatar scale, with Cathy indicating that animation scaling was ruled out early in the project on the grounds of cost, and that Vir was unsure of a way to easily allow file-based avatar scaling.

Next Meeting

Due to the Lab’s monthly internal meeting, which conflicts with the Bento meeting, the next Bento User Group meeting will be on Thursday, October 13th.

Addendum

Those interested in the Bento mega-wolves by Medhue can now obtain them through the Marketplace, and read about them on Medhue’s blog. You will require a Bento-enabled viewer to render them correctly. With thanks to Whirly for the pointer.

Additional Links