|
Hi guys, I'm really unsure how to support the retina graphics on an iPhone 4. At the moment I already have my scene setup and textured in Unity (3.1) and all my prefabs textured so all I do is instantiate them and they are ready to go. The problem is if its in iPhone 4 what would be the best/easiest way to re-texture everything if a retina supporting device is detected? Thanks guys for your time,
(comments are locked)
|
|
There's a good chance your 3d objects will look okay, unless you have seriously been cutting your textures to the bone, to the minimum resolution you can get away with. Most retexturing work for the retina display centers on making 2D elements (UnityGUI; GUITexture & GUIText) look good. Here's one way to do it. In my GUI-related scripts I declare many of the GUIStyle's, Font's and Texture2D's three times:
Then in the script's Start() function I check whether the screen is large (indicating retina or iPad).
In some cases I instead have a single texture that looks good on the retina display, and just calculate the Rect bounds differently.
Once I've got these set up, the rest of the script uses the private, "size-less" variables that were initialized by Start. (Note: while debugging I usually make them public so I can try different values in the editor and see how they look; then I copy what works into the corresponding "Lg" and "Sm" variables. I then make the "size-less" variables private. This catches any cases where I forgot to assign them to a sized variable in the Start method.) Note that my game is not particularly GUI-heavy. So this work was tedious, but not excessive. (Instead of declaring three variables each time, you could use an array of three elements. I didn't try that, but it would let you add additional sizes in future, and you might be able to build editor or runtime utilities around it.) That make sense :) Would it be bad for optimizations to also re-texture some of the regular elements with higer def textures through the same script? Even though I already have them textured both in the scene and my prefabs?
Dec 07 '10 at 09:35 PM
apple741 1
I think the place I'd do it would be by having lores and hires prefabs. That way you could change anything: textures, model, or shaders. In the script that instantiates the prefab you'd use the same trick of having three variables to choose between the prefabs. But, I would only do this where it was really needed. Test without that, see how it looks.
Dec 08 '10 at 04:38 AM
Bampf
Thank you very much :)
Dec 09 '10 at 12:27 AM
apple741 1
(comments are locked)
|
