Unity Lighting -- 配置平行光源和天空盒

news2024/12/29 9:46:07

识别不同种类的光源

        在游戏或实时应用程序中,我们可能会创建多种不同种类的场景,比如室内场景、室外场景、真实的场景或完全想象的场景。即便项目是一个完全的想象的或是科幻的故事,灯光也是非常重要的一环,它能极大提升沉浸感。

        在光照设计和实现中,识别出一个场景所需要的光照是关键的初始步骤:

        自然光(Natrual lighting):通常是日光或月光

        模拟光(Motivated lighting):场景中模拟特定种类的真实光源,比如路灯或车灯

        色调光(Key lighting):场景中照明焦点物体的灯光

        环境光(Ambient lighting):在Uinty中也叫漫反射环境光(diffuse enviromental light),环境光是存在于场景中但没有特定来源的光。

        注意:还有更多种类的灯光,不在此展开

配置平行光

        对于室外场景,常见的自然光源是太阳或月亮。在Unity中,当我们创建了一个场景后,默认会有一个Direcitonal Light的游戏物体,这个游戏物体的功能就是太阳或月亮。

        平行光源会朝着设定好的方向(在gizmo中可以打开或关闭方向显示)发出平行光:

         对于平行光来说,我们可以认为它离场景非常远。因此它发出的平行光可以认为不是发散的,它发出的光不受到光源的大小和位置影响,而只和其方向有关。

        在场景中测试一下平行光:

        首先,确保天空盒会起效果,在下图红框处记得勾选Skybox选项

         然后找到场景中的Directional Light,尝试调整其大小和位置,我们会发现场景没有发生变化

         通过调整平行光的方向,可以看到场景发生了明显变化

         在Direcitonal Light的Inspector中,尝试调整一下灯光的颜色

天空盒基础知识

        了解了平行光之后,我们来看另一个重要的东西:天空盒。

        在Unity中,天空背景是通过使用一种称为skybox的特殊材质来创建的。天空盒是立方体,每一面上有不同的纹理。当我们使用天空盒来渲染天空的时候,Unity会将场景放到天空盒立方体内,Unity会先渲染这个立方体。

        天空盒也能够包含远距离的环境信息。这些信息会对场景的空间和深度感造成影响,包括:

        景观特性 - 例如场景远处有高山背景

        建筑物 - 例如只能在地平线上可见的宏伟的城市

        用于天空盒的材质需要使用Skybox shader,有两类Skybox shader:

        Textured(纹理化的):使用材质纹理来生成天空盒的shader

        Procedural(程序化的):使用材质属性来生成天空盒的shader

创建一个程序化的(Procedural)天空盒

        接下来我们创建一个自定义的程序化天空盒:

        1. 新建材质,取名为MySkyBox

        2. 选择MySkyBox,在Inspector面板中,将Shader选择为Skybox -> Procedural

         3. 在配置天空盒之前,我们最好能够能让场景使用这个自定义的材质来渲染天空,以便修改参数的时候能够直观地看到效果。我们在Window -> Rendering -> Lighting选项窗口中,选择Enviroment,将Skybox Material选择为我们刚刚创建的材质(也可以直接拖拽)

         4. 回到MySkyBox的Inspector面板,我们来看看它都有些属性:

                 Sun: 表示太阳的样子,选择High Quality的话,太阳会带光晕效果

                         选择Simple的话,太阳只是简单显示一个圆盘

                Sun Size: 太阳的大小,这个没有太多必要细说,值越大场景中太阳看起来就越大

                Atomsphere Thickness:大气层厚度,大气层厚度越厚,它吸收的光线就越多

                 Sky Tint:天空的色调,比如我们调整它为蓝色

                 Ground:地平线下的区域颜色(地面),比如我们调整它为红色

                 Exposure:曝光度,调整天空的曝光度。我们可以简单地用亮度来理解就行了。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python3-条件控制

Python3 条件控制 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程: if 语句 Python中if语句的一般形式如下所示: if condi…

Atlassian Server用户新选择 | 数据中心产品是否适合您的企业(3)?

2024年2月,也就是一年不到,Atlassian将终止对Server产品及插件的所有支持。 此公告发布后,许多用户需要了解怎样的前进方向才是最适合企业的。为此,Atlassian不仅提供云版,还提供了本地部署的数据中心(Data…

jupyter lab安装和配置

jupyter lab 安装和配置 一、jupyter lab安装并配置 安装jupyterlab pip install jupyterlab启动 Jupyter lab默认会打开实验环境的,也可以自己在浏览器地址栏输入127.0.0.1:8888/lab 汉化 pip install jupyterlab-language-pack-zh-CN刷新一下网页&#xff0…

ChatGPT解答:PYQT5 组件化实例,Python代码实现,给出100个代码实例

ChatGPT解答: PYQT5 组件化实例,Python代码实现,给出100个代码实例 PYQT5 组件化实例,Python代码实现,给出100个代码实例 实现一个简单的窗口 import sys from PyQt5.QtWidgets import QApplication, QWidgetapp QA…

我90后,零基础成功转行python工程师,从月薪5K到现在月入2W+改变真的难吗?

我是25岁转行学python的。说实在,转行就是奔着挣钱去的。希望我的经历可以给想转行的朋友带来一点启发和借鉴。 先简单介绍下个人背景,三流大学毕业,物流专业,学习能力一般,没啥特别技能,反正就很普通的一…

CSS3新特性-变量

2017年三月,微软宣布 Edge 浏览器将支持 CSS 变量。 这个重要的 CSS 新功能,所有主要浏览器已经都支持了。本文全面介绍如何使用它,你会发现原生 CSS 从此变得异常强大。 一、变量的声明 声明变量的时候,变量名前面要加两根连词…

python入门应该怎么学习

国外Python的使用率非常高,但在国内Python是近几年才火起来,Python正处于高速上升期市场对于Python开发人才的需求量急剧增加,学习Python的前景比较好。 Python应用领域广泛,意味着选择Python的同学在学成之后可选择的就业领域有…

虚函数与多态性

5.1多态性概述: 按实施的机制,多态可以分为两类: 虚函数的定义: (前面思维是虚基类,别搞混了) 运行时多态的条件: 运行时的多态: 基类中有show(),派生类中也有show&…

叠氮化物标记糖92659-90-0,2-[(Azidoacetyl)amino]-2-deoxy-D-glucose广泛用于体内代谢标记

基础产品数据:CAS号:92659-90-0中文名:2-[(叠氮基乙酰基)氨基]-2-脱氧葡萄糖英文名:2-[(Azidoacetyl)amino]-2-deoxy-D-glucose性 状:白色粉末温馨提示:所有的试剂仅用于科研实验。结构式(Struc…

ChatGPT解答:纯前端文档预览,Vue实现,无需后端,支持Word、Excel、PPT、pdf、文本、图片,附接入demo和文档

ChatGPT解答:纯前端文档预览,Vue实现,无需后端,支持Word、Excel、PPT、pdf、文本、图片,附接入demo和文档 ChatGPTDemo Based on OpenAI API (gpt-3.5-turbo). 纯前端文档预览,Vue实现,无需后…

【软件测试】性能测试面试题都问什么?面试官想要什么?回答惊险避坑......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 1、你认为不同角色关…

A Bio-Inspired Multi-Exposure Fusion Frameworkfor Low-light Image Enhancement

Abstract弱光图像的能见度较低,不利于人类观察和计算机视觉算法。尽管许多图像增强技术已经被提出来解决这个问题,现有的方法不可避免地引入对比度增强不足和过度。受人类视觉系统的启发,我们设计了一个用于微光图像增强的多曝光融合框架。在…

机器学习错题集(1)

生成模型与判别模型的区别: 在机器学习中,对于有监督学习可以将其分为两类模型:判别式模型和生成式模型。简单地说,判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模。已知输入变量x: 生成…

深度学习之卷积神经网络学习笔记二

1. 引言在学习笔记一中,我们介绍了几种常用的分类模型框架,如VGGNet,GoogleNet,和ResNet,并且介绍了几种简单的分割模型。如FCN,UNet,SegNet和Deeplab。从深度学习兴起到现在,模型一…

UML1——用图说话

目录 一、前言 二、使用工具 三、UML面对对象 四、UML图标 4.1 事物 4.2 关系 4.3 关系线数字 4.4 关系图示例 五、UML开发思路 一、前言 不管是系统项目工程师,还是开发人员,熟悉使用UML都必不可少。UML 是一种为面向对象开发系统的产品进行说明…

2月刚上岸字节跳动测试岗面经

这时候发应该还不算太晚,金三银四找工作的小伙伴需要的可以看看。 一、测试工程师的工作是什么? 测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。 首先很明显的bug开发人员有时候自己就能找到,测…

一文2000字从0到1学习接口自动化测试必备知识(建议收藏)

在所有的测试中,接口测试是必不可少的一项。有效且覆盖完整的接口测试,不仅能保障新功能的开发质量,还能让开发在修改功能逻辑的时候有回归的能力,同时也是能优雅地进行重构的前提。编写接口测试要遵守哪些原则?测试代…

Python读取文字并点击对应的图片

本来想写了一大堆今天遇到的需求,想想还是删了,我直接说出本文的功能,读取A列的Excel(全是名字),然后点击名字所对应的图片: 名字所对应的图片 直接看视频,是不是你想要的结果! 我循环了三次&a…

【JAR包打包为EXE】javafx/java项目(适用jdk1.8)通过Gradle插件打包为exe,包含jre,客户机无需安装JDK(含代码)

前言: 通常在采用javafx或tornadofx等框架编写的桌面软件后,若要分发给客户机进行使用,就需要先在目标客户机安装合适版本的JDK,对于客户机来说并不需要关注这一步骤,这也增加了多台客户机分发及使用的成本&#xff0…

宾语从句it做形式主语的句子

It代替从句作形式主语的常见句型 一、it 代替连词 that 引导的从句作形式主语。 1、it be 过去分词 that 从句: It’s said that Tom has come back from abroad . It was reported that dozens of children died in the accident . 可用于该句型的过去分词还有&#xf…