Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Setting up occlusion culling

From: Unity 4.3 Essential Training

Video: Setting up occlusion culling

Optimization for smooth play is something that should more and more objects are overlaid, we get a I'll change the children, because that way, I'll click Bake with nothing selected and it My occlusion is baked and I'm seeing that overdraw culled way down.

Setting up occlusion culling

Optimization for smooth play is something that should be in the forefront of the game designer's mind. Now, we should be making beautiful art and putting it around a place that's new and exciting to play in, crafting an immersive environment. But, at the same time, it has to work well. A beautiful game that's buggy and plays slow doesn't do anybody any good. Conversely, there are some games that are looking decent but play wonderfully, and are immersive time and time again. We can do a lot on the back end to optimize how our game plays.

And actually we've been doing some of it already. Making pre-fabs and cloning them around. This is a terrific one, because it helps optimize how many objects we're actually using. We can also do a lot of optimization with things like limiting down lights to only hit certain layers. And culling down other objects so that we're being very picky about exactly what interactions are taking place. When you're ready to optimize on a more global level what the camera sees. You can use a clusion culling and what this does is to limit down how much we see if it's blocked by another object.

I'll go into my scene and turn on the overdraw so we can get a good idea of what's going on. I'm here in building b and I'm going to look out the windows towards the other buildings. I'll drop down where it says RGB and choose Overdraw. What we can see here is that objects are drawn at a transparent red, and as more and more and more objects are overlaid, we get a brighter color, showing we are overdrawing more and more things. Now here's where this really starts to kick in. When we turn back on the water, and turn on the terrain, we'll see a tremendous amount of over drawing going on.

terrain, we'll see a tremendous amount of over drawing going on. Finally, with the effects back on, we'll even see how bright those get. What this means then, is if we can limit down what the camera sees, we can get a smoother and faster game play. And so we'll use our occlusion color. I'll choose Window and Occlusion Culling from the top menu. The idea in Occlusion Culling is, we're going to mark things as static, anything that doesn't move. And then, bake out zones of Occlusion. I'll start out by marking things as static.

I'll pick all of my solid walls. Picking one, holding Shift, picking the last one and, over in the inspector, checking static. This way these objects we marked as not moving and can be called down, I'll scroll up and look at the other pieces. The waiting ammo's move so they may not call well, but some of the other things will. The master building really only has some movement on the doors. French doors four, six, 11, 13 and 20. So I'm going to pick this master building, and mark it as static, and then come back and choose those objects.

I'll change the children so they're all marked static, then I'll open them up and go look at those French doors. Here in the gallery, I'll scroll down, and there's my French doors. French doors four, six, 11, 13 and 20. And these five I will uncheck as being not static. I'm ready to try a bake. There might be some other objects I can catch, but I'll see how this behaves first. Actually, before I do, I'll look at the art. I know that the paintings don't move, so I can pick all of the art p for paintings.

And check them as static as well. I'll change the children, because that way, it'll catch the painting in the frame. And I'll go back to the occlusion window. What this says is, it's going to bake the things that are static, occluder and occludee. Meaning, it'll look at, is it static on it's own, and is it static being blocked? I'll click Bake with nothing selected and it will take a minute and bake out that exclusion. My occlusion is baked and I'm seeing that overdraw culled way down. Now I do have a message at the bottom. Some renderers use a transparent shader but are marked as acluderstatic.

What this means is I need to go through that scene and look at all the glass objects and uncheck them as static. This way I can see through the glass properly. But I'll take a look at it, and see how it plays. It definitely looks more optimized. There's not nearly as much of that giant white in the background where so many objects are clumping together. I'll switch back to RGB mode. And I'm here in my scene. I'll press Play and see how it looks. Here in my scene, I'm getting some varied results. What I'm seeing, is that in some places, things are winking in and out.

And what this means, is that my inclusion distance isn't quite set right. It's definitely helping. I'm watching my draw calls go way down. But I'm definitely seeing some flickering in the background, and things coming and going. Inside, I can still knock over the art, and that's working nicely. And the inside of the building looks good. But I do need to fine tune that occlusion. This may take some time. And it may take some time to go through and tag things, think through the Bake, and think about how it's working. What we can look at in that eclusion then, is in the Bake section.

How big are we dealing with? How big is the back-face threshold? What's going on in terms of, how far are we seeing? And how are our objects that are transparent reacting? What I should do is to go through this building. Opening up that gallery and selecting those glass objects. For example, here's one of those outside metal screens. This one probably shouldn't be a static because we should be able to see through slightly. I can pick all of the screen objects at once and uncheck them. It will take some judicious checking, but I can make sure that the inclusion is working correctly and not clicking out more of the surrounding and environment than it should.

of the surrounding and environment than it should. When you got it ready you can go back into the occlusion, clear off the initial bake and bake it again. This is a terrific way to save draw calls because it says don't draw if we can't see it. So make sure you work with the occlusion culling and really cull down how many things are actually showing up in your view.

Show transcript

This video is part of

Image for Unity 4.3 Essential Training
Unity 4.3 Essential Training

78 video lessons · 8853 viewers

Adam Crespi

Expand all | Collapse all
  1. 2m 57s
    1. Welcome
    2. What you should know before watching this course
    3. Using the exercise files
      1m 24s
  2. 21m 21s
    1. Designing the game
      4m 39s
    2. Setting the project
      4m 9s
    3. Exploring the Hierarchy, Scene, and Inspector windows
      5m 45s
    4. Creating and transforming objects
      6m 48s
  3. 21m 34s
    1. Organizing the Assets window
      2m 55s
    2. Exporting objects from 3D modeling programs
      8m 33s
    3. Importing and configuring models and textures
      4m 54s
    4. Setting properties for models and textures in the Inspector
      5m 12s
  4. 29m 8s
    1. Introducing the game environment
      4m 27s
    2. Placing the player controller
      4m 29s
    3. Publishing project settings
      5m 32s
    4. Adding sky and fog
      8m 17s
    5. Fine-tuning the First Person Controller
      6m 23s
  5. 57m 25s
    1. Creating the terrain geometry
      3m 29s
    2. Forming the topography
      9m 54s
    3. Painting the terrain textures
      7m 9s
    4. Painting trees and forests
      10m 55s
    5. Painting grass, shrubs, and 3D geometry
      9m 38s
    6. Painting detail meshes
      8m 46s
    7. Adjusting terrain settings
      7m 34s
  6. 39m 45s
    1. Creating materials and assigning shaders
      8m 56s
    2. Handling multiple materials
      7m 13s
    3. Adding textures to a material
      3m 57s
    4. Manipulating textures
      5m 20s
    5. Adding reflections to materials
      8m 1s
    6. Creating lit materials
      6m 18s
  7. 47m 12s
    1. Creating GameObjects
      5m 2s
    2. Understanding components
      6m 15s
    3. Using colliders for barriers
      6m 22s
    4. Using colliders for triggers
      8m 1s
    5. Exploring physics
      8m 22s
    6. Working with Physic materials
      5m 3s
    7. Adding joints to rigid bodies
      8m 7s
  8. 20m 33s
    1. Setting up prefabs for animation and batching
      5m 8s
    2. Animating an object
      6m 32s
    3. Adjusting timing in an animation
      3m 50s
    4. Animating transparency and lights
      5m 3s
  9. 11m 58s
    1. Importing skinned meshes
      4m 51s
    2. Separating animations into clips and states
      3m 14s
    3. Creating transitions between states
      3m 53s
  10. 30m 22s
    1. Customizing ambient light
      2m 59s
    2. Creating the sun using a directional light
      5m 49s
    3. Using layers and tags for lighting
      3m 32s
    4. Adding spot and point lights
      4m 25s
    5. Using point lights for fill
      4m 30s
    6. Adding and fine-tuning shadows
      5m 10s
    7. Creating lighting effects with cookies
      3m 57s
  11. 9m 15s
    1. Adding scripts to GameObjects
      2m 42s
    2. Using correct script syntax
      6m 33s
  12. 23m 7s
    1. Setting up a 2D project
      3m 13s
    2. Importing sprites
      2m 30s
    3. Slicing in the Sprite Editor
      3m 6s
    4. Layering sprites and setting the sorting order
      5m 12s
    5. Creating 2D colliders
      3m 12s
    6. Adding 2D physics
      2m 25s
    7. Animating 2D elements
      3m 29s
  13. 30m 25s
    1. Creating light shafts and sunbeams
      5m 20s
    2. Using ambient occlusion to add gravity
      4m 37s
    3. Adding depth of field
      8m 40s
    4. Applying motion blur
      5m 46s
    5. Tuning color for mood
      6m 2s
  14. 38m 16s
    1. Exploring water effects
      7m 36s
    2. Working with wind zones
      2m 8s
    3. Using an audio source
      4m 3s
    4. Creating a sound zone
      5m 59s
    5. Triggering audio
      3m 37s
    6. Adding audio effects
      3m 13s
    7. Creating particle systems
      2m 26s
    8. Adjusting particle systems
      9m 14s
  15. 25m 23s
    1. Setting up occlusion culling
      5m 52s
    2. Enabling batching to reduce draw calls
      3m 28s
    3. Testing in the game window using statistics
      4m 27s
    4. Building a development build and debugging
      6m 0s
    5. Building the executable
      5m 36s
  16. 49s
    1. Next steps

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed Unity 4.3 Essential Training.

Return to your organization's learning portal to continue training, or close this page.

Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?


Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.