Recording 360° video in unity is not a rectangle


Leo Literak

I have a timeline project in Unity 2018.2.10f1. I use Unity Recorderto export 360° video. Here is the setup:

enter image description here

But the output is not isometric and cannot be played as a 360° video:

enter image description here

What's the problem and how to fix it? thanks

2:1 video

enter image description here

free camera settings

enter image description here enter image description here

Remy

Edit3:
Apparently this issue is caused by a Physical camerasetting on the camera component . Turning off Physical Camera will export equirectangular images/animations as expected.

The information below is still useful, but does not fully address this particular issue.


Your settings do not export an equirectangular image right now but a square image. Equirectangular images require to have an aspect ratio of 2:1. Whereas your current aspect ratio is 1:1.

In the Unity recorder settings you have set "360 view output" to 2048x2048. Resulting in the square image you're seeing. Try setting this to 4096x2048. This will produce a 4k image with an aspect ratio of 2:1, which should work for equirectangular projection.

See this page for more information about how equirectangular projection works. (emphasis mine)

Scanning cameras sometimes cover more than one 360° turn but software often assumes that equirectangular images cover 360° horizontally and 180° vertically, i.e. make sure that your equirectangular image has a proper aspect ratio of 2:1.


Edit:
Looking at the 2:1 picture it seems that Unity your records a cubemap, and not an equirectangular image. You may need to convert the cubemap to equirectangular using RenderTexture.ConvertToEquirect from the docs:

if (renderStereo)
{
    cubemap.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Left);
    cubemap2.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Right);
}

Take a look at this Unity bog which goes into further detail on how unity uses cubemaps/equirectangular projection From the blog:

After stereo cubemaps are generated, we can convert these cubemaps to stereo equirectangular maps which is a projection format used by 360 video players [...] To convert cubemaps to stereo equirectangular maps, call RenderTexture.ConvertToEquirect()

The "Cube map" width parameter on the Recorder may need to be tweaked for the desired result. But not sure which value would work best.

Edit2:
I created a test project (on GitHub ). However, despite (seemingly) the same setup, I don't get the same output as you. My output looks like a perfect equirectangular image (no need to do any transformations as I thought might be required as described in the first edit).

My setup:Unity Recorder settings

output:360 isometric output image

Related


Recording 360° video in unity is not a rectangle

Leo Literak I have a timeline project in Unity 2018.2.10f1. I use Unity Recorderto export 360° video. Here is the setup: But the output is not isometric and cannot be played as a 360° video: What's the problem and how to fix it? thanks 2:1 video free camera se

Recording 360° video in unity is not a rectangle

Leo Literak I have a timeline project in Unity 2018.2.10f1. I use Unity Recorderto export 360° video. Here is the setup: But the output is not isometric and cannot be played as a 360° video: What's the problem and how to fix it? thanks 2:1 video free camera se

Recording 360° video in unity is not a rectangle

Leo Literak I have a timeline project in Unity 2018.2.10f1. I use Unity Recorderto export 360° video. Here is the setup: But the output is not isometric and cannot be played as a 360° video: What's the problem and how to fix it? thanks 2:1 video free camera se

Recording 360° video in unity is not a rectangle

Leo Literak I have a timeline project in Unity 2018.2.10f1. I use Unity Recorderto export 360° video. Here is the setup: But the output is not isometric and cannot be played as a 360° video: What's the problem and how to fix it? thanks 2:1 video free camera se

Bug recording video android

Harvey Sirex I'm trying to play many 30 second videos in the background, but after 20 or 30 videos my service stops and the recording process starts, running slowly. I have tried the service in the same process, but the problem is the same. My video handler: @

Basic video recording issues

CMOS So I followed the default recipe for a starter video recording app, but got an error that I couldn't fix. The error I get is on records.Prepare();. It says /0/test.mp4: Open failed: ENOENT (No such file or directory) Now, I will paste the code below, the

Video recording without audio?

Mike Schmidt I have made a successful video recording program, but there is no audio? What should I do to solve this problem? I have the audio permissions set correctly in info.plist. I am using AVCaptureFileOutputRecordingDelegate. override func viewWillAppe

GPUImage video recording

Joe I've been trying to create use the GPUImage library to record video from a camera, filter it and save to the camera roll. GPUImageMovieWriter is causing me some problems. Here is my code: //Set up the GPUImageVideoCamera videoCamera = GPUImageVideo

Problem recording video

Human 123 I am trying to record 480*480 resolution video in vine using javacv. First, I used the sample provided in https://github.com/bytedeco/javacv/blob/master/samples/RecordActivity.java . Video is being recorded (but not at the required resolution) and sa

Video recording bug in Android

mahesh_babariya I need to record video file to mp4 formate. However, when I run and click the record button, it throws an error like Fatal Exception : main java.lang.IllegalStateException . this is my whole code boolean recording = false; @Override protected

ffmpeg video recording corrupt

333 I run the following command to record video via ffmpeg ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 10 -i desktop -c:v libx264 -r 10 -tune zerolatency -pix_fmt yuv420p record.mp4 This works fine when I run it via PowerShell (I manually stop the recordi

Video recording with OpenVidu and Electron

Vasnicket I have to be able to record incoming video calls to a file. Recording must be done on the electronic version of the desktop application. I am using OpenVidu as a streaming platform. What is the solution? eSportsVRGuy @Vasniktel It's technically possi

Video recording without audio?

Mike Schmidt I have made a successful video recording program, but there is no audio? What should I do to solve this problem? I have the audio permissions set correctly in info.plist. I am using AVCaptureFileOutputRecordingDelegate. override func viewWillAppe

While VideoCapture is recording video

dds leonardo I'm currently trying to read video frames that are being written. First, is this even possible? I tried the code shown below. Two examples of output are shown, one where I try to read in real-time and one where I read after the fact. In the first

Bug recording video android

Harvey Sirex I'm trying to play many 30 second videos in the background, but after 20 or 30 videos my service stops and the recording process starts, running slowly. I have tried the service in the same process, but the problem is the same. My video handler: @

Video recording without audio?

Mike Schmidt I have made a successful video recording program, but there is no audio? What should I do to solve this problem? I have the audio permissions set correctly in info.plist. I am using AVCaptureFileOutputRecordingDelegate. override func viewWillAppe

Bug recording video android

Harvey Sirex I'm trying to play many 30 second videos in the background, but after 20 or 30 videos, my service stops and the recording process starts, running slowly. I have tried the service in the same process, but the problem is the same. My video handler:

Video recording without audio?

Mike Schmidt I have made a successful video recording program, but there is no audio? What should I do to solve this problem? I have the audio permissions set correctly in info.plist. I am using AVCaptureFileOutputRecordingDelegate. override func viewWillAppe

While VideoCapture is recording video

dds leonardo I'm currently trying to read video frames that are being written. First, is this even possible? I tried the code shown below. Two examples of output are shown, one where I try to read in real-time and one where I read after the fact. In the first

Video recording with cheese is slow

Gaurav Butola A cheesy record of harrowing fps. Video recording is really slow and almost unusable. How to increase the fps of cheese. I have HCL laptop with built-in 1.3 MP camera 2.47 GHz i3 processor and 2 GB RAM. Running Maverick 32-bit. I installed camora

Video recording with OpenVidu and Electron

Vasnicket I have to be able to record incoming video calls to a file. Recording must be done on the electronic version of the desktop application. I am using OpenVidu as a streaming platform. What is the solution? eSportsVRGuy @Vasniktel It's technically possi

video recording in yii framework

username I am new to yii framework and I want to develop an application that can record video and send it to other people. Is there any way to achieve it using framework or any other method. I searched but found nothing. can you guide me in the right direction

Android video recording library

Vito Everyone! I have a question. I need some video recorder (library project) that can programmatically set the maximum output file size and the resolution of the recorded video. I know that native android video recorder allows to set maximum output file size

Basic video recording issues

CMOS So I followed the default recipe for a starter video recording app, but got an error that I couldn't fix. The error I get is on records.Prepare();. It says /0/test.mp4: Open failed: ENOENT (No such file or directory) Now, I will paste the code below, the

GPUImage video recording

Joe I've been trying to create use the GPUImage library to record video from a camera, filter it and save to the camera roll. GPUImageMovieWriter is causing me some problems. Here is my code: //Set up the GPUImageVideoCamera videoCamera = GPUImageVideo

Basic video recording issues

CMOS So I followed the default recipe for a starter video recording app, but got an error that I couldn't fix. The error I get is on records.Prepare();. It says /0/test.mp4: Open failed: ENOENT (No such file or directory) Now, I will paste the code below, the

Video recording with cheese is slow

Gaurav Butola A cheesy record of harrowing fps. Video recording is really slow and almost unusable. How to increase the fps of cheese. I have HCL laptop with built-in 1.3 MP camera 2.47 GHz i3 processor and 2 GB RAM. Running Maverick 32-bit. I installed camora

Video recording with OpenVidu and Electron

Vasnicket I have to be able to record incoming video calls to a file. Recording must be done on the electronic version of the desktop application. I am using OpenVidu as a streaming platform. What is the solution? eSportsVRGuy @Vasniktel It's technically possi

Bug recording video android

Harvey Sirex I'm trying to play many 30 second videos in the background, but after 20 or 30 videos my service stops and the recording process starts, running slowly. I have tried the service in the same process, but the problem is the same. My video handler: @