Viewer

The CtrlAltStudio Viewer is developed in order to try out and share a number of ideas, including: Oculus Rift support, stereoscopic 3D display, variable walk & fly speed, Xbox 360 controller support, and Kinect for Windows control. It is based on the Firestorm Viewer which it tracks closely.

The viewer can be used with both OpenSim and Second Life. Windows and Mac OSX installers are provided, and if you have the know-how the source code should be readily updateable for Linux.

Alpha Version

1.2.2 Alpha: Oculus Rift DK2 support

Downloads:

  • Windows installer: 1.2.2.41214 Alpha 4, 2 Nov 2014.
  • Mac OSX installer: Sorry, no Mac OSX installer.

Release notes.

Based on Firestorm 4.6.5.

Release Version

1.2.1 Release: Oculus Rift; Stereoscopic 3D; Variable Walk & Fly Speed; Xbox Controller, Kinect for Windows

Downloads:

Release notes.

Based on Firestorm 4.6.5.

Oculus Rift

This enables you to have a look around in Second Life and OpenSim with your Oculus Rift headset. Some preliminary UI capability is provided.

Use the viewer as normal to get to where you want to go, then toggle into “Riftlook” mode (“3D” toolbar button or Ctrl-Alt-3) and don your Rift headset. Move your head to look around and use the arrow or WASD keys to move about.

Setup:

  • PC configured to have the Rift display duplicate the PC display.
  • Viewer configured for Oculus Rift output — Preferences > Graphics > Display Output.
  • Viewer configured to run full screen — Preferences > Graphics > General.
    Note: You do not need to set your main display resolution to match the Rift’s 1280 x 800; instead, just use your normal display resolution and it will automatically be changed by the viewer when it starts.
  • Basic Shaders or better turned on (Advanced Lighting Model recommended) — Preferences > Graphics > General.
  • Also recommended is turning Antialiasing on (requires Advanced Lighting Model) — Preferences > Graphics > Hardware Settings.
  • Configure Rift-specific options as desired — Preferences > Graphics > Display Output.
  • A viewer restart is required after changing Display Output and Full Screen settings.
  • Use the “3D” toolbar button or Ctrl-Alt-3 to toggle in and out of Riftlook. You can also Esc out of Riftlook.

Tips:

  • You can use the Oculus Configuration Utility to measure your eye separation (a.k.a. interpupillary distance or IPD), calibrate your Rift’s sensors, and update your Rift’s firmware. [Details…]
  • With your Rift on, display the Display Output preferences page and adjust the Prediction Delta value until moving your head feels most comfortable.
  • If you have configured Oculus Rift output for seated operation, “forwards” is the direction your Rift was pointing when you toggled into Riftlook.
  • If you have configured Oculus Rift output for standing operation, “forwards” is the direction your Rift is pointing.
  • If you want to strafe instead of turn in seated operation, or turn instead of strafe if you have the “strafe” option selected, use Shift-Left and Shift-Right.
  • To increase your FPS (frames per second) in Riftlook reduce your graphics settings, e.g., halve your draw distance.
  • To display avatar toasts in the Rift — Preferences > Chat > General > Show chat in bubbles above avatars.
  • You can click and right-click objects.
  • You can use keyboard shortcuts to show and hide dialog boxes such as the Conversations window (Ctrl-T), Inventory (Ctrl-I), e.g., if you want to select a landmark to teleport to, Ctrl-Shift-M to display the minimap, etc. Keyboard shortcuts are shown beside menu items.
  • You can use voice chat and toggle your microphone on/off using the middle mouse button or other key you configure in Preferences > Sound & Media > Voice Settings.
  • To get into 3rd person view, depending on your “Mouse moves cursor / view” setting, either scroll out with your mousewheel or press Alt and scroll out with your mousewheel. You can then orbit around points etc. with your mouse and Ctrl, Alt, and Shift keys as usual. Press Esc to get back into 1st person view.

Stereoscopic 3D

This uses OpenGL quad-buffered stereoscopic 3D. It works with NVIDIA GeForce and 3D Vision with driver 314.07 or later; should work with GeForce GTS250 or better. It should also work with NVIDIA Quadro cards plus AMD Radion HD 6000 or better and FireGL V7600 or better with recent drivers.

For active shutter glass display using an NVIDIA GeForce graphics card and NVIDIA 3D Vision on Windows you need:

  • GeForce driver 314.07 or later.
  • Graphics configured to display at 120Hz.
  • Monitor configured to display at 120Hz.
  • Stereoscopic 3D enabled in the NVIDIA Control Panel.
  • 3D Vision set up and working. *
  • Viewer configured to run full screen — Preferences > Graphics > General.
  • Viewer configured for stereoscopic 3D output — Preferences > Graphics > Display Output.

There’s an option to set the display output to 120Hz for stereoscopic 3D. This is useful if you have shutter glasses and want to only display at 120Hz when you use the viewer.

If you have a passive 3D display or are using a 3DTV, you don’t need to and in fact normally shouldn’t set things to 120Hz; instead, configure things per the requirements of your system.

* Note, however, that it doesn’t work with 3D Vision Discover anaglyph.

Variable Walking and Flying Speed

This enables you to walk and fly at speeds slower than normal and, if using an Xbox controller or Kinect to control movement, walk and fly at varying speeds up to your configured maximum. Works best in Second Life; works reasonably well in in OpenSim 0.8.0; in OpenSim 0.7.6, walking is always at normal speed and flying is stuttery at slower speeds.

  • Configure “Walk speed” in Preferences > Move & View > Movement.
  • You can also use Ctrl-PgUp and Ctrl-PgDn to increase and decrease your walk speed.
  • When using an Xbox controller, speed depends on how much you move the stick.
  • When using a SpaceNavigator, speed depends on how much pressure you apply to its knob.
  • At slower walk speeds you may want to disable “Turn avatar around when walking backwards”.

Xbox 360 Controller

Xbox 360 Controller

[By Alphathon (Own work) [CC-BY-SA-3.0 or GFDL], via Wikimedia Commons]

Xbox 360 controllers can be used with the following control scheme:

  • Back: Toggle flycam on/off.
  • Start: Toggle between moving avatar and moving cursor.
  • Back + Start: Toggle Rift or 3D stereoscopic 3D on/off.
  • In avatar movement mode:
    • Left stick: Move forwards / backwards and left / right.
    • Right stick: Change camera pitch and roll.
    • Left & right triggers: Fly down / up.
  • In cursor movement mode:
    • Left stick: Move cursor up / down and left / right.
    • Right stick: Scroll mouse wheel forwards / backwards (i.e., zoom view).
    • Left & right triggers: No action.
  • Left stick click: Jump up / stop flying.
  • Right stick click: Toggle 1st person view.
  • Left bumper: Left or right mouse click. *
  • Right bumper: Right or left mouse click. *
  • Y key: Escape
  • X key: Control
  • A key: Alt
  • B key: Shift
  • D-pad: Not used
  • * There’s a preferences option to swap bumper buttons.

Thus you can walk your avatar, fly your avatar, use mouselook, use flycam, orbit about points in 3rd person view, click on objects, and use objects’ context menus … with normal, stereoscopic 3D, or Oculus Rift display output.

With your Xbox 360 controller connected — wired or wireless — enable it in Preferences > Move & View > Movement. Then you can adjust its configuration using the associated Joystick Configuration button. Xbox 360-specific defaults are provided. You should also calibrate your controller, e.g., using the device’s properties provided via Windows’ Devices and Printers folder.

Kinect for Windows

On a Windows PC* with a Kinect for Windows sensor installed, this enables you to nominate the physical spot you are standing on to be “home”. Then you move off this spot to control the direction your avatar walks or flies, turn your shoulders to turn your avatar, and use gestures to fly up and down.
* Does not work on Mac OSX.

kinect-gestures

Miscellaneous

  • Uses the Second Life login screen instead of the Firestorm one if logging into Second Life.
  • CtrlAltStudio Viewer skin and colours.
  • Minimum draw distance reduced to 8m.
  • Maximum bandwidth increased to 10,000kbps.

Limitations

  • The menu bars and toolbar aren’t displayed in Riftlook.
  • Right-clicking on objects in Riftlook always displays the context menu in list form rather than pie form, even if “Use Pie Menu” is configured in the preferences.
  • Improper display during teleport while in Riftlook.
  • Flickering objects at the edge of the Riftlook screen.
  • With variable walk / fly speeds in OpenSim 0.7.6, walking is always at full speed and flying at slow speeds is stuttery.
  • Variable walk / fly speeds can be a bit jerky at slower speeds, and the avatar doesn’t necessarily animate smoothly.
  • Kinect for Windows control is available only when running on Windows.
  • So that it can be used with both Second Life and OpenSim, this viewer is compiled without the HAVOK library. This means that certain advanced features are not available when used with Second Life: visual display of the pathfinding navmesh and rigged mesh upload support.
  • No crash log reporting: Crash logs are not sent to anybody.

Previous Versions

For previous versions, see the list of release notes.

Acknowledgments

Many thanks the Firestorm viewer team for providing the codebase for building the CtrlAltStudio Viewer upon and to Cinder Roxley for providing the Mac OSX installer. Thanks also to other contributors per the viewer’s Help > About.

Source Code

ctrlaltstudioviewer.codeplex.com

Disclaimer: This software is not provided or supported by Linden Lab, the makers of Second Life.

 

The General Generic Disclaimer: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.