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. Я использую FPSController от Unity Standard Assests.Подводный мир в единстве5