How to get high resolution of 360 panoramic photos in VR display

Dear all,

is there any tips of displaying high resolution 360 photos in Meta Quest2/3 ?
i tried many combinations of import setting of 360 Photo, but only get poor quality of display.
With some panoramic video/image players, e.g.VR skybox player, the 23K *11k photos (200mb) are displayed properly/smoothly with high resolution.

However, with in Unity, i never achieved same resolution as the Video/Photo Player.
Below 40962048 (maxi size), it displayed properly and smooth, but blur details.
Above 4096
2048, e.g. 81924096, it displays higher resolution but with jittering/shimmering details.
here is the import setting of my 360photos,
-RGB(A) Compressed ASTC 4
4 block
-Gerenation Mipmap: off


also tried with Cubemap and Panoramic skybox shaders on a 3D sphere material, the same results.

which means we never achieve Photo/Video Player’s resolution with Unity? is there any suggestions about Image size, resolution, import settings, project settings ?
also tried anti-aliasing of URP, doesn’t help.

There is indeed a workaround, to allow you to have any resolution you want. The idea is simply to slice your 360 images into many 2048x2048px parts you need compared to original size of image (more slices=more resolution). For instance I usually slice a 8k images into 8 parts (so each part is indeed 2048px images the maximum for meta quest). But if you start with a 16k images just slice it into 16 parts (each again 2048). It’s very easy to do in photoshop you just create a new layout guides with zero margin, dividing it into 4 or 8 horizontally and 2 or 4 vertically etc… Then you create slices from guides, and then you export for web and export all slices at once.

Then you create a sphere in any 3D software, like Blender, with enough resolution (64x32 for instance), and assign the material on the slices yourself. No need to really slice the sphere itself, just assigning materials is good. For instance, for my 8 slices, I very simply select top-view first, and select quarters of the sphere on top, each one gets a sliced image. Then repeat on bottom. Just be careful to have the correct order (sometimes you need to mirror the UV also).

If UV are giving you headeachs (like everything is messed up) the idea is super simple actually, you don’t touch the UV of the sphere at all intially, you simply (for each “slice part” you have to do that), you select the quarters (you can select by material to go faster once they are applied) multiply by 2 the size on x (so you get a real square UV for each), and you scale by two the whole part, and center it (will be off center and small initially cause it’s the whole sphere UV taking all space, you need basically to put each part in “full” square I hope I’m not too confusing. I’ll share a video if too confusing you can ask.

Then you simply put it inside Unity, and extract material (put it unlit generally too), and assign your sliced images to each part.

If you get some weird artefact like super thin white line where slices meet you put each image in mirror mode for tiling, it will make white line disappear.

Now you have indeed a sphere with a literal 8k images or 16k images total instead of an horrendous 2k image for the whole sky haha. It’s just that it is 8x2k images or 16x2k images :slight_smile: