Remove(LightProbes)
Unregisters a LightProbes object from the light probe system, removing it from rendering.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
public static void Remove(LightProbes lightProbes)
Parameters
The object to unregister.
LightProbesRemarks
After calling , call LightProbes.Tetrahedralize or LightProbes.TetrahedralizeAsync to apply the changes.
RemoveEach call to decrements the internal reference count for . When the count reaches zero, the object's probes are no longer registered for use in rendering.
RemovelightProbesRemoveLightProbesAdditional Resources: LightProbes.Append, LightProbes.IsActive, LightProbes.GetReferenceCount, LightProbes.needsRetetrahedralization.
Examples
// Attach this script to a GameObject, then enter Play mode.// The script spawns a cloud of randomly placed light probes,// which affects rendering immediately.// Destroying the GameObject removes the probes again.using UnityEngine;using UnityEngine.Rendering;public class SpawnLightProbes : MonoBehaviour{ public int count = 100; public float radius = 5; LightProbes probes; void Start() { probes = new LightProbes(count); Vector3[] positions = new Vector3[count]; SphericalHarmonicsL2[] coefficients = new SphericalHarmonicsL2[count]; for (int i = 0; i < count; i++) { positions[i] = transform.position + Random.insideUnitSphere * radius; SphericalHarmonicsL2 sh = new SphericalHarmonicsL2(); sh.AddAmbientLight(Color.Lerp(Color.red, Color.blue, Random.value)); coefficients[i] = sh; } probes.SetPositionsSelf(positions, false); probes.SetSHCoefficientsSelf(coefficients); LightProbes.Append(probes); LightProbes.Tetrahedralize(); } void OnDestroy() { LightProbes.Remove(probes); LightProbes.Tetrahedralize(); }}