Mapping hi-resolution image to an object

Hello,

I’m developing for Android, but I’m total newbie in Unity and graphics. My final goal is to make a viewer for hi-res panoramic pictures in Unity. I was able to make it partly. I added a sphere with corresponding mesh, applied a material with my image and placed a camera in the center. It works, but it seems that Unity has a 4096-pixels limit on image size. I need to bypass it somehow.

Now my idea is to split an image to multiple smaller images and to map them separately on this spherical object. I dint’t find the answer, but maybe I wasn’t searching properly.

Can it be done? Or maybe there are another solutions? Could you help me and give an advice at least what direction should I look?

Thank you.

Edit: now I received the panorama image that I should map on the object. It’s in two formats: cubic (split into 6 faces, and each of them then split into 16 fragments) and equirectangular (split into multiple fragments). Maybe it will be easier to map it on cube, and then map this cube on the sphere?

You have a couple of choices. You can split your sphere into sections and map a separate image into each section. I’ve done this. I split the sphere into two half spheres and use 4K x 4K images for each half sphere. I had some artifacts at the boundaries of each half sphere I never worked out but I was just playing and otherwise the approach worked fine.

The second choice is to use the WWW interface to load your images. You are not restricted to 4K x 4K for the images brought in by the WWW interface. They can be loaded either locally or from the web using this interface. I don’t know if there is an upper limit, but I successfully brought in images of 4k by 8k and 6k x 12 k (panorama images are 1 : 2 ratio height/width).

You’ll probably want to use a skybox. By using a skybox you can use six textures, one for each side (up, down, left, right, forward, back), instead of only 1 on your custom object.