I recently discovered with some trial and error that the reason PlayCanvas sphere objects don’t work very well as PhotoSphere’s is that their geometry has a different number of rings to segments. Ideally for photospheres having 64 rings and 64 segments will work very nicely but it needs to be the same otherwise you get weird shearing effects on the photos. It is the same for any texture mapped to a PlayCanvas sphere. The only reason you don’t notice it in normal texture mapping is that the object needs to be sufficiently large to show the distortion. Perhaps having some kind of parameter controls on some of the primitives would make them much more useful.
You could simply upload your sphere model that has exact geometry as you make in modeling tools.
Or use internal method to proceduraly generate your sphere model: https://github.com/playcanvas/engine/blob/c32f63021c5b376671607c80a003435062e313c1/src/scene/procedural.js#L719
I know that, I was just offering the suggestion that since photospheres and videospheres are all the rage at the moment it might be a nice easy feature to add to PlayCanvas.
For example in aFrame it is simply
<a-skybox src='myimage.jpg' /> the rest is automatic. Creating backgrounds in PlayCanvas always takes more work. Even if you go the cubeMap route you still have to generate all the 6 images and upload them and put them in the right places on the cube etc. Since you already have a option to assign a cubemap I thought an alternative one to add a equirectangular image for a skymap would be an easy feature to put in (and blog about).
But if you feel it’s not worth it then feel free to ignore the suggestion.
It would be cool to support equirectangular projection indeed.
Although it would be more like - process image to generate 6 faces of it. Because in runtime, it is 6 faces at the end.
Awesome idea max!
6 images on a high performance cube map for the price of 1, I like it!