Tip: Improve quality of your 3D Distorted images with simple change

Q&A about the latest versions
Post Reply
Posts: 228
Joined: Tue May 19, 2020 3:43 pm

Sat Nov 14, 2020 1:46 pm

tl;dr: just change the number in the image to something higher

If you've noticed that your 3D distorted images look blurrier than the background they're sitting on, this may help.

I've been using 3D distorted images as hotspots - rings and circles on floors etc. that stay attached to the ground (à la Matterport) - because they have their place sometimes when you want them to be less distracting and the location you'll be moving to to look unambiguous.

A dot just floating in the air can mean a lot of things, especially when above the ground and outside. Is it high above a nearby point, or pointing to somewhere on the distant horizon? :?

Problem is: they look low-resolution... because they are displayed as low-resolution, even though the original image is not. They are drawn using fewer pixels than when they are not 3D distorted, and spread over a larger area. Drawing them larger makes them...too large.

I tried using larger source images that are scaled down more (hoping it would use more of the pixels) and smaller imaged that are scaled up, but they all look about the same - or even worse.

Solution is simple: :shock: Change the 3D Distance from the default of 500 to something higher, like 700 (which worked for me) and they are drawn smaller, as if further away. But you can then increase the drawn size and they will be drawn with more of their actual pixels and at the size you want. You can play around with the number to get the distance that works for you and makes them look the same resolution as the background they're against.

Now, I could be using this number wrongly, because it goes a bit wonky when I put things on walls, but it works fine on floors. :)
3D-distance.jpg (17.54 KiB) Viewed 195 times
Might be an obvious fix for some, but just another of those unhelpful default values that you have to remember to change. :(

Another tip: As I'm using hotspots at different distances, it makes sense for those that are further away to look smaller than those that are closer to maintain the illusion of perspective. Duplicate your Hotspot and just change the 3D Distance to something like 900 and it will get smaller - and so look further away and place it as a 'Hotspot2' on those locations. I did make a third one even further away, but found that two were enough to distinguish between them enough and look acceptable to my tiny brain. Any too far away probably didn't deserve a hotspot until you get closer anyway.

So, mid/near hotspots use 700 and those obviously further away use 900. I do also have a third type with a little 'balloon' bobbing up and down above some where I want them to stand out, and then the 'floor ring' is replaced by a small 'shadow' so they look tethered in 3D space.

Note that if you're animating your hotspots with a timer, wrapping everything below the hotspot itself in a container seems to prevent strange 'jumping' behaviour.
User avatar
Posts: 434
Joined: Tue Apr 08, 2008 7:01 pm
Location: München

Sat Nov 14, 2020 10:41 pm

As far as I have learned a time ago in the forum from Hopki, this should be:
Panorama width /2 / Phi (3,14159...)
Panorama is 12.000 x 6.000 px, so calculate:
12.000/2 = 6000
6000 /3,1415926 = 1910

As far as I remember the formula should be like that...

Martin, can you correct or confirm please ??
User avatar
Posts: 3506
Joined: Sat Sep 09, 2006 6:06 pm
Location: Fort Worth, Texas USA

Sat Nov 14, 2020 11:05 pm

hmm old school Multi resolution approach using the panorama width 6000 (use your actual panorama width) divided by PI 3.14159265359 or simply 3.14159

We use Multi Res: Level value is important to get all the mulit resolution values to be whole numbers like 4 , 2 and 1.

Level 512 or can change something like 1024, 256 or 128 to make an even value of like 4.0 not 4.33
512 [x] Load at start up

All values are divisible by 512 for whole number mathematical returns of 2048 /512 = 4, 1024 = 2 and 512 = 1

If your divisible number returns with 4.33 it will not work.. has to be like a whole value of 4.0

Its a math thing.

The objective is to get fewer tiles and smaller overall project size down to least number of tiles. I think using less or more than WHOLE numbers like 4.33 results in greater number of partial tiles and larger project size in Megabytes. Using value of 4.33 will still work... but because of larger project size will slow downloading to cellphones slower.

For example... getting more image content into the project.
tiles.jpg (143.18 KiB) Viewed 125 times
Pano2VR Forum Global Moderator
Visit 360texas.com
Posts: 228
Joined: Tue May 19, 2020 3:43 pm

Mon Nov 16, 2020 12:11 am

When I tested the 'Use Width/Pi as Output Factor' option it did nothing at all with Single-Res Images. Not a pixel's difference in output images, so not for me.

I presume it's just for Multi-Res, tiles. Although dividing the width of your panorama by 3.142 seems a little weird when making tiles for a cube. They'd be oversized by 4/3.142, so would be scaling the image up and interpolating it to appear larger. I checked the output of a Multi-Res export and found it does create a set of tiles that are larger than the original input panorama. But there isn't any extra detail generated when it does this, so not sure what the point is of creating extra data when the original tiles could just be drawn slightly larger, load quicker and look identical. :?

I'm using Single-Res images; because Multi-Res has other issues that make it unsuitable for my needs, and the width of the cube images is simply Panorama Width/4 for a 1:1 relationship and most accurate rendering of the original source. OK, it does slip in an extra pixel overlap for the seams, but it's not (always) visible and is 99.99% accurate.

But my original post was because if you place something on the image as a 3D Distorted Hotspot, then the relationship between the panorama and the Hotspot seems completely unrelated to the resolution of the panorama image itself. It's just drawn at a set size, which is set by the skin.

At the '3D Distance' of 500, to match my panoramas's resolution I'd have to be using one only about 4000x2000 pixels in size for them to look about the same. As it's larger than that: I need the 3D Distorted hotspot image to be displayed at a similar resolution so it didn't stick out like a low-resolution sore thumb, and increasing that 3D Distance number did it for me.

File it under: "Maybe I'll need this one day..." ;)
Post Reply