版本: Unity 6 (6000.0)
语言英语
  • C#

ReflectionProbe

UnityEngine 中的类

/

继承自:Behaviour

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

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

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

此类是 反射探针 组件的脚本接口。

反射探针通常只是在编辑器中创建,但有时您可能希望从脚本创建反射探针。

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; } }

静态属性

defaultTexture捕获环境贡献的默认反射探针的表面纹理。只读。
defaultTextureHDRDecodeValues默认反射探针纹理的 HDR 解码值。

属性

backgroundColor反射探针纹理将被清除的颜色。
bakedTexture反射探针周围环境的烘焙纹理的引用。
blendDistance用于混合的探针周围的距离(在延迟探针中使用)。
bounds探针的世界空间轴对齐包围盒,探针可以在其中对反射做出贡献(只读)。
boxProjection此反射探针是否应该使用盒投影?
center探针的包围盒的中心,探针可以在其中对反射做出贡献。中心相对于探针的位置。
clearFlags反射探针如何清除背景。
cullingMask这用于选择性地渲染反射探针周围环境的一部分。
customBakedTexture反射探针周围环境的烘焙纹理的引用。使用此属性分配自定义反射纹理。
farClipPlane渲染探针时的远裁剪平面距离。
hdr此反射探针是否应该使用 HDR 渲染?
importance反射探针的重要性。
intensity应用于着色器中反射探针纹理的强度修改器。
mode反射探针纹理是否应该在编辑器中生成 (ReflectionProbeMode.Baked) 或者探针是否应该使用自定义指定的纹理 (ReflectionProbeMode.Custom)?
nearClipPlane渲染探针时的近裁剪平面距离。
realtimeTexture反射探针周围环境的实时纹理的引用。使用此属性分配一个 RenderTexture 以用于实时反射。
refreshMode设置探针的刷新方式。其他资源:ReflectionProbeRefreshMode。
renderDynamicObjects指定 Unity 是否应将非静态游戏对象渲染到反射探针中。如果将此属性设置为 true,则 Unity 会将非静态游戏对象渲染到反射探针中。如果将此属性设置为 false,则 Unity 不会将非静态游戏对象渲染到反射探针中。只有当反射探针的类型为 Custom 时,Unity 才会考虑此属性。
resolution底层反射纹理的分辨率(以像素为单位)。
shadowDistance渲染探针时的阴影绘制距离。
size探针的包围盒的大小,探针可以在其中对反射做出贡献。大小以世界空间为单位。
texture传递给反射探针附近对象的着色器的纹理(只读)。
textureHDRDecodeValues反射探针纹理的 HDR 解码值。
timeSlicingMode设置此探针的时间切片模式其他资源:ReflectionProbeTimeSlicingMode。

公共方法

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

静态方法

BlendCubemap实用程序方法,用于将 2 个立方体贴图混合到目标渲染纹理中。
UpdateCachedState使用 ReflectionProbe 的当前状态更新剔除系统。如果实现自己的运行时反射系统,这将确保 Unity 在渲染过程中正确地剔除 ReflectionProbe。

事件

defaultReflectionSet添加一个委托,以便在默认镜面反射立方体贴图更改时接收通知。
defaultReflectionTexture添加一个委托,以便在默认镜面反射立方体贴图更改时接收通知。
reflectionProbeChanged添加一个委托,以便在将反射探针添加到场景或从场景中移除时接收通知。

继承的成员

属性

enabled启用的行为将更新,禁用的行为将不会更新。
isActiveAndEnabled报告游戏对象及其关联的行为是否处于活动状态并已启用。
gameObject此组件附加到的游戏对象。组件始终附加到游戏对象。
tag此游戏对象的标签。
transform附加到此游戏对象的 Transform。
hideFlags对象是否应隐藏、与场景一起保存或用户可修改?
name对象的名称。

公共方法

BroadcastMessage在该游戏对象或其任何子对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
CompareTag将游戏对象的标签与定义的标签进行比较。
GetComponent获取与指定组件相同的 GameObject 上类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件相同的 GameObject 或任何子对象上类型为 T 的组件的引用。
GetComponentIndex获取组件在其父 GameObject 上的索引。
GetComponentInParent获取与指定组件相同的 GameObject 或任何父对象上类型为 T 的组件的引用。
GetComponents获取与指定组件相同的 GameObject 上所有类型为 T 的组件的引用。
GetComponentsInChildren获取与指定组件相同的 GameObject 及其任何子对象上所有类型为 T 的组件的引用。
GetComponentsInParent获取与指定组件相同的 GameObject 及其任何父对象上所有类型为 T 的组件的引用。
SendMessage在该游戏对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
SendMessageUpwards在该游戏对象和行为的每个祖先上的每个 MonoBehaviour 上调用名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy移除游戏对象、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载的对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载的对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某些 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。

运算符

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