Second Life Oculus Rift support suspended

Development of Oculus Rift support within the official Second life viewer has been suspended.
Development of Oculus Rift support within the official Second life viewer has been suspended.

On July 1st, I blogged about the new Oculus Rift project viewer designed to support both the DK-2 and CV-1. The release, coming almost two years after the initial project viewer was made available, had been long anticipated among Oculus Rift HMD users in SL, and so the response was initially enthusiastic in terms of people downloading  it.

Unfortunately, as I subsequently reported, thanks to feedback from TTech, Ai Austin, Rai Fargis – who raised BUG-20130 on the viewer (still open at the time of writing, although that may change) – and others, the new project viewer had more than a few issues with it, and was seen as something of a step back in terms of general usability.

Now it seems that the Lab have – for the foreseeable future, at least – decided to cut their losses in developing Second Life viewer support for Oculus Rift. Posting in the Oculus CV-1 forum thread, Oz Linden announced:

Thank you for experimenting with our Oculus Rift Project Viewer and offering your feedback. Unfortunately, the Project Viewer that we recently made available didn’t meet our standards for quality, and so we’ve now removed it from the Alternate Viewers page.

By definition, Project Viewers aren’t ready for primetime. The purpose of these experimental Viewers is to share with you the earliest possible version of what we’re working on, so that you can see what we’re up to, help discover problems, and provide feedback. In this case, though, we’re not ready for that, as those of you who tried it have seen.

We can’t say at this point when or even if we may release another Project Viewer for experimenting with the Oculus Rift in SL.

We want to prioritise our development efforts around initiatives that we know will improve the virtual world and bring more value to SL Residents, and due to some inherent limitations with SL, it may well not be possible to achieve the performance needed for a good VR experience. (In fact, this is one reason why we’re creating Project Sansar a new, separate platform optimized for VR).

We greatly appreciate the interest in trying SL with the Oculus Rift and are grateful that several of you took the time to try the Project Viewer. We regret that the quality was not up to our standards, and we will of course keep the community posted if we release a new Project Viewer for VR in the future.

Providing support for high-end HMDs within Second Life was always going to be problematic; most of the content found in-world is unoptimised (and our avatars even more so), so producing the means by which the viewer could comfortably meet the levels of performance required for such HMDs, such as a consistent frame rate of at least 75 fps (DK-2) or 90 fps (CV-1), was always going to be doubtful.

However, the Lab has remained reasonably bullish through about trying to offer an acceptable level of HMD support within Second Life – albeit it with caveats. For example, speaking at the TPV Developer meeting on Friday July 1st and just ahead of the Oculus Rift project viewer appearing, Oz said that offering HTC Vive support at some point for Second Life was something the Lab  “would like to be able to do”.

So what went wrong?

Well, we don’t actually know. Interestingly, most of the issues experienced with the new project viewer weren’t performance related, but focused on general usability: as UI problems, rendering issues, image resolution problems, etc., all of which had been acceptable on the previous release of the Oculus rift project viewer. Whether these point to something being fundamentally wrong with the viewer build, or whether there have been some intrinsic changes to the Oculus SDK software (the latest version of the viewer have leapt forward significantly in SDK support when compared to the last viewer)  which are not limiting options for integrating it into the viewer is hard to say.

All we do know is that from Oz’s forum comment, it would seem that fixing the problems which have been encountered would seem to be a non-trivial task – and once of potentially questionable value when compared to the possible return in terms of benefits to a broader cross-section of users other SL improvement initiatives might bring.

Does this mean the end of all attempts to provide HMD support in Second Life?

Again, that’s hard to say. In the short to medium term, I’d say most likely it does insofar as the Lab is concerned, given the general thrust of Oz’s comment. but that doesn’t mean a third-party developer might not be sufficiently motivated to at least take up the challenge and see how far they can get. Longer term, however, the door might not be so firmly closed.

HMD technology is still in its infancy. so who knows what might come down the road in a couple of years time, and how it might influence the Lab’s thinking with regards to Second Life? Time ell tell on that one.

With thanks to Baz DeSantis for the nudge.

Project Bento User Group update 18 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, July 7th at 13:30 SLT at the the Hippotropolis Campfire Circle . 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.

Viewer Updates

Project Viewer

There have been no further updates to the project viewer, version at the time of writing. Vir is continuing to try to nail down the remaining bugs, but there are no significant fixes in the pipeline as yet.

The project viewer is due to be merged up to de facto release viewer (which updated on Tuesday, July 5th). It’s currently not clear if this will result in a new version of the project viewer being put out without any actual Bento changes, or whether the Lab will wait until there are fixes and updates to Bento before putting out a new version of the viewer.

Experimental / Test Viewer

There is an updated experimental viewer for the proposed skeleton and slider modifications. A summary of the updates included in this version of the viewer can be found on the Machinimatrix website. In short:

  • There is a new bone, mFaceJawShaper, intended to resolve issues around the jaw angle (see my Bento update #17 for background)
  • Additional tweaks to existing facial bones
  • Some slider changes

In support of these changes, there is also an updated mesh model. Bento creators are asked to take a look at the updates in this viewer and experiment with them, and provide feedback and details of any issues back to the Lab as soon as possible. This model has not been added to the Bento Test wiki page so as not to cause any confusion with the models already there.

Overall, the Lab is looking to lock this viewer down, so that changes and be reviewed and, if approved, incorporated into the main Bento project viewer. Once this has been done, it is very unlikely that any further skeleton or Avatar_LAD file changes will be made.

Those wishing to test the experimental viewer should note that they must use the BentoExperimental1 region on Aditi to upload models or animations that use the new bone, as it is currently unsupported on Agni (the main grid).

These changes will result in some displacement of jaw / mouth joint positions when viewing models with do not have the updates. Matrice Laville and Cathy Foil provided some suggestions on how to correct such displacements, both generally (Matrice) and with specific reference to Maya / Mayastar (Cathy).

Bento Heads and Sliders

Translations  / Rotations and Animations

The reasons for the new experimental viewer lay in the recent discussions about potential issues which could impact Bento’s effectiveness with human heads.

The Machinimatrix summary linked to above (which also forms the release notes for the Avastar 2.0 Alpha 4 update), provide a comprehensive explanation of the  situation. However, in short,  the SL animation system has worked on the assumption that sliders only affect translation and scale whilst animations only affect rotation, allowing both to work cooperatively. With Bento, animations can now also leverage bone translations, and this can lead to conflicts when attempting to run animations on avatars modified using the sliders.

Exactly how severe these conflicts are has been a topic of hot debate within the forum thread for the last few weeks. As a result, Medhue Simoni has produced a video (below) which hopefully defines what is and isn’t possible within the existing project viewer, while the Avastar team and Cathy have attempted to further address some of the concerns expressed by mesh head creators in an attempt to make the system more responsive to their needs.

During the meeting, Cathy, Vir and Matrice gave a further summary on why these changes appear to be coming so late in the day.

Head Appearance Slider Limitations

Setting the Egg Shape slider to 0 results in the chin bone sliding forward, rather than down: a result of trying to get a single slider to try to work with multiple head bones
Setting the Egg Shape slider to 0 results in the chin bone sliding forward rather than down to give a pointy chin: a result of trying to get a single slider to try to work with multiple head bones. Weighting models should help compensate for this

Another issue with Bento heads – again, notably human heads – is trying to tie all of the available bones to the existing sliders such that using the sliders to change the shape of a Bento head is reasonably consistent with using the same sliders to morph the shape of the system avatar (so users see a reasonably consistent result whether they are using a Bento head or working with the system avatar).

Unfortunately, this has not been possible with either the Head Shape or Egg Head slider, due in no small part to the complexities in trying to control the position of so many head bones with these sliders.

As a result, when using the extreme left / right ranges of these sliders, odd results can be seen. Setting the Egg Head slider to 0, for example, results in the chin bone being pushed forward, rather than down, resulting in an exaggerated pointy chin. It is believed that weighting heads will help compensate for this, but as Matrice, Cathy and Vir explained during the meeting, the sliders are such that issues like this cannot be easily avoided.

Height Issue

One fix that should hopefully be forthcoming when the next version of the project viewer does appear, is for the avatar height offset issue (BUG-20013), in which (mainly) quadruped avatars may appear to be standing on the ground in their own view, but are seen as standing in the ground by others.

In short, an avatar’s position relative to the ground it is standing on is calculated using the position of a number of bones within the avatar and various other factors. However, how and when these calculation is updated within the viewer occurs in a somewhat unpredictable manner, with the result that while an avatar may appear to be standing on the ground in one view, it is standing in the ground when seen by others.

To fix this, Vir has revised the height calculation to run almost constantly. This should hopefully result in all viewers consistently calculating an avatar’s height above the ground, including the impact of any animations which may affect it, and thus produce a consistent set of results: everyone sees the avatar standing on the ground.

Alt_Eyes

Bento includes a set of alternate eye bones, the Alt_Eyes, which are tied to the appearance sliders governing the “primary” eyes (size, position, etc.).

These were originally added so that those wishing to have eyes which are not animated by the default system eye movements could make use of them. However, it is now been confirmed that running eye animations at a higher priority to the system animations is sufficient to override them on the “primary” eye bones.

Further, even where models have been made which incorporate additional eyes (e.g. in Aki Shichiroji’s wyvern), the Alt_Eye bones may not actually be used / it might be preferable to not have them change size / position on the basis of altering the “parent” avatars eyes via the appearance sliders.

A suggestion has therefore been put forward to de-couple the Alt_Eyes from the eye bones (and just have them linked to the head shape sliders). This couple potentially open them up for more varied use, such as with hair, cheek bones etc.  As the Lab is keen to lock down both the skeleton and the Avatar.LAD file as soon as then can, this is something which needs to be agreed ASAP, preferably through forum thread discussions.