1
\$\begingroup\$

Background

We’re working on a 2D mobile game. We want to publish the game on all apple devices which at least support iOS 7 and to all android devices which at least support Android 4 OS. These devices come with different screen size and resolution. For example, in following image we have different Aspect ratios and resolutions that we almost found in every mobile device.

Screen resolution of aspect ratio of different mobile devices

Question

  1. Do we need to choose a higher resolution to design a sprite sheet for those devices which share same aspect ratio? For example, iPhone 3Gs and iPhone 4s share aspect ratio of 3:2. But they have different screen resolution.
  2. If those devices come with different aspect ratio. Do we need to create multiple sprite sheet for multiple aspect ratio?
  3. What are the best practices that unity offer us to design and create sprite sheet for multiple mobile device, which are optimize to even lower mobile device?
\$\endgroup\$
  • \$\begingroup\$ You can use the same sprite sheets in different resolutions. \$\endgroup\$ – jgallant Oct 4 '16 at 9:48
  • \$\begingroup\$ In that case while creating sprite sheet in photoshop, what resolution do i need to choose. \$\endgroup\$ – Ali Asad Oct 4 '16 at 10:10
  • \$\begingroup\$ Also, If i choose low resolution like 320x240. Would graphics when it displayed on high resolution screen i.e 2048x1536 (ipad 3). @jgallant?? \$\endgroup\$ – Ali Asad Oct 4 '16 at 10:11
  • \$\begingroup\$ That is up to your design decisions. In most cases you are better off going big, especially if you want to support large iPad display resolutions. Regardless you will need to package the sprites with the same executable on each platform, you could package all the smaller sprites too, but why bother when you can simply just use the higher resolution sprites. The only way around it would be to fetch your content on a CDN based on the user's device. I wouldn't recommend doing that. \$\endgroup\$ – jgallant Oct 4 '16 at 10:13
  • 1
    \$\begingroup\$ I don't even think you should bother supporting 320x240 resolutions either. \$\endgroup\$ – jgallant Oct 4 '16 at 10:14
0
\$\begingroup\$

You do not need to have different sprite sheets or individual sprites for different aspect ratio.

ANSWERS TO YOUR 3 QUESTIONS

  1. It's a good idea to have sprites made for the largest resolution possible. In that way it won't have pixelation on HD or higher end screens. But also note that they will increase the size of your build, and that is also always a thing to look out for.

  2. No. You can create sprite sheets for the maximum size that you want to fulfill. Then you can choose to either crop out the remaining of the sprites from the sides for smaller aspect ratios, or you could scale them. Sometimes art cannot be scaled else it'd look bad, in which case you'd want to keep it the same. If you're working with UGui or any other GUI tools, look at how pixel perfection and preserve aspect ratios is handled. You may need to reposition some items from code if you do this. MIGHT (NOT NECESSARILY) have to.

  3. Use the concept of atlasing sprites instead of having single image. Usually for mobile devices, have a maximum of 2048*2048 size atlases. Look into assetbundles, as they are very useful if your game uses tons of art. It's also useful to push updates without updating the appstore build *conditions apply. When you have a sprite/psd selected in the editor, instead of keeping the image as a sprite type, you could change it to advanced, and then play around with the Aniso level, the Generate MipMaps option and the compression types. As far as I know, the DXT5 compression servers the best compression.

Hope this helps :)

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.