Version: 2020.1

ReflectionProbe

class in UnityEngine

/

继承自:Behaviour

切换到手册

描述

反射探针用于将周围环境捕获为纹理,纹理将传递给着色器并用于反射。

属性与 Inspector 中显示的值完全匹配。

此类是 reflection probe 组件的脚本接口。

通常只在 Editor 中创建反射探针,但有时需要从脚本创建反射探针:

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // Make a game object GameObject probeGameObject = new GameObject("The Reflection Probe");

// Add the reflection probe component ReflectionProbe probeComponent = probeGameObject.AddComponent<ReflectionProbe>() as ReflectionProbe;

// Set texture resolution probeComponent.resolution = 256;

// Reflection will be used for objects in 10 units around the position of the probe probeComponent.size = new Vector3(10, 10, 10);

// Set the position (or any transform property) probeGameObject.transform.position = new Vector3(0, 5, 0); } }

静态变量

defaultTexture用于所有反射探针之外的纹理(只读)。
defaultTextureHDRDecodeValues默认反射探针纹理的 HDR 解码值。

变量

backgroundColor用于清除反射探针纹理的颜色。
bakedTexture引用反射探针周围环境的烘焙纹理。
blendDistance用于混合的探针周围距离(在延迟探针中使用)。
bounds反射探针的包围体积(只读)。
boxProjection此反射探针是否应使用盒体投影。
center将在其中将反射应用于对象的盒体区域的中心。在探针的本地空间中测量。
clearFlags反射探针清除背景的方式。
cullingMask用于选择性地渲染反射探针周围的某些部分。
customBakedTexture引用反射探针周围环境的烘焙纹理。使用此变量可分配自定义反射纹理。
farClipPlane渲染探针时的远裁剪面距离。
hdr此反射探针是否应使用 HDR 渲染?
importance反射探针重要性。
intensity在着色器中应用于反射探针纹理的强度修改器。
mode应在 Editor 中生成反射探针纹理 (ReflectionProbeMode.Baked) 还是探针应使用自定义指定纹理 (ReflectionProbeMode.Custom)?
nearClipPlane渲染探针时的近裁剪面距离。
realtimeTexture引用反射探针周围环境的实时纹理。使用此变量可分配用于实时反射的 RenderTexture。
refreshMode设置探针的刷新方式。另请参阅:ReflectionProbeRefreshMode。
resolution底层反射纹理的分辨率(以像素为单位)。
shadowDistance渲染探针时的阴影绘制距离。
size将在其中将反射应用于对象的盒体区域的大小。在探针的本地空间中测量。
texture传递给反射探针邻近对象的着色器的纹理。
textureHDRDecodeValues反射探针纹理的 HDR 解码值。
timeSlicingMode将此探针设置为时间切片模式另请参阅:ReflectionProbeTimeSlicingMode。

公共函数

IsFinishedRendering检查探针是否已完成时间切片渲染。
RenderProbe刷新探针的立方体贴图。
Reset将所有 ReflectionProbe 参数恢复为默认值。

静态函数

BlendCubemapUtility 方法,将两个立方体贴图混合到一个目标渲染纹理中。

Events

defaultReflectionSet添加委托以在默认镜面立方体贴图发生变化时收到通知。
reflectionProbeChanged添加委托以在将反射探针添加到场景或将其从场景中删除时收到通知。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponentReturns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children. Works recursively.
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID返回对象的实例 ID。
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。