Camera Calibration

Important

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.


We're no longer accepting submission of 32-bit Oculus Quest apps. Any new or updated Oculus Quest application needs to be 64-bit. Please contact Oculus if you are unable to comply with this policy. Oculus Go and Gear VR apps will not be affected by this change.

Calibrate your camera for mixed reality capture using the provided tool and calibration apk.

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. For best results we recommend that you have your room set up in the configuration that you will use for mixed reality capture.

If you have not done so already, download the MRC Tools for Oculus Quest.

Before You Begin

Before you launch the camera calibration process, 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 lenses at the top of the HMD.

Make sure both your Oculus Quest and PC used in the MRC capture process are on the same local network.

Run MrcCameraCalibration.apk

This process configures your Oculus Quest and prepares it to stream to OBS.

  1. From the location that you’ve installed the tools download, transfer the apk to your Oculus Quest. You’ll need to delete the previous install if you’ve downloaded an updated version of the tool.
    adb uninstall com.oculus.MrcCameraCalibration
    adb install MrcCameraCalibration.apk
    
  2. Launch the MRC Camera Calibration Service on your Oculus Quest, from the Unknown Sources tab in your Library.
  3. Record the IP address that is displayed in the HMD. You’ll need this in future steps.
  4. Leave this app running in your Oculus Quest for the next step.

Calibrate the Camera

This process uses the OVRCameraCalibration tool to calibrate your external camera. You may wish to place a small piece of tape or similar in the center of your Oculus Quest headset face. This will help in the steps below.

Do not move the camera once you begin this process.

  1. Open the Mixed Reality Tools download and navigate to OVRCameraCalibration.bat. Edit the file and populate the IP address for your Oculus Quest that you previously recorded.
  2. Launch OVRCameraCalibration.bat. It will connect to the MRC Camera Calibration Service on your Oculus Quest, and create a new window where you will see “Quest Mode” on its title bar. 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 that you will be configuring a static camera.
  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. MRC Camera Calibration FOV Adjustment
  8. When finished save the configuration as mrc.xml.

Transfer the Calibration File to your Oculus Quest

Once finished with the camera calibration, you’ll need to transfer the mrc.xml file you created to your apps data on the device. You should have already installed your Oculus Quest app on the device before doing it.

  1. Create a files folder in your app install.
    adb shell mkdir -p /sdcard/Android/data/com.{yourorgname}.{yourappname}/files
    
  2. Transfer the mrc.xml file.
    adb push <path of the saved mrc.xml> /sdcard/Android/data/com.{yourorgname}.{yourappname}/files/
    
  3. Verify the file transfer.
    adb ls /sdcard/Android/data/com.{yourorgname}.{yourappname}/files/
    

    mrc.xml should be present in the file list returned.

Once you’ve finished with the device setup and cameral calibration. You’re ready to configure OBS to capture and composite the mixed reality scene. See the Composite the Scene page for information on using OBS.

Troubleshooting

  • If your Oculus Quest reports that it is unable to find Guardian. Try restarting the Quest to find a previously created Guardian. If you have to create a new Guardian, repeat the calibration steps on this page.
  • If your Guardian drifts too much (usually after a few loss/recovery of tracking) repeat the calibration steps on this page.