Now that the Rift is plugged in, the drivers are installed, and the SDK is installed, you are ready to begin using the SDK.
After the hardware is configured, the next step is to test the development kit. The SDK comes with a set of full-source C++ samples designed to help you get started quickly. These include:
Oculus recommends running the pre-built OculusWorldDemo as a first-step in exploring the SDK. You can find a link to the executable file in the root of the Oculus SDK installation.
The following is a screenshot of the OculusWorldDemo application:
The OculusWorldDemo uses a mix of standard and specialized controls.
The following table describes keys and devices that you use for movement:
|Key or Input||Movement|
|W, S||Move forward, back|
|A, D||Strafe left, right|
|Mouse||Look left, right|
|Left gamepad stick||Move|
|Right gamepad stick||Turn|
The following table describes keys that you use for functions:
|F7||Mono/stereo view mode toggle|
|F9||Hardware full-screen (low latency) *|
|F11||Windowed full-screen (no blinking) *|
|E||Motion relative to head/body|
|R||Reset sensor orientation|
|-, +||Adjust eye height|
|L||Adjust fourth view value|
|Spacebar||Toggle debug info overlay|
|T||Reset player position|
|G||Cycle grid overlay mode|
|U, J||Adjust second view value|
|I, K||Adjust third view value|
|;||Cylce rendered scenes|
|+Shift||Adjust values quickly|
* Only relevant in Extend Desktop display mode.
Once you’ve launched OculusWorldDemo, you should see a window on your PC monitor similar to the previous screenshot.
Depending on the settings chosen in the Display Mode dialog of the Oculus system tray, you might also see the image displayed inside the Rift. If it is set to Direct Display, the Oculus display driver manages the Oculus Rift and will automatically display the rendered scene. If Extended Desktop is selected or you are using a DK1 and the DK1 Legacy Support check box is selected, the Oculus Rift display uses extended desktop mode. In this case, you should press F9 or F11 to switch rendering to the Oculus Rift as follows:
If you’re having problems (for example, no image in the headset, no head tracking, and so on), please view the Developer Forums.
When the image is correctly displayed inside the Rift then take a moment to look around in VR and double check that all of the hardware is working properly. If you’re using a DK2 then you should be able to see that physical head translation is now also recreated in the virtual word as well as rotation.
Important: If you need to move the DK2 external camera for any reason after initial calibration, be sure to minimize the movement of the HMD for a few seconds while holding it within the tracking frustum. This will give the system chance to recalibrate the camera pose.
If you would like to explore positional tracking in more detail, you can press the semicolon (;) key to bring the “sea of cubes” field that we use for debugging. In this mode, cubes are displayed that allow you to easily observe positional tracking behaviour. Cubes are displayed in red when head position is being tracked and in blue when sensor fusion falls back onto the head model.
There are a number of interesting things to take note of the first time you experience OculusWorldDemo. First, the level is designed to scale. Thus, everything appears to be roughly the same height as it would be in the real world. The sizes for everything, including the chairs, tables, doors, and ceiling, are based on measurements from real world objects. All of the units are measured in meters.
Depending on your actual height, you may feel shorter or taller than normal. The default eye-height of the player in OculusWorldDemo is 1.61 meters (approximately the average adult eye height), but this can be adjusted using the using the ‘+’ and ‘-’ keys. Alternatively, you can set your height in the Oculus Configuration Utility (accessed through the Oculus System Tray Icon).
OculusWorldDemo includes code that shows how to use values set in the player’s profile such as eye height, IPD, and head dimensions, and how to feed them into the SDK to achieve a realistic sense of scale for a wide range of players. The scale of the world and the player is critical to an immersive VR experience. More information about scale is available in the Oculus Best Practices Guide.
After trying the OculusWorldDemo, there are other samples and tools.
If you’re integrating the Oculus SDK into your game engine, Oculus recommend starting with the sample projects.
Open the following projects, build them, and experiment with the provided sample code:
This is a good place to start, because its source code compactly combines all critical features of the Oculus SDK. It contains logic necessary to initialize LibOVR core, access Oculus devices, use the player’s profile, implement head-tracking, sensor fusion, stereoscopic 3D rendering, and distortion processing.
This is a more complex sample. It is intended to be portable and support many more features. These include windowed/full-screen mode switching, XML 3D model and texture loading, movement collision detection, adjustable view size and quality controls, 2D UI text overlays, and so on.
This is a good application to experiment with after you are familiar with Oculus SDK basics. It also includes and overlay menu with options and toggles that customize many aspects of rendering including FOV, render target use, timewarp and display settings. Experimenting with these options may provide developers with insight into what the related numbers mean and how they affect things behind the scenes.
Beyond experimenting with the provided sample code, Oculus recommends reading the rest of this guide. It covers LibOVR initialization, head-tracking, rendering for the Rift, and minimizing latency.
If you’re integrating the Oculus SDK into your game engine, Oculus recommends starting with the sample projects.
If you’re an artist or game designer unfamiliar with C++, we recommend downloading UE3, UE4 or Unity along with the corresponding Oculus integration. You can use our out-of-the-box integrations to begin building Oculus-based content immediately.
The Unreal Engine 3 Integration Overview document and the Unity Integration Overview document, available from the Oculus Developer Center, detail the steps required to set up your UE3/Unity plus Oculus development environment.
We also recommend reading through the Oculus Best Practices Guide, which has tips, suggestions, and research oriented around developing great VR experiences. Topics include control schemes, user interfaces, cut-scenes, camera features, and gameplay. The Best Practices Guide should be a go-to reference when designing your Oculus-ready games.
Aside from that, the next step is to start building your own Oculus-ready game or application. Thousands of other developers are out building the future of virtual reality gaming. To see what they are talking about, go to forums.oculus.com. To see what they are building, go to share.oculus.com.