CtrlAltStudio: Bringing the UI to your Oculus Rift

CAS-logoStrachan Ofarrel (Dave Rowe in RL), has issued an update to the experimental version of his CtrlAltStudio viewer with Oculus Rift support. It’s an update those with the Rift SDK and headset are likely to find interesting, as it includes some initial work on bringing the viewer’s UI to the Rift.

Version 1.1.0.34332 (Alpha 4 release) of CtrlAltStudio appeared on Wednesday October 23rd, and Strachan was kind enough to poke me about it.

It’s important to note that this is only a first pass at things, so if you have a headset, keep in mind what you see of the UI may change as Strachan  tweaks things further. Commenting on the work, Strachan himself says:

I originally wasn’t intending to do any UI as I thought Linden Lab’s viewer with Rift support would have been released by now, but it hasn’t been and there’s a pressing need for at least some UI so I’ve added some as a stop-gap measure.

The viewer UI in Oculus Rift: preliminary work undertaken by Strachan Ofarrel in CtrlAltStudio (image courtesy of Strachan OFarrel / David Rowe) – click to enlarge

There are some limitations with this first pass in that the menu bars and toolbars are not yet displayed in Riftlook, and for those who prefer the Pie menu, right clicking on in-world objects will only display the context menu (no Pie). Even so, this is an impressive start to the work of enabling the UI, and does much to increase people’s ability to interact with the world when using the Oculus Rift.

In order to use UI elements effectively with the headset, Strachan recommends users:

  • Turn on Show User Interface In Mouselook and Enable Context Menus In Mouselook (both under Preferences > Move & View > View)
  • Consider enabling Show Chat In Bubbles Above Avatars (Preferences > Chat > General).

He notes that with the above settings enabled, shortcuts can be used to show / hide dialogue boxes (e.g. CTRL-I for showing / hiding inventory), which again significantly adds to the usability of the viewer when in Riftlook. He also reminds people to use the cursor to left-click interact with windows and right-click interact with in-world objects, and that cursor movement can be defined / refined in Preferences > Graphics > Display Output.

The Display Output options for when Using Oculus Rift: note the new depth slider and the options to define / refine camera / cursor movement
The Display Output options for when Using Oculus Rift: note the new depth slider and the options to define / refine camera / cursor movement

As well as adding preliminary UI capabilities to Riftlook, this release of the CtrlAltStudio Alpha version also brings with it a range of updates and fixes, including:

  • Some adjustment of the depth at which the Riftlook UI is displayed
  • Enabling the display of avatar toasts and floating text in Riftlook
  • Esc in third-person Riftlook will return you to Riftlook first-person (instead of having to exit then re-enter Riftlook)
  • Esc in flycam Riftlook with SpaceNavigator will return you to Riftlook first-person
  • Entering / leaving stereoscopic 3D display mode now recorded in the program log
  • Work-around added to get stereoscopic 3D working with AMD Radeon on Windows
  • Added “–riftlook” command line parameter that toggles into Riftlook after a successful login
  • Fixed OpenSim “4096 bug” that limited the range of hypergrid teleporting
  • Fix to ensure view remains in Mouselook when TPing or when an alert dialog pops up, if UI is turned on in Mouselook
  • And more: please refer to the release notes for this version for a complete list of updates, changes and fixes, together with the correct attributions for those contributed by others.

Sadly, I don’t have the Oculus Rift SDK, so can’t speak first-hand has to how things look. So if you do have a headset, why not pop over to the CtrlAltStudio website and download this version of the viewer and take it for a test run? Strachan would doubtless appreciate all constructive feedback received!

At the time of writing, the viewer is only available for Windows, but the Mac OSX  version is promised soon – so be sure to check back with the CtrlAltStudio website if you’re a Mac user.

Related Links

Cloud Party: Oculus Rift support and more

It’s been a while since I last reported on developments over on Cloud Party. There’s a lot that has been going on and which I’ve received e-mails about; I’ve just not had time to sit down and write-up everything.

The platform has recently started introducing features and capabilities on a weekly basis which have seen one or two new features introduced each week. The most recent of these is an official announcement of support for Oculus Rift.

Cloud Party’s CTO Conor Dickinson using Oculus Rift (courtesy of Cloud Party)

The blog post, issued on Wednesday October 9th, gave details on the support being provided,  including the regions within Cloud Party which have been set-up for use with the headset.

There’s currently no native Rift support within Cloud Party, so those with an Oculus Rift SDK kit will need to go one of two routes: either run OculusBridge, a standalone app which bridges the headset and a web browser via websockets, or via vr.js, a browser plugin which works directly with the headset (although the blog post notes this is not recommended as a result of Google’s announcement that Chrome will cease support for plugins in 2014).

The blog post additionally provides general advice on using the Rift – including notes about head movement (the visual stimulus and sudden head movements have been known to cause nausea and other issues as a result mismatched inner-ear cues).

One of the builds within Cloud Party supporting Rift use is a hoverbike race, which appears to be based on the race launched in late September and promoted via a short video.

Other recent updates over the past two months or so have seen a revamp of the Cloud Party website, which had it take on far more of a social environment feel, with the ability to preview people’s builds, “Like” them, share them via social media, etc., and which included the ability to embed builds in things like YouTube, etc.

August also saw the introduction of a new membership structure, with free accounts replaced the limited-functionality “anonymous” accounts together with a two-tier subscription option for general users. Thes free account option provides users with an unlimited number of “small” builds (up to 10MB bandwidth per build), 5 marketplace listings and knowledge base access.

The Basic subscription option, at $14.95 a month ($11.95 if paid annually), includes the “free” membership features and:

  • 2 medium sized builds
  • 20 free marketplace listings
  • Billing / Fraud Support
  • Privacy / group edit settings on builds

The Pro subscription, at $99.95 a month ($79.95 if paid annually) features the above and:

  • 4 medium sized Builds, 2 large Builds
  • 100 free marketplace listings
  • Live tech support

There is also an Enterprise subscription / billing option, but details of this have to be applied for from Cloud Party directly.

Further recent updates have seen avatars within Cloud Party become more customisable, with facial customisations and animated attachments, while builds have gained customisable skies and the ability to play videos.

A key factor with many of the updates is that they’ve also been accompanied with tutorials on how to make use of them’ such as with the customisable skies, helping users make the most of the updates. One has been promised for the Oculus Rift support as well.

For those not already aware of the fact, Cloud Party is no longer tied to Facebook for access. You can now do so via Facebook or Google+ or via account registration. As a formally “anonymous” user, I switched to using my Google+ account back in August. Logging-in with it was smooth and hassle-free – although I did experience an odd moment of deja-vu when an avatar picker looking remarkably like the one used in Second Life many moons ago popped-up!

The avatar picker in Cloud Party. Reminiscent of the "old" SL avatar picker
The avatar picker in Cloud Party. Reminiscent of the “old” SL avatar picker

All told, Cloud Party continues to hum along, and while it may not be to everyone’s taste, it’ll be interesting to see what else pops up in the coming weeks.

CtrlAltStudio: Stereo 3D and first pass at Oculus Rift Support

CAS-logoCtrlAltStudio is a relatively new viewer to appear for use with both Second Life and OpenSim. The work of David Rowe, it is based on Firestorm, and the project is revisiting the use of stereoscopic 3D in the viewer, building on the release of the NVIDIA 314.07 video driver.  More recently, David has also been working at a first pass at Oculus Rift integration ahead of LL’s own work with the headset.

Version 1.0.0.34218: Stereoscopic 3D View

A proof of concept image with CtrlAltStudio (image: David Rowe)

After various proof-of-concept and beta iterations, the 3D-capable version of CtrlAltStudio appeared on July 27th, 2013.

Version 1.0.0.34218 of the viewer (release notes) uses OpenGL quad-buffered stereoscopic 3D, and requires NVIDIA graphics drivers with 3D Vision support (314.07 or later). It also requires monitors set to 120Hz, and for the viewer to be running in full screen mode. It should work with GeForce GTS250 or better, NVIDIA Quadro cards, AMD Radeon HD 6000 or better and FireGL V7600 or better with recent drivers.

To control the 3D capabilities, David has added an additional Display Output tab Preferences > Graphics, and an additional toolbar button, labelled 3D, which toggles the stereo view on / off.

Sadly, I don’t have the glasses to test the viewer itself, so will have to leave that to others to report on how things look.

Version 1.1.0.34244: Initial Oculus Rift Support

Second Life in Oculus Rift via CtrlAltStudio (image; David Rowe) – click to enlarge

On August 25th, David release version 1.1.0.34244 Alpha with initial Oculus Rift support (release notes). This is well ahead of the Lab’s own implementation of support for the headset, and people shouldn’t expect it to be in any way a complete integration of Rift support. As David comments on the blog post announcing the release:

If you want to stick your Rift-kitted head into Second Life or OpenSim and have a look around, well now you can. I’ve added some basic Oculus Rift support to CtrlAltStudio Viewer 1.1.0.34244 Alpha: you can look around and move about but there is no UI. Full Rift support including UI will come when Linden Lab release their viewer with Rift support in the not too distant future. But in the meantime you can now at least enjoy the sights of your favourite virtual world locations.

Options for Oculus Rift have been added to the Display Output tab in Preferences > Graphics, directly below those for the 3D stereo controls.

The Display Output tab of Preferences > Graphics, showing the 3d vision and Oculus Rift options
The Display Output tab of Preferences > Graphics, showing the stereoscopic and Oculus Rift options

To use the headset with the viewer, David recommends that you first sit down, then get to where you want to be before you don the headset. Once there, wear the headset and toggle “Riftlook” (using the 3D toolbar button or CTRL-ALT-3) to look around and use the arrow / WASD keys to move, remembering that “forward” is in the direction in which the Rift is pointing when “Rfitlook” is enabled.

So if you have the Oculus Rift SDK, why not download CtrlAltStudio and give it a go. Just do remember, the viewer is still Alpha, and subject to limitations, possible odd behaviour.

Related Links

Oculus Share: discover and explore games & experiences using Oculus Rift

Wired UK carries an article announcing the launch of a new service from the creators of Oculus Rift.

Oculus Share, launched in a beta mode on August 20th 2013, is described as “a platform to enable users to discover games and experiences which use the technology” and is initially aimed at those with the Oculus Rift development kit. However, plans will see the service transition into a fully fledged marketplace for for heaset-ready games, applications and experiences; a move which will likely coincide with the official launch of Oculus Rift as a consumer product some time in 2014.

Oculus Share beta (Image courtesy of Oculus Rift)
Oculus Share beta (Image courtesy of Oculus Rift)

A blog post issued by Oculus Rift provides a description of the intended use of the service in this first iteration:

Oculus Share (or simply, Share) is the first of many steps we’re taking to build the best virtual reality platform. With Share, you can host Oculus-ready games and experiences that you’ve created, browse and download content from other developers, rate experiences on quality and VR comfort level, provide feedback to devs on what you enjoyed (and what you didn’t), and tip fellow developers for their work in cash, should you feel so inclined.

Experimentation, iteration, and actual playtesting are at the heart of pushing virtual reality forward. One of the main goals in building Share was to help developers on all these fronts by creating a centralized community portal for Oculus content. And while it’s simply a sharing service today, over the coming months we’ll work toward making Share an incredible marketplace for Oculus-ready games, experiences, and applications.

The service offers six categories under which items can be uploaded / shared: Full Game, Demo, Experience, Alpha, Beta and Mod, with a further sub-class of genre for items: Action / Adventure, Casual, Exploration, Puzzle, Simulation, Sports, and Strategy. As might be expected with the initial launch, content is currently light, but will doubtless grow as word spreads. For now the Demo category is the most heavily populated section, featuring a number of Oculus Rift’s own commissioned demonstrations, such as the Tuscany World from Fenix Fire.

Applications, mods and games are each featured on a page of their own, some with screen caps, others with a video (or both), together with a description, system requirements and set-up instructions – think Steam or Desura for the Rift, and you get the idea.

Within the current set of uploads there are intriguing hints at how additional technologies might be used with the headset. In the Trial of the Rift Drifter, for example, head gestures can be used for communications, while in another demo, the potential for eye movement to be used for in-game object control is outlined.

The content categories are currently focused on games, which is not surprising, given that is perhaps where the most interest with the technology lies. However, it would be nice to see a couple of non-game categories added to the service to cater for the likes of virtual environments (such as SL, OpenSim and others looking into the technology) and for real-world applications (medical, engineering, research, training, etc., simulations – although it might be argued that the Simulation genre is the catch-all for these; not ideal, but it is there).

Oculus Rift are currently vetting all submissions to Share in order to prevent the upload of offensive or malicious content. As a result, they do warn that items submitted to the service might take a while to appear, and ask for patience from those making submissions. As a beta service, Share is also liable to some teething problems as well – Wired UK reports it was down for maintenance just a few hours after launch – so again, patience may well be the order for the day for those wanting to make use of Share, as things are bedded-in and improved.

The potential for the platform is clear. By launching a service of their own, rather than relying on portals such as Desura and Steam, etc., Oculus Rift are presenting a “one stop shop” through which Rift developers and users can both promote and discover products specific to the headset without either necessarily having to use or peruse multiple web stores. As such, it will be interesting to see how Share grows in the months leading up to the commercial launch of the headset – and beyond.

Related Links

SL project updates week 34 (1): server releases, SSA, viewer, Oculus Rift

Server Deployments Week 34

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

Second Life Server (SLS Main) Channel – Tuesday August 20th

The Main channel had Server-side Appearance (SSA) enabled, as per this blog post from the Lab. As I’ve previously noted, users will need to run a maintained viewer which incorporates the SSA code in order for other avatars to render correctly in their view. See the release notes for additional information to the above links.

There were no other updates in this deployment.

Release Candidate Channels – Wednesday August 21st

  • Magnum should receive a new maintenance package which “only includes a few internal bug fixes which shouldn’t show any visible changes to the residents”. In describing this at the Simulator User Group meeting on Tuesday August 13th, Simon Linden said, “There’s one performance fix that you might see in the viewer … you shouldn’t get those situations where you see lots of ‘duplicate caps. messages” – this package was deployed to LeTigre in week 33
  • Bluesteel and LeTigre will both be on an update to the package deployed to BlueSteel in week 33, which includes:
    • A fix for the “grey box attachment  issue” (non-public BUG-3547, details below)
    • A (further?) update to for “llListen in linked objects is listening at root instead of linked object local position *after re-rezzing the linkset*”, which was also listed in the BlueSteel release notes for week 32  (non-public JIRA BUG-3291)
    • The code to block avatars entering a region / objects being rezzed in a region during the last 60-seconds before a restart. In addition, restart warning pop-ups will include the region name. This was again in the release notes for week 32, so would appear to be a further update to that code
    • Fixes for further simulator crash modes.

Further, all three RC channels will have Server-side Appearance enabled at the conclusion of the Wednesday August 21st deployments.

SL Viewer Updates

Release Viewer Updated

Tuesday August 20th saw a new update to the de facto release viewer, when the former Maintenance Viewer RC 3.6.3.279564, dated August 12th, was promoted. The full list of updates for this release can be found in the release notes. However, of most interest to many will be the fact that it includes the particle selection capability.

As previously reported in these updates, this capability (MAINT-2268) allows a user to right-click on a particle emitter and mute it, blocking the particle emissions from their viewer. This is liable to be very welcome to those using regions which are frequently the target of particle griefing, as it means that the emitter itself no longer needs to be located and blocked. In addition, the new code has a FPS limit on particles, and will stop generating new particles when frame rates drop to 4 FPS or lower.

Other SL Viewer Updates

The promotion of the Maintenance Viewer RC to release status leaves four remaining release candidate viewers at this time: CHUI, the MAC-focused Cocoa RC viewer, the Google Breakpad RC for better crash / stats reporting and the Snowstorm RC, which contains updates contributed to LL by third-party developers. As is now the practice, these will each be rebuilt using the “new” de facto release viewer code, and so will have updates appearing over the coming days.

Oculus Rift

Oculus Rift - UI work progressing at the Lab
Oculus Rift – UI work progressing at the Lab

Work is progressing with integrating Oculus Rift with Second Life. While I’m not overly interested in the Rift myself, one are that does interest me is that of the UI and how it is going to be integrated with the headset – as I’ve commented in the past, while others see it as a potential issue, I don’t necessarily agree, although I’ve felt that a balance would have to be struck in order to avoid the UI completely overwhelming  / spoiling the first-person view.

Speaking at the Simulator User Group meeting on Tuesday August 20th, Simon Linden indicated that this is on the Lab’s collective mind as well – and that a potentially clever solution is being tried-out to ensure the UI menus, etc., are usable without interfering with the user’s view of things:

I know recently they were working on how to have the SL UI appear … having menus hanging out in your vision is an interesting design, but you’re not in a “window” anymore … In the Rift it’s projected on a surface around you … so you look up to see the menus and they float there in mid-air … I think they’re experimenting with the shape of that surface too … if it’s flat, the text can look funny as it’s slanting away from you.

This, I have to say, does sound intriguing, and I’d be curious to see it in action; if nothing else, it gets me thinking somewhat of Bruce Branit’s World Builder – although admittedly, the protagonist in that piece is physically “inside” his virtual realm…

If nothing else, that gives me an excuse to post the new HD version of World Builder Bruce posted to his YouTube channel earlier this month (yes, I know it’s not the first time I’ve posted it, but I do love the movie).

Related Links

SL projects update week 32 (2): server releases, SSA, Oculus Rift

Server Deployments Week 32

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

Second Life Server (SLS Main) Channel

There was no update to the Main channel in week 32. This is primarily because the SSA project is not being further deployed during week 32, and BlueSteel was not updated in week 31 (other than to be brought up to a par with the Main channel), so there is nothing from the RC channels to promote to the Main channel.

Release Candidate Channels – Wednesday August 7th

Magnum and LeTigre remained SSA enabled, and without any further updates.

BlueSteel received a new server maintenance package comprising:

  • A new feature which will see regions block rezzing and entering during the final 60-seconds before a shutdown / restart (see notes below)
  • Code to help fix an exploit whereby a scripted object can surreptitiously obtain permissions from an unsuspecting avatar, allowing the object owner to later use the object against the avatar in s griefing attack (e.g. by tracking camera movements in a deform attack, and so on – see publicly viewable JIRA VWR-13228 and the notes below)
  • A fix for “llListen in linked objects is listening at root instead of linked object local position *after re-rezzing the linkset*.” (non-public JIRA BUG-3291)
  • Fixes for further simulator crash modes.

I covered the region restart capability and the code to help with the animation exploit in part 1 of this week’s report, and refer you to that if you need any more details.

Server Deployments Heads-up for Week 33

Details are still to be finalised, but at present it looks as there will be another light week of deployments in week 33 (week commencing Monday August 12th).

  • The server maintenance package currently on BlueSteel looks set to be promoted to the Main channel on Tuesday August 13th
  • There will likely be a new server maintenance package on BlueSteel, which Simon Linden describes as not having much exciting in it other than a “fix for a performance problem that can occur in very specific situations where you have to have neighbour regions, avatars over on those regions and such, but that will hopefully just be a silent improvement.”
  • SSA will most likely not be enabled elsewhere on the grid (see below).

SL Viewer Updates

The Materials project viewer received an update on Thursday August 8th with the release of version 3.6.2.27965 (download & release notes). Otherwise things remain pretty much as they were with part 1 of this report.

Server-side Appearance

There is unlikely to be any further SSA enabling in week 33 (week commencing Monday August 12th). This is because the baking servers themselves will be getting an update, and the Lab wants to see how that goes. Commenting on the update at the Server Beta meeting on Thursday August 8th, Simon Linden said it will be carried out “behind the scenes” with no actual downtime for the SSA service.

Oculus Rift

There has been considerable interest in the state-of-play with this project ever since Rod Humble indicated in an interview with Eric Johnson of All Things D that a viewer supporting the headset might be surfacing in “late summer”. Obviously, the retail version of the headset has yet to ship – and may still be a while before doing so – but the SDK kits are available at $300, and people are purchasing them, so it is not unreasonable to assume the Lab may well have a project viewer with Oculus Rift support available ahead of the consumer version of the product being launched.

Oculus Rift
Oculus Rift – artist’s impression

Commenting on the status of the current work with OR at the Lab during the Server Beta meeting, Simon Linden said:

I tried it out on the code in development and it’s pretty cool. It still needs work and there’s no estimates when it will go out, but we’ll have a project viewer at some point. It requires very careful building in SL, however, as it really needs high frame rate … We’re still getting the basics going … some simple things like a menu, UI buttons and clicking in-world are tough to get right in the Rift.

So it is still likely to be a while before any project viewer sees the light of day.

Related Links