private void Update() { /* * if(gameObject.renderer.enabled == false) * { * //Debug.Log("[TerrainLOD] We should not call Update for disabled LODs!"); * return; * }*/ if (currentTimeToInterval <= 0.0f) { float distanceFromObject = Vector2.Distance(new Vector2 (Camera.main.transform.position.x, Camera.main.transform.position.z), new Vector2(gameObject.transform.position.x, gameObject.transform.position.z)); if (distanceFromObject < DistanceLOD1 && LOD != LOD_LEVEL.LOD0) { LOD = LOD_LEVEL.LOD0; LOD0.enabled = true; LOD1.enabled = false; LOD2.enabled = false; //Debug.Log("LOD0"); } else if (distanceFromObject >= DistanceLOD1 && distanceFromObject < DistanceLOD2 && LOD != LOD_LEVEL.LOD1) { LOD = LOD_LEVEL.LOD1; LOD0.enabled = false; LOD1.enabled = true; LOD2.enabled = false; //Debug.Log("LOD1"); } else if (distanceFromObject >= DistanceLOD2 && LOD != LOD_LEVEL.LOD2) { LOD = LOD_LEVEL.LOD2; LOD0.enabled = false; LOD1.enabled = false; LOD2.enabled = true; //Debug.Log("LOD2"); } // Reset check timer. currentTimeToInterval = UpdateInterval; } else { currentTimeToInterval -= Time.deltaTime; } }
public void SetLODLevel(LOD_LEVEL lodLevel) { m_LODLevel = lodLevel; _OnLODChanged(); }