Append(LightProbes)
Registers a LightProbes object with the light probe system for use in rendering.
Read time 1 minuteLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
public static void Append(LightProbes lightProbes)
Parameters
The object to register.
LightProbesRemarks
Call LightProbes.Tetrahedralize or LightProbes.TetrahedralizeAsync after appending to apply the changes.
Each call to increments an internal reference count. The object remains active until a corresponding number of LightProbes.Remove calls bring the count back to zero.
AppendAppendLightProbesAdditional Resources: LightProbes.Remove, 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(); }}