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

Lumiya 3.1: go faster stripes and taking snapshots

lumiya-logoLumiya, the go-to Second Life / Open Sim client for Android by Alina Lyvette has received a further set of updates and bug fixes with the rapid-fire release of version 3.1 and version 3.1.1.

Both updates appeared on Tuesday, September 27th, version 3.1.1 offering several bug-fixes following the initial 3.1 release, while the latter offers fixes, tweaks, improvements and new features.

The major improvement is actually under-the-hood, with the adoption OpenGL ES 3.0 support within Lumiya. For those running the app on a modern smartphone or tablet, this should see much improved rendering of meshes in the 3D world view, including mesh bodies and avatar attachments, and improvements in frame rates. It should also provide much better rendering of translucent mesh clothing, getting much closer to how it should actually look.

Alongside of this comes a number of UI / functional changes and additions, including:

  • The ability to edit parts of your Profile & add notes to other profiles
  • The ability to take and share snapshots
  • Setting your home location
  • Mesh body HUDs should now work as expected
  • Kemono avatars should now render correctly
  • Play sound stream moved to the Action menu (top right of screen) when in the Contacts / chat windows
  • Screen corruption in 3D view on certain Adreno 305 and 320 GPUs (e.g. Sony Xperia T3)
  • A fix for a crash when saving notecard data.

Some of these updates are looked at in more detail below.

Lumiya 3.1 should allow mesh body users to use their HUD systems - use pinch-zoom to enlarge the HUD if required
Lumiya 3.1 should allow mesh body users to use their HUD systems – use pinch-zoom to enlarge the HUD if required

Profile Editing

The Profile editing options comprise: changing your Profile picture, editing your About details and creating / editing personal / private notes on either your own profile or the profile of another avatar (personal / profile notes only).

You can change your Profile picture, edit your About description and / or add personal notes in Lumiya
You can change your Profile picture, edit your About description and / or add personal notes in Lumiya

To do this with your own Profile, go to the menu (top left icon) then My Avatar > My Profile. This will open your profile. Tap Change Picture to open your inventory to select a new picture. To update your About description or personal notes, scroll down to the relevant part of your Profile and tap the Edit option. This will take you to an Edit screen, and open your device’s on-screen keyboard for editing.

Tapping the Edit options with About and personal notes will open an edit window and display your device's on-screen keyboard
Tapping the Edit options with About and personal notes will open an edit window and display your device’s on-screen keyboard

Add Notes to another Profile

To add personal notes to the Profile of another avatar, locate the avatar in your Contacts or through the Nearby option. Tap the avatar name, then tap their Profile icon (top right of the window). Their profile will open, and you can scroll down to Personal Notes and tap Edit.

Take and Share Snapshots

Lumiya 3.1 presents users with the ability to create and share snapshots from the 3D view. To take a snapshot, go to the 3D view and position your camera as required. Tap the Action menu (top right of the window) and then tap Share Screenshot…

This will take a picture of your in-world view, and then display your available options for sharing the image. Note that this might include options to save the snapshot to your device which are not supported at this time. You can, however, upload to Google+, Google Photos, etc., or send via e-mail, etc.

You can now take and share snapshots using Lumiya
You can now take and share snapshots using Lumiya

Setting Your Home Location

When you wish to set home to the location you are in, open the Action Menu and tap Location Details. A Set Home option should be displayed on the right side of the location title bar.

Setting your Home Location from the Locations Details window
Setting your Home Location from the Locations Details window

Feedback

I’ve not had the opportunity to play in-depth with the updates with this release, so this is very much a rapid-fire overview based on the time I’ve had available with Lumiya 3.1. During my 90 minutes (ish) for fiddling, I encountered no problems and happily edited my profile, updated some notes on another profile, and e-mailed a number of snapshots via Gmail. Testing my Maitreya HUD went well, with pinch-zoom I could enlarge it sufficiently to tap the tabs on it, mask / show parts of my body, etc. Understandably, rendering of the HUD was a little fuzzy and made reading labels a little difficult, but anyone with a reasonable degree of familiarity with their HUD shouldn’t find this a major issue.

Alina indicates that further updates are on the way, and what we have here sees Lumiya take a further step to becoming the indispensable option for Android users needing on-the-go access to Second Life and OpenSim (data charges allowing if not on wifi!).

Related Links

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

The Shire; Inara Pey, September 2016, on Flickr The Shireblog post

It’s once again a light start to the week.

Server Deployment

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

Unless something untoward has happened with the latest RC version, it is anticipated the VLC Media Plug-in viewer will be promoted to de facto release status this week. A new maintenance RC is also anticipated. In the meantime, the current batch of official viewers remains unchanged from week #38:

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

Experience Scripted Sits

As per my blog post of September 23rd, Rider Linden is working on a new scripted sit capability for Experiences. The new LSL functions form Project Espeon (after the Pokémon character), and Rider has produced a proposal document on the new functionality, which can be read  in PDF format. The capability can also be tested on ADITI (the beta grid) in the following regions:  Leafeon or Umbreon or Sylveon, with test content is available on Leafeon. If anyone testing them has suggestions or feedback, please raise a JIRA against Project Espeon.

2016 viewer release summaries: week 38

Updates for the week ending Sunday, September 25th

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

LL Viewer Resources

Third-party Viewers

V4-style

  • No updates.

V1-style

  • Cool VL viewer Stable branch updated to version 1.26.18.25 and the Experimental branch updated to version 1.26.19.27, both on September 24th (release notes)

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

SL project updates 38/2: TPVD meeting, avatar and object rendering

Revenland: the castle and town
Revenland: the castle and town – blog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, September 23rd. 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

There was no update on the Main (SLS) channel on Tuesday, September 20th. On Wednesday, September 21st, all three RC channels should receive the same new server maintenance package, containing further “minor internal changes”.

SL Viewer

VLC and Project Bento RC Viewer Updates

On Tuesday, September 20th The VLC media plug-in viewer updated to version 4.1.1.319856, while the Project Bento RC viewer updated to version 5.0.0.319893 on Thursday, September 22nd. In both cases, the updates were primarily intended to bring the viewers to parity with the de facto release viewer code base.

It is hopes the VLC media plug-in viewer will be promoted to the de facto release status in week #39 (week commencing Monday, September 26th).

64-bit Versions

Clarifications was given at the TPV meeting that the 64-bit version of the official viewer will be Windows, Mac and Linux, with the 32-bit version of windows continuing, Mac and Linux moving purely to 64-bit. Active development of the 64-bit viewer is expected to resume in week #39, with the intention of getting the viewer out and available sooner rather than later.

Autobuild, Public Sources and Viewer Building

Part of the 64-bit viewer work involves viewer build infrastructure changes. These include updates to how public sources should be built and to the viewer Autobuild process. In particular, these updates allow the viewer library files to all be built using the same compiler switches regardless of build system. The wiki documentation for viewer builds will be updated to reflect these changes, and there may be a presentation on things at the next TPV Developer meeting. There is a separate file for controlling the compiler switches, so if TPVs and self-compilers wish to build their viewer with different compiler settings, they can swap this file with their own.

Viewer Blocking

As per the Lab’s recent blog post, all official viewer versions older than 4.0.5 have been blocked from accessing Second Life. Users on such viewers will be required to update their viewer to a more recent version. This has been done to encourage users to keep up with the numerous changes and improvements being made to the viewer.

That same blog post indicated that the Lab are discontinuing support for Windows Vista and for Mac OSX versions below 10.9. The Lab is doings its best to maintain back compatibility wherever it can, but where the underlying technology loses support, etc., then it is not possible for the Lab to continue maintaining support either (the more recent versions of CEF, for example, do not work on Windows Vista).

Crash Rates

The recent changes to the viewer code are said to be significantly reducing the crash rate for the official viewer, and it is hoped this will continue with further improvements to the code and through the coming availability of 64-bit versions of the viewer.

Maintenance RC

The next Maintenance RC viewer could be appearing in the early part of week #39.

Avatar and Object Rendering Investigations

[12:12] Vir Linden is starting to work on a new project (concurrent with Bento) involving digging into avatar and object rendering, and land impact. The work is due to an accumulation of issues raised concerning rendering costs by users, and the investigations at this point are focused on what might be improved and what cannot be (due to issues like backwards compatibility) .

This will involve taking “a bunch” of representative / problem cases, and try to take a set of carefully defined measurements of what the real impact is during rendering on a wide range of systems. It is hoped this will allow the Lab to adjust the formulas used to make a reasonable generalisation in the rendering cost of things, and whether or not objects are being reasonably accounted for in those calculations.  At this point in time, it is not a given that anything will chance – simply because it has been a long while since the Lab took a similar “deep dive” into rendering, but there is a “good possibility” changes will result from the investigations.

Avatar Rendering Calculations

[14:54] Avatar rendering calculations were expanded upon by Oz in terms of what happens now, and what the intent was behind things.

The viewer, providing it is using LL’s code unchanged, sends to the simulator a report on what it believes is the rendering cost of all the avatars it can “see” in a region.  The simulator then averages the reports from the various viewers, with heuristics to remove excessive values at either end of the scale, back to everyone in the region.

Right now, the viewer decides how to render each avatar it its view purely on its own per-avatar calculation, using the full dataset for each avatar. However, by using the average value calculated by the simulator, it should be possible for the viewer to start making decisions on whether or not to render avatars in a field of view based on that average (compared with its own Max Complexity setting), without having to wait for the full data on each avatar to be received. The viewer-side code to allow this has yet to be written and implemented, but may form a future project.

[18:34] The other aspect of avatar complexity calculations is that the viewer sends to the simulator a single bit of information for each avatar it can “see”, on whether or not the avatar is rendered as a Jelly Doll. The Simulator then counts how many viewers are reporting on each avatar, and how many of those are rendering that avatar as a Jelly Doll. This information fed back to that avatar roughly once a minute to generate the pop-up notification we see in the top right corner of the viewer window.

Due to the nature of the system, the updates can be delayed, or include out-of-date information. For example: data on avatars who have left a region isn’t immediately discarded by the viewer, but is held for a certain amount of time. Similarly, when changing outfits, you get an immediate update on your complexity (as it is a local calculation), but the number of those who are not rendering you fully is delayed by around 90 seconds while your updated appearance is sent to other viewers and they respond to the simulator with their information on whether they are rendering you fully or as a Jelly Doll, and the simulator feeds that information back to you.

Complexity Variances

[25:15] As noted in my Avatar Complexity updates, the complexity value assigned to an avatar can differ by up to 2K in value between those looking at the avatar. There are a number of reasons for this, including differences in the rendering capabilities of the systems viewing an avatar, and level of detail seen / distance. While it is not a high priority, the Lab is considering tuning how complexity is calculated (such as removing the LOD / distance factors from the calculations).

There are two significant bug reports for issues with the current viewer-side avatar complexity calculations:

  •  BUG-37642 – an avatars complexity value can double or triple following a teleport or relog without changing its outfit. This appears to be triggered by certain outfits / attachments.
  • BUG-37631 – wearing a rigged mesh with any amount of transparency applied to it results in a 4 times higher complexity value. This appears to be due to x4 multiplier used in the Mesh/Rendering Weight calculation for an alpha being applied to the entire avatar complexity calculation, rather than just the vertices using the transparency.

BUG-37692 – llRezObject() and llRezAtRoot()

[39:30]  BUG-37692 has been raised at a number of recent UG meetings, and is seen to be causing a wide range of issues, notably for weapon systems used in combat environments.  The Lab does not currently have a response for the issue, which will be looked at during the next triage period, on Monday, September 26th.

 

Project Bento User Group update 27 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 22nd 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 Project Bento RC viewer updated to version 5.0.0.319893 on Thursday, September 22nd, 2016. This update contained no functional changes to Bento, but merged it with the current release viewer code (e.g. the addition of the visual Outfit Browser code).

The Lab’s focus on the viewer at the moment is seeing how more widespread testing goes (in general use terms, rather than Bento-specific, although this is still of interest), whether issues or regressions arise in the viewer as a whole and watching the crash rate.  The latter has been high, but it is hoped the merge with the current release viewer will reduce these. If not, it may be that there are some Bento-specific issues still requiring deeper investigation.

A further preview demonstration of the Catwa mesh head rigged for Bento

Sliders and Bones / Joints

Avatar Sliders Wiki Page

Matrice Laville has put together documentation on which bones in the avatar skeleton are affected by the various appearance sliders when editing your shape. This can be found on the Avatar Sliders wiki page. The tables list the affected bones per slider, and how they are affected (translate / scale / both).  The eyebrow slider is also included, although this is actually a part of the hair wearable.

The was a general discussion on sliders and joint positions, which I’ve attempted to break down by topic point for ease of reference.

Locking Scale with Sliders – Proof of Concept Viewer

At the start of September, Vir produced a proof of concept viewer adding the ability to override the scale as well as position for joints in uploaded mesh models. A joint with both position and scale overrides would be effectively “slider-proof” – no sliders that affect the joint would have any effect on the model. 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).

There’s been little feedback on the option to date,so anyone who is interested in the option or has views on how it works / should work, to try this version of the viewer and provide their feedback through the forum ASAP, otherwise the option won’t be included in the Bento RC.

Sliders and Custom Joint Positions

At one time it had been possible to use sliders with custom joint positions. This is not longer the case, due to inconsistencies in how avatars would appear to themselves and one another (and changes would revert following a re-log). As the option wasn’t an intended feature for Bento, and given it can lead to inconsistencies (some of which can be fixed using Reset Skeleton, although this doesn’t work in all cases), the decision has been made not to allow sliders to operate on custom joints.

Locking Sliders / “Partial Shapes”

The above discussions flowed into questions on whether it might be possible to just lock individual sliders at upload, rather than disabling their impact on a joint basis. This is viewed as not being possible, as it would require a more extensive overhaul of the avatar system and permission system.

Paralleling this idea was a question on “partial shapes” for Bento heads, raised by Elizabeth Jarvinen (polysail). The idea here is that many shape creators sell their shape as No Modify, but if such a shape is used with a Bento head, it defeats the idea that the Bento head can be modified via slider.

Again, there is no real means to achieve this without an extensive overhaul of the avatar system. There are also the points that if people are buying No modify shapes as they are unsure of using the sliders, they are unlikely to want to fiddle with the sliders with a Bento head, and those wishing to modify their body will likely use their own shape anyway, removing the problem of No Modify shapes (although re-creating a No Mod shape by approximation or XML export / import – via Develop > Avatar > Character tests > Appearance to xml – might be a hassle, with the latter requiring a suitable TPV for re-import). A further side to this is that a number of shape creators are already supplying body shapes intended for use with the various mesh bodies already on sale, as which are supplied Modify, which could be used with Bento heads.

Gestures and Outfits

As I noted last week, gestures – such as for speech – can be stored as a part of an avatar’s outfit in the Outfits folder, allowing them to be automatically activated / de-activated. However, this has to be done by copying a link to the gesture into the required folder, as the Save Outfit function currently ignores gestures. Replacing outfits should then trigger gesture activation  of those being added, and de-activate those gestures associated with the outfit being removed.

This is not an optimal solution, but changes to have gestures made a part of the Save Outfit function are outside the scope of Bento, and Medhue Simoni has indicated he’ll raise a feature request on the idea for future consideration.

Other Items

Avastar Version Numbers

Those using the development versions of Avastar 2.0 may have noticed a recent change in version numbering. This is because people were getting confused between the technical release number and the public incremental “Alpha” version numbering.