使用基于图像的照明立方体贴图纹理¶
使用基于图像的照明通过将其周围环境视为光源来照亮 3D 节点。
基于图像的照明立方体贴图纹理模拟来自环境的照明:
辐照度立方体贴图纹理 表示环境光照的间接漫反射部分。
完全漫反射的表面是粗糙的,并以随机方向反射入射光线。例如,橡胶材料具有漫反射表面。
镜面反射立方体贴图纹理 表示环境光照的反射部分。
完全反射的表面是光滑的,并以与入射光线相同的角度反射入射光线,就像镜子一样。例如,金属材料具有反射表面。
每个基于图像的照明立方体贴图纹理将六个正方形的图像合成为一个纹理,以表示环境照明。
使用环境立方体贴图纹理来渲染 3D 内容周围的环境。请参阅 使用环境纹理。
当您想在3D节点的表面创建环境的动态反射时,使用 Cubemap Render Pass。请参阅 创建立方体贴图反射。
创建基于图像的照明立方体贴图纹理¶
要创建基于图像的照明立方体贴图纹理:
在 Assets 中,点击 Import Assets 并选择您要为其创建基于图像的照明立方体贴图纹理的 HDR 或 EXR 图像。
小技巧
要为已导入到您的 Kanzi Studio 项目的 hdr 或 exr 图像创建基于图像的照明立方贴图纹理,请在 Library > Resource Files > Images 中 按 Alt 并右键单击 该图像并选择 Image-Based Lighting Cubemap Textures。
在 Create Textures for HDR Images 对话框中:
选择 Image-Based Lighting Cubemap Textures。
默认情况下,Kanzi 使用基于 GPU 的立方体贴图处理。要使用速度较慢的基于 CPU 的立方体贴图处理,请在 Kanzi Studio 主菜单中选择 Edit > User Preferences。在 User Preferences 窗口的 Advanced 选项卡中,禁用 Use GPU-based cubemap filtering 选项。
小技巧
要为图像创建环境立方体贴图纹理,请选择 Environment Cubemap Texture。请参阅 使用环境纹理。
(可选) 要手动设置立方体贴图面的大小,请禁用 Automatic 设置并设置 Cubemap Face Resolution。
例如,要创建每个立方体贴图面的大小为 512 x 512 像素的立方体贴图纹理,请将 Cubemap Face Resolution 设置为 512。
默认情况下,Kanzi Studio 创建的立方体贴图纹理中每个立方体贴图面的宽度和高度为 256 像素;如果您导入的图像宽度小于 1024 像素,则为该宽度的四分之一。
提高立方体贴图面分辨率会使立方体贴图计算时间呈平方级增长。
(可选) 将 Number of Samples 设置为您希望 Kanzi Studio 从图像中采样并用于生成立方体贴图的像素数。
样本越多,立方体贴图对环境光照的近似就越准确。增加样本数量会线性增加立方体贴图的计算时间。默认情况下,1024个样本的值预计足以应对大多数情况。然而,对于包含非常高频变化的图像,例如明亮的太阳,使用更高的样本数可以减少生成的立方体贴图面图像中的噪声量。
单击 Create。
Kanzi Studio 导入图像并在 Library > Materials and Textures > Textures 中为该图像创建基于图像的照明立方体贴图纹理:
<image_name>_irradiance 表示环境光照的间接漫反射部分。
<image_name>_specular 代表反射光照。
对于每个基于图像的照明立方体贴图纹理,六个立方体贴图面图像使用共享的图像属性。要配置立方体贴图面的图像属性,请点击 NegZ 图像 (NegZ Image) 属性旁边的图像属性图标。Kanzi Studio 会将这些设置应用于该纹理的全部六个立方体贴图面。
您可以对基于图像的照明立方体贴图纹理使用 ASTC 压缩。有关为立方体贴图纹理配置 ASTC 压缩的信息,请参阅 使用 ASTC 压缩立方体贴图纹理。
![]()
![]()
![]()
小技巧
您可以限制从 HDR 图像创建的纹理中强光区域的亮度。
要设置从 HDR 图像创建的立方体贴图纹理中的最大亮度级别:
在 Library > Resource Files > Images 中,选择该图像。在 Properties 中,添加 Clamp Pixels 属性,并将其设置为您要用来限制从该图像创建的立方体贴图面图像中颜色值的值。
在 Library > Resource Files > Images 中,按 Alt 并右键单击 图像,并选择要创建的立方体贴图纹理。
![]()
![]()
使用基于图像的照明立方体贴图纹理¶
要使用基于图像的照明立方体贴图纹理:
在 Library > Materials and Textures 中,按 Alt 并右键单击 Material Types,并选择 SmartPhysicallyBased。
Kanzi Studio 会创建 SmartPhysicallyBased 材质类型和 SmartPhysicallyBasedMaterial 材质。
此材质支持使用 Kanzi 默认基于物理的着色器的功能。
创建您要通过将其周围环境视为光源来照亮的 3D 内容,并将该内容设置为使用 SmartPhysicallyBasedMaterial 材质。
例如:在 Node Tree 中,创建一个 Sphere 节点。在 Properties 中,将 Mesh Material 属性设置为 SmartPhysicallyBasedMaterial。
在 Library > Materials and Textures > Materials 中,选择 SmartPhysicallyBasedMaterial。在 Properties 中,添加 Configuration > Enable Image Based Lighting 属性并设置:
将 Environment Ambient Texture 到您要用于漫反射照明的辐照度立方体贴图纹理。
将 Environment Reflection Texture 到您要用于反射光照的镜面反射立方体贴图纹理。
请参阅 创建基于图像的照明立方体贴图纹理。
(可选) 在 Properties 中,添加并设置:
Material > Environment Ambient Factor,用于设置辐照度立方体贴图纹理的强度。
Material > Environment Reflection Factor,用于设置镜面反射立方体贴图纹理的强度。
使用材质属性来控制材质表面反射的强度。
例如,对于金属粗糙度材料:
Roughness Factor 设置材料的粗糙度。
当您增加材料的粗糙度时,材料表面的反射会变得更加模糊。
Metallic Factor 设置材料的金属度。
当您增加材料的金属度时:
材料表面的漫反射变弱。
材料表面的镜面反射变得更强。
使用环境立方体贴图纹理渲染 3D 内容周围的环境时,您可以看到基于图像的光照纹理如何模拟来自环境的光照。请参阅 使用环境立方体贴图纹理。