Legacy Documentation: Version 5.1
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

LightProbes.bakedProbes

Switch to Manual
public var bakedProbes: SphericalHarmonicsL2[];

Description

Coefficients of baked light probes.

#pragma strict
public var m_Ambient;
public var m_Lights;

// On start add the contribution of the ambient light and all lights // assigned to the lights array to all baked probes. function Start() { var bakedProbes = LightmapSettings.lightProbes.bakedProbes; var probePositions = LightmapSettings.lightProbes.positions; var probeCount = LightmapSettings.lightProbes.count;

// Clear all probes for (var i = 0; i < probeCount; i++) bakedProbes[i].Clear();

// Add ambient light to all probes for (var i = 0; i < probeCount; i++) bakedProbes[i].AddAmbientLight(m_Ambient);

// Add directional and point lights' contribution to all probes for (var l in m_Lights) { if (l.type == LightType.Directional) { for (var i = 0; i < probeCount; i++) bakedProbes[i].AddDirectionalLight(-l.transform.forward, l.color, l.intensity); } elseif (l.type == LightType.Point) { for (var i = 0; i < probeCount; i++) SHAddPointLight(probePositions[i], l.transform.position, l.range, l.color, l.intensity, bakedProbes[i]); } } LightmapSettings.lightProbes.bakedProbes = bakedProbes; }

function SHAddPointLight(probePosition, position, range, color, intensity, sh) { // From the point of view of an SH probe, point light looks no different than a directional light, // just attenuated and coming from the right direction. var probeToLight = position - probePosition; var attenuation = 1.0F / (1.0F + 25.0F * probeToLight.sqrMagnitude / (range * range)); sh.AddDirectionalLight(probeToLight.normalized, color, intensity * attenuation); }