Version: 2023.2
LanguageEnglish
  • C#

ReflectionProbe

class in UnityEngine

/

Inherits from:Behaviour

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Description

The reflection probe is used to capture the surroundings into a texture which is passed to the shaders and used for reflections.

The properties are an exact match for the values shown in the Inspector.

This class is a script interface for a reflection probe component.

Reflection probes are usually just created in the Editor, but sometimes you might want to create a reflection probe from a script:

using UnityEngine;
using UnityEditor;

public class ProbeCreator { [MenuItem("ReflectionProbe/CreateRealtimeProbe")] public static void RealtimeProbe() { // Add a GameObject with a ReflectionProbe component GameObject probeGameObject = new GameObject("Realtime Reflection Probe"); ReflectionProbe probeComponent = probeGameObject.AddComponent<ReflectionProbe>(); // The probe will contribute to reflections inside a box of size 10x10x10 centered on the position of the probe probeComponent.size = new Vector3(10, 10, 10);

// Set the type to realtime and refresh the probe every frame probeComponent.mode = UnityEngine.Rendering.ReflectionProbeMode.Realtime; probeComponent.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.EveryFrame; } }

Static Properties

defaultTextureThe surface texture of the default reflection probe that captures the environment contribution. Read only.
defaultTextureHDRDecodeValuesHDR decode values of the default reflection probe texture.

Properties

backgroundColorThe color with which the texture of reflection probe will be cleared.
bakedTextureReference to the baked texture of the reflection probe's surrounding.
blendDistanceDistance around probe used for blending (used in deferred probes).
boundsThe probe's world space axis-aligned bounding box in which the probe can contribute to reflections (Read Only).
boxProjectionShould this reflection probe use box projection?
centerThe center of the probe's bounding box in which the probe can contribute to reflections. The center is relative to the position of the probe.
clearFlagsHow the reflection probe clears the background.
cullingMaskThis is used to render parts of the reflecion probe's surrounding selectively.
customBakedTextureReference to the baked texture of the reflection probe's surrounding. Use this to assign custom reflection texture.
farClipPlaneThe far clipping plane distance when rendering the probe.
hdrShould this reflection probe use HDR rendering?
importanceReflection probe importance.
intensityThe intensity modifier that is applied to the texture of reflection probe in the shader.
modeShould reflection probe texture be generated in the Editor (ReflectionProbeMode.Baked) or should probe use custom specified texure (ReflectionProbeMode.Custom)?
nearClipPlaneThe near clipping plane distance when rendering the probe.
realtimeTextureReference to the real-time texture of the reflection probe's surroundings. Use this to assign a RenderTexture to use for real-time reflection.
refreshModeSets the way the probe will refresh.Additional resources: ReflectionProbeRefreshMode.
renderDynamicObjectsSpecifies whether Unity should render non-static GameObjects into the Reflection Probe. If you set this to true, Unity renders non-static GameObjects into the Reflection Probe. If you set this to false, Unity does not render non-static GameObjects into the Reflection Probe. Unity only takes this property into account if the Reflection Probe's Type is Custom.
resolutionResolution of the underlying reflection texture in pixels.
shadowDistanceShadow drawing distance when rendering the probe.
sizeThe size of the probe's bounding box in which the probe can contribute to reflections. The size is in world space.
textureTexture which is passed to the shader of the objects in the vicinity of the reflection probe (Read Only).
textureHDRDecodeValuesHDR decode values of the reflection probe texture.
timeSlicingModeSets this probe time-slicing modeAdditional resources: ReflectionProbeTimeSlicingMode.

Public Methods

IsFinishedRenderingChecks if a probe has finished a time-sliced render.
RenderProbeRefreshes the probe's cubemap.
ResetRevert all ReflectionProbe parameters to default.

Static Methods

BlendCubemapUtility method to blend 2 cubemaps into a target render texture.
UpdateCachedStateUpdates the culling system with the ReflectionProbe's current state. This ensures that Unity correctly culls the ReflectionProbe during rendering if you implement your own runtime reflection system.

Events

defaultReflectionSetAdds a delegate to get notifications when the default specular Cubemap is changed.
defaultReflectionTextureAdds a delegate to get notifications when the default specular Cubemap is changed.
reflectionProbeChangedAdds a delegate to get notifications when a Reflection Probe is added to a Scene or removed from a Scene.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.