Table of Contents

Lab 7: Special Effects

Goal

The goal of this lab is to try out and appreciate some very simple but effective techniques for producing a more life-like environment. Essentially a few well-placed illusions.

Documentation

Procedure

  1. Make an Environment Create any enironment you want, but make sure that you have a visible sun in the sky. If your skybox does not contain a circular disk representing the sun, you can turn on the Halo property of the Directional Light to make the light source visible in a way that resembles a sun. Also make sure you have at least one indoor location where a sun can shine through some kind of an opening (e.g. window or cracks). Place and rotate such strucures until you are sure the sun can be seen through some of the openings. If you are importing ready-mader objects, make sure they are not using Legacy shaders, if they are, turn them into Standard shaders. Import the Characters asset package and replace the Main Camera with a FPSController.
  2. Tweak Lighting Open the Window→Lighting panel and play with the Ambient settings to make the indoor lighting in particular feel more realistic. If the Ambient Source is the skybox, then the coloring of the indoor walls will match the coloring of the sky, which may not make any sense. Try switching to Color and chosing a tint that better matches the atmosphere you are creating inside. Also lower the Ambient Intensity to create a bigger contrast between the inside and outside lighting, and to make shadows more intense. To further increase the contrast between lit and unlit areas, you can lower the Reflection Intensity as well (this is the amount of light received as a reflection from other objects).
  3. Add Ambient Occlusion First notice how the seams where polygons meet the ground and each other at inside corners, seem too evenly lit - you would expect that corners would be slightly darker than the surrounding flat surfaces. Those corners should be darker because the surfaces there have access to less ambient light, as they are partially occluded by another surface. The effect that is needed is called ambient occlusion, and it can be added as a post-processing step attached to the rendered frame. Import the Effects asset package. Add the Image Effects→Rendering→Screen Space Ambient Occlusion script to your FPSController→FirstPersonCharacter game object. Play with its settings and look in particular at the seams where different polygons meet. Also try out the Image Effects→Rendering→Screen Space Ambient Obscurance script which has more or less the same effect, but may have less side-effects (such as odd shadows in the leaves of trees).
  4. Add Sun Shaft Add the Image Effect→Rendering→Sun Shafts script to your FPSController→FirstPersonCharacter game object. Drag your Directional Light into its Shafts caster property. Drag the Directional Light higher up into the sky, in the direction of the Sun in the skybox (you can turn on the Halo property of the Directional Light to see the light as a glowing disk, which you can line up with the skybox sun, so that the light will seem to come from that direction (try moving around the environment to check if the halo disk stops covering the skybox sun when you change your location. You will find that you really need to place the directional light super-super-far-away for it to remain more or less stationary in the sky because of the motion parallax effect). Move to a location in the scene where the sun is barely visible (e.g. through a window). Play with the Sun Shaft parameters.
  5. Add Particle Effect Add an effect that emulates dust particles visible inside the rays of sun that penetrate your indoor environment. Right above your Hierarchy panel select Particle System from the Create drop-down menu. It should already be producing shiny little particles. Place the system right where beams of light hit the floor of your indoor environment and rotate it so that the particles travel in the direction of the beams towards the opening where the light shines through. Look at the parameters you can adjust in the Inspector panel for the particle system. You need to make these particles imitate very small dust moving very slowly through the air. You can play with the following adjustments:
    • In the Shape module: Select the Box emitter shape. This will shoot the particles in one direction (which you can control by rotating the box).
    • In the Emission module: Slow down the rate of particle generation until you just get a few per second (e.g. 3 per second or so).
    • In the Particle System general parameter module: Play with Start Speed and Start Size. Make them really really small! If you press the down arrow next to a parameter value, you can choose from some dynamic options instead of just using a constant value. For example, try making the speed random.
    • In the Color over Lifetime module (you have to first add a check mark to include this module): Click on the color bar to open the Gradient Editor. Make the particles fade in from full transparency to full opacity and then again back to full transparency. To do this you need to add one new Alpha marker in the middle, which you set to full opacity (Alpha 255), while setting the other two Alpha markers to full transparency (Alpha 0).