How to render 360 degree video in Unreal Engine

How to render 360 degree video from Unreal Engine with the OWL 360 Degree Camera and the Movie Render Queue
Written by Off World Live
Updated 6 months ago

This method allows you to Render your 360 Camera Render Target to a HUD which can then be rendered out using Unreal's Movie Render Queue for ultra-high quality renders.

  1. Go to Edit>Plugins and ensure that the Movie Render Queue and Live-Streaming Toolkit plugins are enabled in your Unreal Plugins (if not, enable and restart):
  2. Go to your 'Place Actors panel and from the Off World Live section drag-and-drop an OWL360 Cam Capture into your scene:
  3. Go to the 'Details' panel of your 360 Camera and click the drop-down next to 'Texture Target' to add a new Render Target to capture the output of the Camera. (You can also adjust any other camera settings you need at this point or later):
  4. Go to your Content Drawer and create a new Folder called '360 Render':
  5. Move your 360 Render Target into this new Folder:
  6. Right-click on your 360 Render Target to create a material from it:
  7. Double-click your new Material to open it's Window and in the Details panel change 'Material Domain' to 'User Interface':
  8. In the Material Graph to the right connect 'RGB' from your Texture Sample to 'Final Color' in your 360_Mat (and save your material):
  9. Go back to your 360 Render Folder, right click and select 'User Interface'> 'Widget Blueprint'> 'User Widget'. Rename the Widget '360 HUD':
  10. Open the Widget, in the 'Hierarchy' make sure that '360HUD' (or whatever you have named your Widget) is selected and drag-and-drop an image into the canvas (if there is a 'Canvas Panel' already underneath '360HUD' you can delete it, there should only be your image underneath as it shows below):
  11. In the Details panel of the Image, go to 'Appearance'>'Brush', select your 360 Material using the drop-down next to 'Image' (and save your Widget):
  12. Your 360 Render Folder should now look like this:
  13. Now open your Level Blueprint:
  14. Inside the Level Blueprint paste in this Blueprint. Where it says 'Class' next to the purple circle below, select from the drop-down options your '360HUD' Widget you created at Step 9. (Compile and save!):  
  15. If you don't already have a Sequence for Movie Render Queue, click 'Add Level Sequence' and name it '360sequence':
  16. Now drag-and-drop the 360 Camera into your Sequencer Window (you will see a basic sequence of frames appear):
  17. If you want to add movement to the camera you can change the Transform> Location values at different time-points during the Sequence:
  18. To Render this Sequence using Movie Render Queue click the 'Clapperboard' icon to open the Movie Render Queue Window:
  19. You will see your 360sequence in the Job list, click 'Unsaved config' to input the settings for your Render and add the Setting 'UI Renderer':  
  20. Ensure that 'Composite onto Final Image' is selected:
  21. In 'Settings' click 'Output' to select the Resolution of your Render. It is essential that the Resolution of your 360 camera and that of your Render are the same. In the example below the resolution is set to 4K Equirectangular (save!):
  22. Click 'Render Local' and your 360 output will now Render!
  23. Check inside the 'Saved' Folder of your Unreal Project to find the rendered output:

Did this answer your question?