Qt Quick 3D - 反射探针示例
演示了在Qt Quick 3D中使用反射探针的方法。
本示例演示了反射探针的功能。它提供了一个面板,用户可以选择不同的属性,这将影响探针渲染立方体贴图的方式以及模型将如何使用此立方体贴图来反射其周围环境。
场景
场景由一些模型、两个粒子系统、一个光照探针和两个反射探针组成。场景中间有三个球体,以及两个作为地面和墙的立方体。场景中间的两个粒子系统默认禁用,可以从设置面板启用。它们可以用来展示粒子如何与反射探针协同工作。第一个反射探针位于原点,另一个与中间的球体一起移动。当模型反射其周围环境时,它将使用最近反射探针捕获的立方体贴图。
设置面板
反射贴图设置
用户可以控制反射探针如何渲染反射立方体贴图。根据所选设置,性能可能会有很大差异。
时间切片控制反射贴图的每个面渲染的频率。例如,选择“单独的面”将使反射探针在每一帧渲染一个面。这可以提供更好的性能,但会牺牲质量。
刷新模式控制反射探针渲染整个反射贴图的频率。选择“第一帧”将使反射探针只渲染一次反射贴图。这有助于提高性能,但当用于具有动画的场景时,会产生不期望的效果。
最后,反射贴图质量控制生成立方体贴图的分辨率。
反射探针设置
反射探针框的大小用于确定哪些物体位于反射探针内部。如果物体位于探针内部,它将使用此探针生成的地图。框大小还用于视差校正。反射贴图在渲染时被认为是无限远的。虽然这可以适用于户外场景,但室内场景会产生不期望的效果。视差校正使反射贴图考虑到框大小以及摄像机的位置。禁用视差校正将影响地板如何反射其周围环境。室内场景应使用与室内面积大小相同的反射探针。
探针位置用于在场景中移动探针。它还将影响探针将从哪里渲染立方体贴图。
粒子设置
这些设置可以用于向场景添加一些粒子以展示反射探针与粒子如何协同工作。3D和精灵粒子都出现在反射图中,但只有3D粒子可以使用反射图来反射其周围环境。
模型设置
用户可以控制球体使用的材料的粗糙度,这会影响模型渲染的反射。用户还可以通过使用“接收反射”复选框来选择模型是否接收反射。
文件
- reflectionprobes/CMakeLists.txt
- reflectionprobes/SettingsPanel.qml
- reflectionprobes/main.cpp
- reflectionprobes/main.qml
- reflectionprobes/qml.qrc
- reflectionprobes/reflectionprobes.pro
- reflectionprobes/resources.qrc
图像
© 2024 Qt公司。本文档包含的贡献的版权属各自的所有人。本提供的文档是根据自由软件基金会发布的GNU自由文档许可版1.3术语许可的。Qt及其各自的标志是芬兰以及/或其他国家的Qt公司在全球的商标。所有其他商标均为各自所有者的财产。