本页内容

ReflectionProbe QML Type

在场景中定义一个反射探针。更多...

Import Statement: import QtQuick3D
Inherits:

Node

属性

方法

详细说明

反射探针用于向对象提供当前场景的反射效果。该探针向运行时提供属性,运行时随后利用这些属性将场景渲染到立方贴图中。该立方贴图随后被用作反射对象的反射信息。

另请参阅 Qt Quick 3D - 反射探针示例。

属性文档

boxOffset : vector3d

“盒子偏移量”用于相对于反射探针的位置移动盒子。由于探针是从其当前位置捕获环境的,因此可以使用此属性移动盒子,而不会影响探针捕获环境的位置。此属性将与“盒子范围”(ReflectionProbe::boxSize )结合使用,以确定哪些物体位于盒子内部。 启用“ReflectionProbe::parallaxCorrection ”后,可利用此属性调整盒子位置,以获得更精确的反射效果。

另请参阅 parallaxCorrection 。

boxSize : vector3d

盒子大小用于确定哪些对象会从该ReflectionProbe 获取反射。位于盒子内部的对象会受到该ReflectionProbe 的影响。如果一个对象同时位于多个反射探针内部,则该对象被视为位于最近的反射探针内部。当ReflectionProbe::parallaxCorrection 启用时,该大小还会用于计算立方体贴图中反射的距离。

另请参阅 parallaxCorrection 。

clearColor : Color

“清除颜色”是指在渲染场景之前用于清除立方体贴图的颜色。

debugView : bool [since 6.4]

如果将此属性设置为 true,则会渲染一个线框来可视化反射探针盒。

该属性在 Qt 6.4 中引入。

parallaxCorrection : bool

默认情况下,反射探针提供的反射被假定来自无限远处,类似于天空盒。这对于环境反射来说效果良好,但在狭小空间中会导致反射中出现透视错误。要解决此问题,可以启用视差校正。此时,反射的距离由ReflectionProbe::boxSize 属性决定。

另请参阅 boxSize 。

quality : enumeration

质量决定了立方体贴图的分辨率。

可能的取值包括:

常量说明
ReflectionProbe.VeryLow使用 128x128 的纹理渲染反射贴图。
ReflectionProbe.Low使用 256x256 纹理渲染反射贴图。
ReflectionProbe.Medium使用 512x512 的纹理渲染反射贴图。
ReflectionProbe.High使用 1024x1024 的纹理渲染反射贴图。
ReflectionProbe.VeryHigh使用 2048x2048 的纹理渲染反射贴图。

默认值为ReflectionProbe.Low

refreshMode : enumeration

刷新模式用于告知运行时立方体贴图应以何种频率进行更新。

可能的取值包括:

常量描述
ReflectionProbe.FirstFrame在第一帧渲染场景。
ReflectionProbe.EveryFrame每帧渲染场景。

默认值为ReflectionProbe.EveryFrame

注意:请使用 ReflectionProbe.FirstFrame 以获得更好的性能。

texture : CubeMapTexture [since 6.5]

该立方体贴图纹理并非用于渲染场景,而是用于显示受该反射探针影响的物体上的反射效果。

该属性在 Qt 6.5 中引入。

另请参阅 CubeMapTexture 。

timeSlicing : enumeration

“时间切片”决定了立方体贴图渲染的时间安排。

可能的取值为:

常量说明
ReflectionProbe.None在单帧内渲染立方贴图的所有面并进行预过滤。
ReflectionProbe.AllFacesAtOnce所有面均在一帧内完成渲染,但预过滤操作会被分配到后续帧中,每个MIP级别在各自的帧中单独处理。因此,粗糙表面的反射每六帧刷新一次,而光滑表面的反射则每帧刷新一次。
ReflectionProbe.IndividualFaces每个面在单独的一帧内进行渲染和预过滤。因此,所有反射效果每六帧刷新一次。

默认值为ReflectionProbe.None

注意:请使用 ReflectionProbe.AllFacesAtOnce 或ReflectionProbe.IndividualFaces 来提高性能。

方法文档

void scheduleUpdate()

当ReflectionProbe::refreshMode 被设置为ReflectionProbe.FirstFrame 时,若在此状态下调用该方法,将更新反射探针的渲染效果。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.