【发布时间】:2015-11-20 20:57:19
【问题描述】:
using UnityEngine;
using System.Collections;
public class underWater : MonoBehaviour {
public float uwaterLevel=15f;
public Color normalColor;
public Color underWaterColor;
void Start () {
normalColor = new Color (0.5f,0.5f,0.5f,0.5f);
underWaterColor = new Color (0.22f,0.65f,0.77f,0.5f);
}
void Update () {
Debug.Log (uwaterLevel);
Debug.Log (transform.position.y);
if(Camera.main.transform.position.y<uwaterLevel){
Debug.Log("Underwater Update");
setUnderWater();
}else{
Debug.Log("Normal Update");
setNormal();
}
}
public void setUnderWater(){
Debug.Log("Under Water");
RenderSettings.fog = true;
RenderSettings.fogDensity = 0.05f;
RenderSettings.fogColor = underWaterColor;
}
public void setNormal(){
Debug.Log("Normal");
RenderSettings.fog = true;
RenderSettings.fog = false;
RenderSettings.fogDensity = 0.003f;
RenderSettings.fogColor = normalColor;
}
}
如何检测我的角色是否在水下?水高于地面(山间的湖),所以我不能使用负 Y 轴。我正在使用 Unity Standard Assests 中的 FPSController。
【问题讨论】:
标签: unity3d game-engine unityscript