Skip to main content

Optimization Tip #1 - Windows As Textures

A lot of games back before the super consoles of PS3 or the XBox 360, companies had to go to extra lengths to save on faces to boost the performance. Technology throughout the past 10 years has grown tremendously advanced for such a short period of time. We are though, still not to the point of having the ability to run the graphics of a PS3's prestige on an everyday tablet and not have major issues. All developers have to optimize their games of course, especially those who are developing for android or IOS. One way everyone has seen is UV mapping entire buildings with a texture. Doors and windows are flat and look like some one cut pictures out of a magazine and glued them on a cardboard box as part of an art project.

Now I'm not denouncing the method, its actually kind of crazy to think of trying to model a building in crazy detail. A lot of what makes a realistic looking model is the detail of the texture, instead of the complexity of the it's mesh. Big games like Call of Duty: MW3 still have not so complex buildings but still apply very detailed textures to make them realistic. This is a great way to make a computationally cheap building, especially one to put in the distance as something to glance over, or at least not to have too much attention on. Of course sometimes you just need low poly buildings because your selected platform does not have the kind of power to process today's graphics. I would like to give you a comparison on how much just changing windows to textures on a building can combat lag in your game.

Now I'm not a what you could call a true 3D modeler. I use a program called Google sketch-up to model buildings. I can not animate, rig, or even UV map textures. Nor does it include any of the editing tools blender contains. The program is as simple as Microsoft paint, but it is a 3D modeling software and has vertices and faces like any other model.




This building has a total of  2,133 faces taking up 641 KB of space on my computer. When nine instances of the model was placed alone in a scene on Unity, the scene contained a total of 77.3k vertices.

Now this building has had it's windows mesh altered and have had a texture applied to compensate for the changes. I simply took a screen shot of a window in orthographic view of the model, brought it into paint to crop, and then just applied to the model. The model has been reduced to 449 faces! The model also now takes up only 279 KB of memory. Part of the reason for such a drastic change is due to the windows being curved at the top, accounting for more faces than a regular straight line would of used.Now when nine instances where placed under the same conditions as the other model had, the scene now only contained a total of 13.6 k vertices.

Comments

Popular posts from this blog

How To Make a Hellish Looking Sky Box

I came across this problem while constructing my scene of Hell in a little project I've been working on, and could not find a reasonable sky box on the web for what I want. Maybe I was not looking hard enough, but I ended up making nice substitute. If you think the sky box looks familiar, then your right. The Sky box I'm using is already packaged with Unity3D! To import the sky boxes Unity has made for you,  simply go to Assets>Import Package>Skyboxes.  The sky boxes will appear in your projects tab under a folder named "Standard Assets". To make this sky box, first you must find the folder containing all the sky box materials and open it up. In it will be a list of sky boxes for your disposal. To get this skybox, I decided to tweak the "StarryNight Skybox" (But the "MoonShine Skybox" looks pretty cool also!).  Select the sky box and view it under the inspector tab. Underneath the properties there will be a tint color variable allowin

Making A Laser Pointer

Want a frieking lazer pointer? BOOM. Attach a Line Renderer component to the object you have the script below attached to. (Component> Miscellaneous>Line Renderer) Code: function Update () { var lineRenderer : LineRenderer = GetComponent(LineRenderer); lineRenderer.useWorldSpace = false; lineRenderer.SetVertexCount(2); var hit : RaycastHit; Physics.Raycast(transform.position,transform.forward,hit); if(hit.collider){ lineRenderer.SetPosition(1,Vector3(0,0,hit.distance)); } else{ lineRenderer.SetPosition(1,Vector3(0,0,5000)); } } @script RequireComponent(LineRenderer) Thank  3dDude for the script. Original Source here .

How To Make A Gun Shot Sound (SFX On Unity 3D)

When it comes to audio in Unity, there are four components: Audio Clip , Audio Source , Audio Listener , and Audio Re-verb Zone . Audio Clips are the actual audio file imported into your game. Unity supports file formats: .aif, .wav, .mp3, and .ogg. When imported, you can compress them greatly, with the price of loosing some quality. You can do this by first selecting the audio clip, view it in the inspector. Under the Audio Importer component, you can switch the audio format from Native to the audio clip, to a compressed format applied by Unity. You can change how compressed the file is by dragging the bar at the bottom, then hitting apply. You can get plenty of free good SFX from a site called  freesound.org . All you have to do is create an account for free , and download all the sounds you want. I found a nice gun shot sound here . Simply download and load into your Project. Audio Source actually plays the audio clip in your scene. They are an component, so it mu