学习u3d第一次加入js代码——水中效果

在场景上创建一个名为"waterColler"的cube, 并设置它是可触发碰撞 (is Trigger)和不在场景渲染(取消勾选Mesh Renderer)。把下面的js拖入场景中的camera,这样当camera进入这个"waterColler"时就会看到雾的效果,即在水中的视觉效果。

#pragma strict

private var defaultFog : boolean;
private var defaultFogColor : Color;
private var defaultFogDensity : float;
private var defaultSkybox : Material;
var noSkybox : Material;

function Start () {
defaultFog = RenderSettings.fog;
defaultFogColor = RenderSettings.fogColor;
defaultFogDensity = RenderSettings.fogDensity;
defaultSkybox = RenderSettings.skybox;
}

function Update () {

}

function OnTriggerStay (hit : Collider)
{
if(hit.gameObject.tag=="WaterColler"){
RenderSettings.fog = true;
RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);
RenderSettings.fogDensity = 0.04;
RenderSettings.skybox = noSkybox;
}
}

function OnTriggerExit (hit : Collider) {
if(hit.gameObject.tag=="WaterColler"){
RenderSettings.fog = defaultFog;
RenderSettings.fogColor = defaultFogColor;
RenderSettings.fogDensity = defaultFogDensity;
RenderSettings.skybox = defaultSkybox;
}
}

猜你喜欢

转载自495142450.iteye.com/blog/2265564
今日推荐