Ok I am making a 2D side scroller and I am trying to add an Invisibility effect where it turns down the player opacity but also makes it so the enemys cant see you. Right now though I am only trying to make the player go invisible.
Here is my script but for some reason it wont work.
var invisible;
if (Input.GetKeyDown (“q”))
{
GetComponent(MeshRenderer).enabled = false;
}
if (Input.GetKeyUp (“q”))
{
GetComponent(MeshRenderer).enabled = true;
}
You need to check the keyup and keydown events every frame in order to perform any action. The Update function is called by Unity automatically each frame, so just do this in Update, like this:
function Update()
{
if (Input.GetKeyDown ("q"))
{
//GetComponent(MeshRenderer).enabled = false;
GetComponent(MeshRenderer).material.color.a = 0.3;
}
if (Input.GetKeyUp ("q"))
{
//GetComponent(MeshRenderer).enabled = true;
GetComponent(MeshRenderer).material.color.a = 1;
}
}
I changed the example. Now you need a transparent shader on your character. The colors alpha value (color.a) specifies the opacity (1.0 == 100% opaque; 0.0 == 100% transparent).