360 Videos with Unreal Engine 4

Hello everyone!

I’d like to create a 360 video, and so far the only tutorial I’ve found for that is the following one:

The main problem I have with that tutorial is that it requires some coding in order to follow it, but it seems like it’s the most “official” description for UE4 so far. What I’d like to ask here is if anyone has created such a 360 video before, and knows another technique or an easy method to start playing around and using it.

Thanks in advance for your time!

You can make a video without coding. The code you see on that page is to enable more features or tweak stuff only.

Any idea on how to? I’ve checked Sequencer, but I can’t see any options for rendering a 360 video in there, nor any options under the available cameras to enable a 360 one. Any ideas on where this is covered?

bah it’s in the link you provided in your original post, no?
Sequencer is only used to create your movie. To capture it, you can launch your movie and use the console commands to start recording the 360 frames that will make your video. You’ll need a montage software to make it a video.

Capturing a Movie

Right, so that’s all of the important settings covered and a nice handy way to set up and trigger a capture from Blueprint using a single console command.

The very first, most important thing to always remember when capturing a movie, is that you want to be running with a fixed time-step.

A frame of capture is going to take upwards of 40 seconds, so unless you want your 80-second cinematic to generate just 2 frames of output you’re going to want to tell the engine to only move in increments of time using a fixed time-step.

This is nice and simple to do (thanks Unreal). You just provide the following command-line

-usefixedtimestep -fps=

For example, if you set framerate to 60 then it’s going to update in time-steps of 16milliseconds after each full frame is generated, so you’ll get to capture 60 frames for each second of time that passes. If you’re only planning on generating a 30hz movie then you COULD in theory just set this to 30, but we always capture at 60 so that we have the option of generating 60hz or 30hz movies from the frames.

Additionally it’s a good idea to turn off texture streaming at this point using -notexturestreaming; if you spend a day doing a movie capture and then it turns out the floor texture is all blurry you’re going to be pretty annoyed :wink:

As a full example, internally we pass the following command-line when booting the game/editor when we want to do a capture

-usefixedtimestep -fps=60 -notexturestreaming

With that said, how do you go about doing the actual movie capture?

I mentioned SP.PanoramicScreenshot above, but if you look carefully at that Blueprint screenshot above you can see that there’s a way to directly capture a number of frames to a movie too, specifically:


The number of frames here is literally “the number of times the engine has run its update loop from when you kicked off the command,” e.g., if you are running fps=60 and set startime to 120 and endtime to 240 then after the command executes it will wait 2 seconds (120 frames) and then capture 2 seconds worth of frames (i.e. 120 of them), which you can then encode to 2 seconds worth of video @ 60hz… and so on.

We tend to just capture from matinees here (after all, at a fixed timestep and 40 seconds to capture each frame it’s not really ‘playable’ framerate), so we always kick off the matinee at the same time that we trigger the SP.PanoramicMovie command, and then our start and end-frames can be easily worked out based on how many seconds into the matinee we want to start and stop capturing (just multiply by 60 and there’s your answer).

Thanks Heartlessphil, the point that I was struggling with was that I didn’t know I had to start capturing when I launched the sequence. I’ll try that out and see if it works!

Also, any recommendations on a software to merge the left and right images generated by the program? I normally use DaVinci Resolve for editing videos, but I haven’t found any that lets you combine two images into one.

Anyway, thanks a lot for your answer, it did make things clearer :wink: