- Home /
need help with javascript for underwater blur effect
I have an underwater script that produces a fog effect and I am trying to make a blur effect as well, but when I tried adding the blur, I get the error:
NullReferenceException: Object reference not set to an instance of an object
Here is the script I am using:
var underwaterLevel = 19;
private var defaultFog;
private var defaultFogColor;
private var defaultFogDensity;
private var defaultSkybox;
var noSkybox : Material;
function Start () {
defaultFog = RenderSettings.fog;
defaultFogColor = RenderSettings.fogColor;
defaultFogDensity = RenderSettings.fogDensity;
defaultSkybox = RenderSettings.skybox;
camera.backgroundColor = Color (0, 0.4, 0.7, 1);
}
function Update () {
if (transform.position.y < underwaterLevel) {
RenderSettings.fog = true;
RenderSettings.fogColor = Color (.5, .6, .6, .6);
RenderSettings.fogDensity = 0.08;
RenderSettings.skybox = noSkybox;
GetComponent("BlurEffect").enabled = true;
}
else {
RenderSettings.fog = defaultFog;
RenderSettings.fogColor = defaultFogColor;
RenderSettings.fogDensity = defaultFogDensity;
RenderSettings.skybox = defaultSkybox;
GetComponent("BlurEffect").enabled = false;
}
}
Anyone know what I need to change to fix this? I'm using version 3.5
The part that is giving errors is this:
GetComponent("BlurEffect").enabled = true;
You never did an AddComponent("BlurEffect")
in your code, so you're calling a non-existent Component
and attempting to access a variable on this null object.
Answer by You! · Jun 15, 2012 at 06:13 AM
I'm thinking that "BlurEffect" is a script... Which object is the script attached to? You might need to create a variable for that game object (to be set in the inspector)...
var scriptObj : GameObject;
...and then use that to call for the variable:
scriptObj.GetComponent("BlurEffect").enabled = true;
I did have to change
var scriptObject : GameObject;
to
var scriptObject : Component;
Your answer
Follow this Question
Related Questions
Camera Effect for partially Underwater View 0 Answers
Can you use a camera effect that only applies to a certain layer? 1 Answer
how to blur an object and then sharpen the edges? 0 Answers
Primitive Nitro Effect 1 Answer
Simulate Shutter Speed 1 Answer