Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

Camera Calibration

Calibrate your external camera for mixed reality capture using the camera tool provided in the Mixed Reality Capture Tools.

This guide will walk you through the steps to capture information about your camera and remove any distortion present when creating a mixed reality capture scene. The CameraTool gives you the option to configure a static camera or a dynamic camera that can be moved around the scene. This guide assumes that you have previously completed the Rift and Touch setup. For best results we recommend that you have your room set up in the configuration that you will use for mixed reality capture.

Before You Begin

Before you launch the camera calibration process, please complete the following steps:

  1. (Rift only) Review the room and sensor setup information on Room and Sensor Setup. It is important during the camera calibration process that the VR Object (if using) is within view of at least 2 sensors. The following is an example of how the room could be configured while calibrating the camera:
  1. Review the recommended configurations on the System Configurations page.
  2. Cover the proximity sensor in your HMD with a sticker or piece of tape, you need to keep this sensor covered throughout the duration of the camera calibration process. The proximity sensor is located between the eye cups at the top of the HMD.

Calibrate The External Camera

This process uses the OVRCameraCalibration tool to calibrate your external camera.

Do not move your camera once you start this process.

  1. Open the Mixed Reality Tools download and navigate to OVRCameraCalibration.exe in the OVRCameraCalibration_PC folder.
  2. Launch OVRCameraCalibration.exe. Select Calibrate Camera.
  3. Select your camera from the dropdown list of available cameras.
  4. Change the camera’s resolution if necessary. 1920x1080 is the most common resolution used in mixed reality capture.
  5. Select what kind of tracking object the camera will be bound to. Options are -
    • Static camera - This camera will remain stationary in the scene and will not move once configured. VR Object setup is not required.
    • VR Object - This is an additional Oculus Touch controller that has been identified as a VR Object in VR Object Setup. Not supported on Rift S.
    • Left Touch - The left Touch controller. Not supported on Rift S.
    • Right Touch - The right Touch controller. Not supported on Rift S.
  6. Position your right Oculus Touch controller in the silhouettes that appear on the screen. You’ll need to adjust the distance from the camera and the orientation of the controller to get the real-world and virtual images to align. The more precisely they match, the better the tracking will be. When you’ve lined up the images, press the A button or pull the trigger on your right Touch controller to record the position. B button will return to the previous position.
  7. When the 10 positions have been recorded, the virtual controller overlay will tracked to move in sync with your real-world controller. The final step is to fine-tune your calibration using a set of slider adjustments. You may also add latency to the camera if there if the response of the virtual controller is delayed. Rift S MRC Camera Calibration FOV Adjustment
  8. When finished save the configuration.

Once you’ve completed the calibration, you can save the configuration to the system or a file. Saving to the system will use this calibration as long as the Oculus desktop app is running. Saving to a file will allow you to reload this configuration at any time in the future. To reload a configuration, launch the CameraTool and select Load Camera File. Exit the CameraTool when you’re finished saving the files.

Troubleshoot Your Camera Calibration

Sometimes things don’t work as expected after the camera calibration process. This section will help you through some of the common issues experienced during the calibration process.

  1. My camera is lagging or jittery.
    1. Check to see how you have your sensors and external camera configured in the USB ports. These are all high-bandwidth devices and can overload a chipset. Review how your devices are distributed in the Windows Device Manager and rearrange if necessary.
    2. Using a USB 3.0 camera with a USB 2.0 extension cable, or a USB 3.0 extension cable over 10 feet, may introduce camera lag.
    3. Finally, if the previous two steps did not resolve the issues with lag, consider using the USB expansion card listed on the System Configurations page.
  2. I’ve completed the camera calibration process, but when I move my VR Object and webcam the Touch controllers aren’t aligned properly with their virtual representation. Please review step 2 in the Before You Begin section above. Make sure your sensors can see the ring around the Touch controller you’re using as the VR object throughout the entire process.
  3. I keep getting a high score (>1) for my camera calibration. During the process, make sure that you fit the entire checkerboard pattern into the rectangle. Changing the rotation of the image as well as changing the angle of the checkerboard slightly with each image.
  4. **The CameraTool is detecting my camera but showing a black screen in the preview window. **Make sure that another application isn’t trying to use the webcam. The CameraTool needs to be the primary user of the webcam during calibration.
  5. My camera position changed in relation to the VR Object. If the camera moves with respect to the VR Object, you can re-run the extrinsic portion of the calibration (step 7 above) after loading a camera save file with the intrinsic save measurements.