The range of each point of the light.
Since area lights have a light emitting surface instead of a single point, the cumulative range of the light is larger than this property. This larger range can be read from the Light.dilatedRange property. For non-area lights, Light.range and Light.dilatedRange return the same value.
另请参阅:Light component。
using UnityEngine;
public class Example : MonoBehaviour { // Pulse light's range between original range // and half of the original one
float duration = 3.0f; float originalRange;
Light lt;
void Start() { lt = GetComponent<Light>(); originalRange = lt.range; }
void Update() { var amplitude = Mathf.PingPong(Time.time, duration);
// Transform from 0..duration to 0.5..1 range. amplitude = amplitude / duration * 0.5f + 0.5f;
// Set light range. lt.range = originalRange * amplitude; } }