Version: 2023.2
public float range ;

描述

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; } }