反射探针用于将周围环境捕获到纹理中,然后传递给着色器并用于反射。
这些属性与 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 == | 比较两个对象引用,以查看它们是否引用同一对象。 |