4 Mayıs 2015 Pazartesi

Tutorial 01 - Optimize Unity3D Game For Mobile Platforms (Android / iOS / Windows Phone)

Tutorial 01 - Optimize Unity3D Game For Mobile Platforms (Android / iOS / Windows Phone) android game , Tutorial 01 - Optimize Unity3D Game For Mobile Platforms (Android / iOS / Windows Phone) android free download , Tutorial 01 - Optimize Unity3D Game For Mobile Platforms (Android / iOS / Windows Phone) mobile game Tutorial 01 - Optimize Unity3D Game For Mobile Platforms (Android / iOS / Windows Phone) android free download



Optimizing a game for mobile platforms are extremely important task. You may have nice graphics, nice gameplay and nice features, but if the game is not optimized enough, a glitchy game play, with lags, hiccups may ruin everything. All of these tiny issues will lead to low ratings and bad comments.

I have been working on Unity3D for a long time, in here I will make a list for all optimization tips for all mobile platforms (Android, iOS, WindowsPhone) and I will update regularly in future.




OPTIMIZATION LIST


NOTIP
01Pooling systems, use pooling system for your object management, especially for platform style game. Definitely keep away from Instantiate/Destroy. I/D will cause heap memory to grow, you will notice rapid frame rate drops after while in your game. Pool managers are essential for especially for mobile platforms.

02Draw-calls and Poly numbers, keep them under reasonable numbers, do not trust high end testing devices. If the game works really great on high end device like the latest iPhone, it does not mean, game will continue perform %100 same like in the beginning. Mobile devices heats very quickly, and many of them automatically reduce their computanial powers. Additionally garbage collectors can cause problems later in the game play.

03Aiming for low poly, try to model yourself and work with 3D model artist directly rather than using ready 3D models from stores. Creating a low poly model is an art, not a very easy task. For example, you will not many faces of a model in the game. For example, 3D building in a platformer, you wont need behind and bottom faces of the building, delete them. Also check for double vertices, and remove them.

04Aiming for low poly, when you model an object, do as much as less extrusion, instead use textures with little shadow plays to give 3D feeling

05Reducing draw calls, use a single texture atlas for your game, and try to use advance GUI system like NGUI, many of them aiming 1 draw call.

06Reducing draw calls, share materials between objects. Instead using many materials and textures use texture atlases and less materials, then share them between objects. This will incredible reduce draw calls.

07Reducing draw calls, do not use dynamic shadows or blob shadows, or any kind of shadows unless it is extremely necessary. Shadows are extremely expensive to use. You can fake shadows with a plane at bottom of an object and black texture on it easily.

08Reducing draw calls, use static batching (Static check box on top right) for the objects do not move or rotate to reduce CPU power

09RigidBodies, use less rigid bodies if possible, especially for objects do not move.

10Learn about Update, FixedUpdate, LateUpdate, and make sure you use the right one for right purpose. For example, rigid body forces should be handled in FixedUpdate. Additionally, do not forget any empty update function in scripts.

11Play with FixedTimeStep int Time Settings. You may set it a bit higher to gain couple more frame rate.

12Optimised Mesh Data, check this in Player Settings. This will remove unused meshes from the game, and increased performance.

13Play with quality settings in Quality section. This can change the look of the game, and improve performance.

14Try to use C# as language, it is a compiled and faster language. Many people reports that, C# performs much better than JavaScript and Boo. Moreover taking advantage of Object-Oriented Programming is great, this will lead much reliable and maintainable codes.

15Colliders, mesh colliders are very expensive. Best type of collider for mobile is Box Colliders. Try to use the box colliders, when you need colliders.

16Use compressed textures, this will help to improve rendering performance.

0 yorum:

Yorum Gönder