Stereo CubeMap Importer

Ive recently been playing around with importing stereo cubemaps for my comic book reader and noticed AHume was look for way of getting them into UE4 so I put together a little plugin to do just that and thought i’d share.

4.9.2 binary

4.10.2 binary

4.11.1 binary

Instructions

Interesting…

Can this be used with the ‘Carmack cubestrip format’ or whatever it is called? ie the full 18432 x 1536 px the gearVR supports ?

I did a render for the ‘render the metaverse’ contest by Otoy and i thought it would be nice to use such high fidelity stereo panorama’s in unreal combined with realtime 3d…

They Otoy competition renders are what ive been using to test. So yes.
I needed something to tide me over until Otoy release there UE4 plugin. Plus ive got a side project im trying to find the time to work on which involves encoding depth info in the alpha channel plus normals into another cubemap.
The idea being that with all of that info we should be able to introduce some realtime effects such as lighting. It’s just an idea ATM though.

*Edit

P.S Which one was your render? I’d love to check it out.

it works in the editor but I can’t package for android/gearvr, failed with Error Unknown Cook Failure…

can’t wait to test high fidelity panorama mixed with realtime 3d on the gear… interesting for pano tours and myst like games i’d say…

Thank you for making this available !

The one i did for the July contest is called ‘The VRtex Oracles](VR Gallery • OTOY)’ …

It is a bit basic but the impression of scale and mood is nice i think… needed some more time… and I made an error in the order of the cube faces so it looks to the right at the start…

PS i made a Blender compositor noodle setup to get a cubestrip from two equirectangular images, which can be rendered in stereo with a custom Blender build by dalai Felinto… i shared the blender file somewhere in that thread, it might be a bit rough though…

Ah I think I made a Boo Boo with the plugin I think its trying to package the plugin with the project.
In the meantime try using a copy of the example material and cubemaps. With the editor closed delete the plugin folder. Start up the editor and try repackaging.

*Edit or even easier disable the plugin then package.
I still cant figure out why this is happening though.

If you’ve got a link that would be great.

Well I just got round to fixing the issue with packaging projects with the plugin enable.
Ive updated the download links with the new versions.

Hi opamp77,

Is there a way to add an initial rotation to the skybox in the way you set that material up? It seems locked to the world now. I’m not really familiar with the material nodes and logic yet.

I want to align realtime and pre rendered elements, so if i can’t rotate the skybox i have to recreate my scene relative to the camera.

that would be a big work around to keep my blender scene and unreal scene the same. I’m already getting a headache of the difference in axis orientations in itself …

Just transform the final vector from local space to world space.
Then rotate the mesh.

In fact you could get rid of the multiply and plug the camera vector directly into the transform node.

Thanks for this :slight_smile: Already had the stereo cubemaps, but now there is no more need for converting the images to .dds with Photoshop, which improves the workflow.

BTW do you happen to know a fix for the severe aliasing of edges in the images with the GearVR? The images render perfectly crisp in the ORBX viewer but in UE4 they have severe aliasing. I have tried a lot of different settings (anti-aliasing, mipmaps, etc.) but can’t find a fix. Would it be because UE4 renders each eye at 1024x1024 instead of the max device resolution?

I dont own a GVR so I couldnt say but by default the importer does’nt generate mips for performance reasons. Try changing the mips setting on the cubemaps to see if that fixes the issue.
If it does then look at increasing the resolution of your render target(screen percentage) or look at rendering your cubemaps at a lower resolution before importing.

Oh, sweet plugin! Does it work on Android / Gear VR?

Have you tried setting the defaultdeviceprofile r.MobileContentScaleFactor to zero ?

thanks for this great plugin.
What really helped in image quality for me was to set texture compression to UserInterface2D instead of the default DXT1/5.

Setting the defaultdeviceprofile r.MobileContentScaleFactor to zero did help in my case, don’t know why this is not the default on GearVR. Didn’t see a noticeable difference setting the texture compression to UserInterface2D instead of the default DXT1/5, instead.
What would really be useful is the support of the OVRLayers, that according to this thread should land in 4.11:
https://forums.oculus.com/viewtopic.php?f=60&t=26700

Anyone has more info about how this was implemented and how to use it?

Hi @Opamp77 I just wanted to say a big thanks for making this plugin public, I tried it out today and it’s great!

Are you still looking into using alphas with the cubemaps too?

Have you tried it out with video footage in cubemap form - does it even work?

Cheers!

Thank you very much! It is working great :slight_smile:
Do you plan to compile it for 4.11? I would like to use the “Instance rendering” of the latest version.

Cheers!

+1

I was just thinking about 4.11 and this plugin.

Ive been crazy busy recently i’ll try and get a 4.11 build uploaded tomorrow.
@Bushey
I’ve havent had a chance to test that out properly yet I only got as far as an experiment with a single camera. Ive yet to correct for the spherical distortion when using a cubemap.