How to Render a Custom Dome Projection in Unreal Engine

How to render a dome output from a custom mask, rendering the exact pixels you need in Unreal Engine
Written by Off World Live
Updated 2 days ago

Sometimes the dome surface you are projecting on isn't a standard Dome shape for which you would use a Domemaster projection.

In that case you can use our 'Custom Dome' option, a Mono 180 Equirectangular projection, which will increase rendering performance and give you better file-size management.

  1. To configure your Custom Dome output in your project, use the OWL360CamCapture or Component. Select 'Custom Dome' from the Projection Type list:
  2. You will see a number of new settings appear:
    1. Cube Face Rotation: This allows you to rotate the cube faces (but not the camera itself) so that you can only use the exact cube faces required for your render.
    2. Show Debug Face Colors: This tickbox will overlay a cube showing you the exact position of each cubeface on your current render output. You can use this in combination with 'Cube Face Rotation' and 'Horizontal/ Vertical FOV' to select the minimum number of cube faces to render your output. You can then use Advanced> and deselect any cube faces you are not using, saving render time and performance.
    3. Camera Rotation: This allows you to rotate the camera itself, this will affect your content output.
    4. Custom Dome Horizontal FOV: This makes wider or more narrow the horizontal Field of View of your Output.
    5. Custom Dome Vertical FOV: This makes wider or more narrow the vertical Field of View of your Output.
    6. Custom Dome Alpha Mask: This is the Mask of the Dome surface you will be projecting on, you can upload this as a png, Make sure the resolution is aligned with your target output resolution.
  3. In Custom Dome Alpha Mask, use the drop down to select a texture for your Dome output. You can add this as a png into your Content Browser:
  4. Now when you open your Render/ Texture Target you will see that your output matches this Mask:
  5. To find the minimum number of faces that can be used to render this output, enable the 'Show Debug Face Colors':
  6. We can see that in this case we are using part of four faces, so we can adjust the orientation of the cube faces to see if we can only use 3 faces. In the example of this Mask, we will use Cube Face Rotation and rotate by 45 degrees on the Z axis and then 31.15 degrees on the Y axis (it's better to use the array to do this sequentially:
  7. Now we can see that we are almost using only 3 cube faces:
  8. We have the issue of the red and blue pixels in the mid left and right, which are the corners of other faces. To remove these we will slightly increase the Horizontal Field of View to 146. The Vertical FOV doesn't need adjustment in this case:
  9. Now we are only rendering three faces to get the exact pixels we need!
  10. We can double check this by going to Advanced> and deselecting three cube faces with Show Debug Colors now unticked:
  11. We can confirm that even with only three faces rendering, we can output the whole projection:
  12. To Render this in Movie Render Queue, you can open your settings as normal from the Sequencer. In the OWL 180/ 360 Rendering section you will see a new option for 'Update from 360 Component'. When you click this it will automatically import all your settings from your OWL360Capture/ Component:
  13. The only option that will not automatically update is your Mask, which you will need to add as a file path using 'Custom Dome Alpha Mask File Path'.
  14. We don't recommend adjusting settings here (because you can't preview the output), but if you want to you can select 'Override 360Component Settings' and you will see the Custom Dome options appear: 
  15. You can now render and you will output the exact pixels required for your Custom Dome!

Did this answer your question?