- Home /
What Size To Make Art Assets?
I have worked mostly with pixel art in the past, but for my current project I want to switch to using illustrated artwork. If I'm aiming for 1920 x 1080 as my max resolution, should I size my art based on that (i.e. if a character needs to take up a third of the screen make their sprite 640 x 1080) and import with a PPU of 1, or is there a more efficient practice for choosing sizes for art assets?
I've seen people say that art should be made larger than intended and then scaled down, stating that art doesn't lose quality when scaled down, but I've noticed that my art becomes visibly pixelated when this is done, presumably do the my undetailed art style making pixels easier to spot.
Answer by FlaSh-G · Jan 01, 2018 at 10:44 PM
You don't need to make the art bigger than intended, but work at least on the highest resolution you plan on using the image. Then, yes, use the Texture Import Settings to reduce the resolution. Unity will use the shrinked image in your project, but the asset file will not be touched and thus will keep the original resolution. So you can experiment with the resoliutions. Right below the "Max Size" setting in your import inspector, you can choose a resize algorithm and compression settings.
The advantage of this is simply that you don't have to recreate your artwork in a higher resolution if you happen to notice you need it - you can just scale it back up.
So I made this sloppy test sketch at 1920 x 1080 resolution and imported it into Unity for testing.
What I found was that A) I noticed no difference between compression levels unless the max size was very low, and B) The image was slightly outside the camera's view, despite my player being set to 1920 x 1080. I thought Pixels Per Unit was a meant for scaling images, but I guess that's not the case since the image is almost accurate at a PPU of 100?
So from what you're saying, my plan of choosing sizes based on max resolution will work. But, I am now utterly confused as to what I need to use for my import settings.
Update: After further messing around I realized that Pixels Per Unit refers to game units, meaning that this image with a PPU of 100 takes up 19.2 x 10.8 units. I simply changed the Camera Size to 5.4, which allowed the image to fit the screen with see$$anonymous$$gly no quality loss.
So from what I can tell, I should make my Camera Size 5.4, import my sprites with a PPU of 100, and adjust the $$anonymous$$ax Size accordingly depending on the resolution of the original artwork (i.e. this 1920 x 1080 image should have a $$anonymous$$ax Size of 2048). Is this correct, or am I still going about this wrong?
Sounds about right. Be aware though that 2048² is a pretty huge size for... let's say "not-so current gen" devices. For example, I'd usually not go above 512² for mobile devices so people with phones that are a bit old can still play it. Gamers have PCs that easily display 2048² and above textures, but if mom's laptop should run it, I'd not even go above 1024² for nice framerates.
Depending on your image, you might want to try to get creative and slice it up. I know the image you posted is just a placeholder, but in its case, you could make one image with the character, one with the text and maybe the arm, and a SpriteRenderer that renders the background color. Another way would be to slice the image into four parts - or accept a slightly lower resolution.
Ah okay. So, for instance, if I were to use this image for a mobile game I should cut it up into 512 x 512 blocks and position accordingly?
Well... "profile first". Basically, test your stuff on devices and see if you're in the green or not. Decide to optimize your performance only after you found out that it poses a problem.
Your answer
Follow this Question
Related Questions
What's the best texture resolution? 2 Answers
Problems with importing image.png at its actual size and quality 2 Answers
Tree Texture Altas Size 1 Answer
Preserving fine line art (variable zoom and resolutions)? 2 Answers
Photoshop project size question. 3 Answers