Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //LOD system for unity free by James Arndt
- #pragma strict
- public var distanceRanges : float [];
- public var lodModels : GameObject [];
- private var current = -2;
- public var playerCamera : Camera;
- function Start ()
- {
- for (var i = 0; i < lodModels.Length; i ++)
- {
- lodModels[1].SetActiveRecursively(false);
- }
- }
- function Update ()
- {
- var d = Vector3.Distance(playerCamera.transform.position, transform.position);
- var level = -1;
- for (var i = 0; i < distanceRanges.Length; i++)
- {
- if (d < distanceRanges[i])
- {
- level = i;
- i = distanceRanges.Length;
- }
- }
- if (level == -1)
- {
- level = distanceRanges.Length;
- }
- if (current != level)
- {
- ChangeLOD(level);
- }
- }
- function ChangeLOD(level)
- {
- lodModels[level].SetActiveRecursively(true);
- if (current >= 0)
- {
- lodModels[current].SetActiveRecursively(false);
- }
- current = level;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement