Unity GI 光照系统系列(一) —— GI介绍和Lighting面板

2023-11-02 16:50

本文主要是介绍Unity GI 光照系统系列(一) —— GI介绍和Lighting面板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Unity的光照系统中光照包括直接光照、间接光照、环境光和反射光。
直接光照:光源对于模型的光照。
间接光照:光线在其他模型上的反射所带来的光照。
环境光照:天空盒的颜色。
反射光:光线照射到模型上反射回来的光。
Unity中有两种不同的技术用于预计算照明、反射光。分别是Precomputed Realtime GI 和 Baked GI。

GI

GI的全称global illumination,全局光照。
在windows -> lighting中可以打开设置面板。

Precomputed Realtime GI

预计算实时光照,针对实时静态模型之间的光照信息。
这里写图片描述
Realtime Resolution:预计算实时光照将场景分成许多的texel(纹素)这个值控制了每个单位有几个texel,它对于模型间的反射光的质量有着很大的影响,但是随着增大也会带来更大的计算量。通常的来说如果是人密集且走动的村庄内这个值设置为2 – 3之间、村庄外设置为0.5 – 1之间。
CPU Usage:游戏中计算这些光照信息时CPU的占用率,分成low、medium、high、unlimited 4个档位。

Baked GI

能得到更精确的模型之间的反射光信息,但是不能在游戏运行时实时的变动相应的光源信息,如颜色、方向。
这里要注意,如果要使用Baked GI,我们要为需要被烘焙光照信息的模型设置为Lightmap Static。选中模型然后在Inspector面板中点击右上角的Static的下拉列表选中Lightmap Static。
这里写图片描述
Baked Resolution:同Realtime Resolution理解一样,一般是Realtime Resolution的值10倍,因为Baked GI得到的光照图要更精确。
Baked Padding:光照贴图中分隔的距离。
Compressed:是否压缩。
Ambient Occlusion:环境遮挡表面的相对亮度,选中后遮挡处和完全曝光处的却别变大。
Final Gather:选中后提高烘焙质量,但会消耗更多时间。
Atlas Size:光照贴图尺寸。

General GI

常规的照明设置。
这里写图片描述
Direction Mode:定向模式。
Non–Directional:无定向模式,使用1种光照贴图存储光照信息。
Directional:定向模式,使用2种光照贴图存储光照信息,相比之下效果更好,但空间占用更大。
Directional Specular(deprecated):定向反射模式,使用4种光照贴图存储光照信息,效果最好,但占用空间最大。
Indirect Intensity:最终间接光照、反射光照的强度。1为默认强度,小于1则减低强度,大于1则增大强度。
Bounce Boost:增强间接光照。
Default Parameters:高级GI参数。
Default:默认。
Default-HighResolution:高分辨率。
Default-LowResolution:低分辨率。
Default-VeryLowResolution:非常低的分辨率。
烘焙后会产生LightingData(灯光信息)。

这篇关于Unity GI 光照系统系列(一) —— GI介绍和Lighting面板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/331946

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用