public static int GetCurrentLOD(this LODVolume.LODGroupHelper lodGroupHelper, Camera camera = null, Vector3?cameraPosition = null) { var lods = lodGroupHelper.lods; camera = camera ?? Camera.current; cameraPosition = cameraPosition ?? camera.transform.position; var relativeHeight = lodGroupHelper.GetRelativeHeight(camera, cameraPosition.Value); return(GetCurrentLOD(lods, lodGroupHelper.GetMaxLOD(), relativeHeight, camera)); }
public static void SetEnabled(this LODVolume.LODGroupHelper lodGroupHelper, bool enabled) { var lodGroup = lodGroupHelper.lodGroup; if (lodGroup.enabled != enabled) { lodGroup.enabled = enabled; SetRenderersEnabled(lodGroupHelper.lods, enabled); } }
public static int GetMaxLOD(this LODVolume.LODGroupHelper lodGroupHelper) { return(lodGroupHelper.maxLOD); }
static float GetRelativeHeight(this LODVolume.LODGroupHelper lodGroupHelper, Camera camera, Vector3 cameraPosition) { var distance = (lodGroupHelper.referencePoint - cameraPosition).magnitude; return(DistanceToRelativeHeight(camera, distance, lodGroupHelper.worldSpaceSize)); }