当前位置: 首页 > news >正文

Unity光照相关

1. 光源类型

Unity支持多种类型的光源,包括:

1. 点光源(Point Light):从一个点向四周发射光线,适用于需要突出物体的光源。

2. 平行光(Directional Light):从无限远处的一个方向照射,适用于需要模拟太阳或月亮等光源。

3. 聚光灯(Spot Light):从一个点向一个方向发射光线,适用于需要集中光源来照亮某个区域。

4. 区域光源(Area Light):将光源区域化,使得光源在某个区域内分布均匀,适用于需要模拟某种特定的照明效果。

重要属性

1.在Range属性上向右或向左拖动以增加或减少光在场景中的传播距离;

2.在Intensity属性上向右或向左拖动以增加或减少其设置范围内的灯光强度;将Intensity属性设置为200到600之间更实际

3. Indirect Multiplier属性会影响 此光源提供的间接光的强度(被传感器接收前多次反弹的光);

如果你设置它:

低于1时,间接光每次从物体反弹时都会变暗。这是真实光照的行为方式,但您可能希望覆盖该行为以实现特定的光照效果。

高于1,间接光会随着每次反弹而变亮。这并不自然,但如果您试图照亮场景中的黑暗封闭空间,它会非常有用。

4. 选择color属性框打开颜色选择器窗口并调整灯光的颜色

2. 光照模式

1. realtime: 设置为realtime模式的光源,都会对所有能被它照射到的表面施加影响,那为啥叫realtime呢,其实所谓的realtime就是平时我们写shader的时候直接在shader里拿到并用于计算的光源,它是在shader里每帧更新的,所以叫realtime模式,

2. baked: 对于这种光照模式的光源就要设计到光照烘焙了,所谓的光照烘焙,是利用的另外的程序获得unity中的场景数据,然后在场景中各种光源的相应方向上发射出很多束光线,这些光线经过反弹,就会形成所谓的间接光对场景施加更多的影响,然后经过几次反弹后,就完成了每个物体的光照计算,并把结果保存在每个物体各自的贴图中,下次在场景启动的时候,直接采样这些贴图就行了

3. mixed: 在烘焙的时候烘焙间接光照信息,而运行时就是跟realtime模式一样贡献直接光就行了

3. 阴影

  • Light中Shadow Type
  • BlobShadowProjector
  • 平面网格制作阴影

常见的几种模式 (realtime非常耗费性能)

1. realtime: 在这种模式下,无论是静态对象和动态对象都会在每帧实时的计算该光源对表面的影响,众所周知,一般动态光源的阴影都是利用阴影贴图计算的,而一个光源就需要一张阴影贴图,像是点光源的话更是需要六张阴影贴图,所以为了避免不必要的开销,unity中针对比较远的物体可以直接不渲染它的阴影贴图,这里究竟多远就不渲染呢?在quality setting里面有一个shadow distance参数就是控制究竟什么距离下才渲染阴影的。也就是收realtime模式的光源会对所有动态和静态的物体投射阴影,前提是它们距离摄像机的距离要小于阴影距离。

2. baked: 这里因为是baked模式,所有对于设置为此模式的光照,它的所有光照信息都会被烘焙到所有静态物体上,包括光照探针,注意这里说的是静态物体,意思就是烘焙光照的时候相当于把动态物体直接完全忽略了,然后运行游戏的时候因为该光源所有的光照信息都已经存在相应的静态物体的光照贴图中了,所有运行时具有baked光照模式的光源就会直接“退休”,如同没有存在过一样。

3. mixed: 因为unity针对mixed模式的阴影表现有一些额外的设置,这些设置就是在light setting里面mixed lighting下的light mode设置,有三种,分别为baked indirect,shadowmask,subtractive,注意这些设置只对mixed光照模式有效果,而且是针对场景中所有的mixed光源的。先说说baked indirect设置,这是最符合直觉的设置,上面说过mixed光照模式实时计算直接光,烘焙间接光,所以这种设置下光源会把它的间接光直接烘焙到静态物体的光照贴图中的(记住这一点,烘焙光照永远只能烘焙进静态物体中,光照探针也算),注意间接光因为太弱了一般不会造成阴影,烘焙完以后你还能在editor模式中看见阴影那是因为mixed模式光源的直接光是实时的。所以运行的收mixed模式造成的阴影效果就更realtime模式一摸一样(使用阴影贴图的动态阴影)。

接下来是subtrative模式,这是三种模式里开销最低得一种模式,为什么呢,启用这种设置以后,场景中所有的mixed光源会在烘焙的时候烘焙间接光和直接光,前面说过baked indirect设置下尽管间接光被烘焙进光照贴图里去了,但是mixed光源的直接光部分会像realtime光照模式的光源一样既照射到静态物体上又照射在动态物体上

4. Post-Processing后期处理

触发器为摄像机本身,一般用于调整屏幕颜色和添加光晕效果,提升画质。

Unity学习之PostProcessing的使用_post processing_斗淇的博客-CSDN博客

几种常用的功能:

1. Color Grading颜色分级:见下方

2. Bloom 高斯模糊:再现真实世界相机的成像伪像的效果。该效果产生从图像中明亮区域的边界延伸的光的条纹。

3. Vlgnette渐晕:渐晕是用于与中心相比朝向图像边缘变暗和/或去饱和

5. Global illumination全局照明

是一组可在 Unity 中用于提供逼真照明效果的技术。这些技术被称为全局照明,因为它们模拟直接光和间接光,而不仅仅是直接光。

1. 烘焙全局照明系统:光照贴图、光照探针、反射探针

2. 实时全局照明系统:Enlighten光照贴图、光探头

全局Light-Scene-New LightSetting配置全局烘焙模式

6. Light Probe光照探针

用于处理烘培的场景下,需要对动态物体进行正确的照亮。

使用Scene-shader-Contributors / Receivers 查看光照情况

7. Reflection Probe反射探针

默认情况下,场景内的对象直接从天空盒中获取反射并形成光照贴图,加入反射探针后,将从探针范围内取样并把结果写入到y一张立方体贴图中,让周围经过的物体获得反射影响。

  • 检查其Type是否设置为Baked
  • 启用Box Projection属性

相关文章:

Unity光照相关

1. 光源类型 Unity支持多种类型的光源,包括: 1. 点光源(Point Light):从一个点向四周发射光线,适用于需要突出物体的光源。 2. 平行光(Directional Light):从无限远处…...

Qt基本类型

QT基本数据类型定义在#include <QtGlobal> 中&#xff0c;QT基本数据类型有&#xff1a; 类型名称注释备注qint8signed char有符号8位数据qint16signed short16位数据类型qint32signed short32位有符号数据类型qint64long long int 或(__int64)64位有符号数据类型&#x…...

前端基础(Element、vxe-table组件库的使用)

前言&#xff1a;在前端项目中&#xff0c;实际上&#xff0c;会用到组件库里的很多组件&#xff0c;本博客主要介绍Element、vxe-table这两个组件如何使用。 目录 Element 引入element 使用组件的步骤 使用对话框的示例代码 效果展示 vxe-table 引入vxe-table 成果展…...

C++学习记录——이십팔 C++11(4)

文章目录 包装器1、functional2、绑定 这一篇比较简短&#xff0c;只是因为后要写异常和智能指针&#xff0c;所以就把它单独放在了一篇博客&#xff0c;后面新开几篇博客来写异常和智能指针 包装器 1、functional 包装器是一个类模板&#xff0c;对可调用对象类型进行再封装…...

UE学习记录03----UE5.2 使用拖拽生成模型

0.创建蓝图控件&#xff0c;自己想要展示的样子 1.侦测鼠标拖动 2.创建拖动操作 3.拖动结束时生成模型 3.1创建actor , 创建变量EntityMesh设为可编辑 生成Actor&#xff0c;创建变量EntityMesh设为可编辑 屏幕鼠标位置转化为3D场景位置 4.将texture设置为变量并设为可编辑&am…...

Spring Cache框架(缓存)

1、介绍&#xff1a; Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单加个注解&#xff0c;就能实现缓存功能。它提供了一层抽象&#xff0c;底层可以切换不同的cache实现。具体就是通过CacheManager 接口来实现不同的缓存技术。 针对不同…...

Linux学习之Ubuntu 20使用systemd管理OpenResty服务

sudo cat /etc/issue可以看到操作系统的版本是Ubuntu 20.04.4 LTS&#xff0c;sudo lsb_release -r可以看到版本是20.04&#xff0c;sudo uname -r可以看到内核版本是5.5.19&#xff0c;sudo make -v可以看到版本是GNU Make 4.2.1。 需要先参考我的博客《Linux学习之Ubuntu 2…...

[数据集][目标检测]疲劳驾驶数据集VOC格式4类别-4362张

数据集格式&#xff1a;Pascal VOC格式(不包含分割的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;4362 标注数量(xml文件个数)&#xff1a;4362 标注类别数&#xff1a;4 标注类别名称:["closed_eye","closed_mouth"…...

matlab使用教程(25)—常微分方程(ODE)选项

1.ODE 选项摘要 解算 ODE 经常要求微调参数、调整误差容限或向求解器传递附加信息。本主题说明如何指定选项以及每个选项与哪些微分方程求解器兼容。 1.1 选项语法 使用 odeset 函数创建 options 结构体&#xff0c;然后将其作为第四个输入参数传递给求解器。例如&#xff0…...

MybatisPlus简单到入门

一、MybatisPlus简介 1、入门案例&#xff08;重点&#xff09;&#xff1a; 1.SpringBoot整合MP1).创建新模块选择&#xff0c;Spring项初始化。2).选择当前模块使用的技术&#xff0c;只保留MySQL Driver就行&#xff0c;不要选择mybatis避免与后面导入mybatisPlus的依赖发…...

9. 优化器

9.1 优化器 ① 损失函数调用backward方法&#xff0c;就可以调用损失函数的反向传播方法&#xff0c;就可以求出我们需要调节的梯度&#xff0c;我们就可以利用我们的优化器就可以根据梯度对参数进行调整&#xff0c;达到整体误差降低的目的。 ② 梯度要清零&#xff0c;如果梯…...

go学习之流程控制语句

文章目录 流程控制语句1.顺序控制2.分支控制2.1单分支2.2双分支单分支和双分支的四个题目switch分支结构 3.循环控制for循环控制while 和do...while的实现 4.跳转控制语句breakcontinuegotoreturngotoreturn 流程控制语句 介绍&#xff1a;在程序中&#xff0c;程序运行的流程…...

docker基于已有容器和通过Dockerfile进行制作镜像配置介绍

目录 一.制作镜像的两种方式 1.在已有容器中更新并提交这个镜像 2.使用Dockerfile来制作 二.基于容器制作镜像 1.格式 &#xff08;1&#xff09;主要格式 &#xff08;2&#xff09;可选参数 2.案例 基于容器创建镜像设置标签并进行验证是否可用 &#xff08;1&…...

2022年09月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;最长上升子序列 一个数的序列bi&#xff0c;当b1 < b2 < … < bS的时候&#xff0c;我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN)&#xff0c;我们可以得到一些上升的子序列(ai1, ai2, …, aiK)&#xff0c;这里1 < i1 < i2 &…...

二级MySQL(九)——表格数据处理练习

在Mysql中&#xff0c;可以用INSERT或【REPLACE】语句&#xff0c;向数据库中已一个已有的表中插入一行或多行记录。 在Mysql中&#xff0c;可以用【DELETE】或【TRUNCATE】语句删除表中的所有记录。 在Mysql中&#xff0c;可以用【UPDATE】语句来修改数据表中的记录。 为了完…...

QT ListQvector at赋值出错以及解决办法 QT基础入门【QT存储结构】

1、问题 error: passing const QString as this argument discards qualifiers error: assignment of read-only location vec.QVector<int>::at(0) 在Qt中QList,Qvector一般获取元素都是通过at(index)来获取,但是at()的返回是一个const & 常引用,也就是元素不支…...

STM32 CubeMX (H750)RGB屏幕 LTDC

STM32 CubeMX STM32 RGB888 LTDC STM32 CubeMX一、STM32 CubeMX 设置时钟树LTDC使能设置屏幕参数修改RGB888的GPIO 二、代码部分效果 RGB屏幕线束定义&#xff1a; 一、STM32 CubeMX 设置 时钟树 这里设置的时钟&#xff0c;关于刷新速度 举例子&#xff1a;LCD_CLK24MHz 时…...

Redis问题集合(三)在Redis容器里设置键值对

前言 前提是已经拉取了Redis镜像并创建了对应的容器做个记录&#xff0c;方便后续查看 步骤 查看Redis容器的ID&#xff1a;docker ps -a 进入容器&#xff1a;docker exec -it 容器ID /bin/bash进入redis命令行&#xff1a;redis-cli输入密码&#xff1a;auth 配置密码 查看…...

spark中排查Premature EOF: no length prefix available

报错信息 /07/22 10:20:28 WARN DFSClient: Error Recovery for block BP-888461729-172.16.34.148-1397820377004:blk_15089246483_16183344527 in pipeline 172.16.34.64:50010, 172.16.34.223:50010: bad datanode 172.16.34.64:50010 [DataStreamer for file /bdp/data/u9…...

numpy高级函数之where和extract函数

1 numpy.where() 函数返回输入数组中满足给定条件的元素的索引 ---------------------------------------------------- 代码&#xff1a; n1np.random.randint(10,20,10) n2np.where(n1>15) 结果&#xff1a; [17 15 19 15 12 10 16 11 15 13] #原始数组 (array([…...

DialogX vs 原生对话框:为什么你的Android应用需要这个框架?

DialogX框架深度解析&#xff1a;重新定义Android对话框交互体验 在Android应用开发中&#xff0c;对话框作为用户交互的重要桥梁&#xff0c;其体验直接影响用户对产品的整体评价。传统原生对话框虽然功能完备&#xff0c;但在实际开发中往往面临定制困难、风格单一、扩展性差…...

《全球芯片图鉴》01|Intel

我决定开始写一个长期系列——“全球芯片图鉴”。STM32、ESP32、骁龙、英特尔CPU、NVIDIA GPU……很少有人会停下来想一想&#xff1a;这些芯片是如何诞生的&#xff1f;它们背后的公司经历了怎样的发展&#xff1f;同一个系列为什么会衍生出那么多型号&#xff1f;不同芯片又分…...

DCL-用户管理的基础用法

查询用户 ues mysql; select * from user; 创建用户 create user 用户名主机名 identified by 密码; 修改用户密码 alter user 用户名主机名 identified with mysql_native_password by 新密码; 删除用户 drop user 用户名主机名;...

软考高项:第22章:组织通用治理(占分分析/考点/题)

本章节属于《信息系统项目管理师》&#xff08;第4版&#xff09;的补充管理知识。在考试中&#xff0c;通常在上午的客观选择题中占2分左右&#xff0c;且有上升趋势。考查的重点通常偏向概念的识记&#xff0c;如组织战略的类型、绩效考核评估的方法、绩效计划的原则以及数字…...

RMBG-2.0快速上手:Mac M1/M2芯片原生支持,Metal加速部署教程

RMBG-2.0快速上手&#xff1a;Mac M1/M2芯片原生支持&#xff0c;Metal加速部署教程 你是不是也遇到过这样的烦恼&#xff1f;想给产品换个背景&#xff0c;头发丝抠得乱七八糟&#xff1b;想做个证件照&#xff0c;边缘总是不自然&#xff1b;想处理一堆图片&#xff0c;PS操…...

如何快速掌握Arknights-Mower:明日方舟自动化助手完整指南

如何快速掌握Arknights-Mower&#xff1a;明日方舟自动化助手完整指南 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower Arknights-Mower是一款强大的《明日方舟》自动化助手&#xff0c;能够帮助玩…...

comsol岩层开挖作用下瓦斯渗透运移模型,考虑应力作用下的渗透率变化,流固耦合物理场,使用p...

comsol岩层开挖作用下瓦斯渗透运移模型&#xff0c;考虑应力作用下的渗透率变化&#xff0c;流固耦合物理场&#xff0c;使用pde结构力学模块&#xff0c;参考相关文献建立。地下巷道开挖就像给岩层做了场外科手术。岩体应力重新分布引发的渗透率变化&#xff0c;直接影响着瓦斯…...

从零开始:IGV实战指南——ChIP-seq/DAP-seq/ATAC-seq/CUTTag数据可视化全解析

1. 为什么你需要掌握IGV可视化技能 如果你正在从事基因组学研究&#xff0c;尤其是涉及转录因子结合、组蛋白修饰或染色质开放性分析的工作&#xff0c;那么IGV&#xff08;Integrative Genomics Viewer&#xff09;绝对是你不可或缺的工具。我第一次接触IGV是在分析ChIP-seq数…...

M2LOrder WebUI故障排查:502错误/模型加载失败/端口未响应解决方案

M2LOrder WebUI故障排查&#xff1a;502错误/模型加载失败/端口未响应解决方案 1. 引言&#xff1a;当你的情感分析服务“闹情绪”时 想象一下这个场景&#xff1a;你刚部署好M2LOrder情感识别服务&#xff0c;准备用它来分析用户评论、客服对话或者社交媒体内容。你兴奋地打…...

RVC模型Python入门实战:零基础实现你的第一个变声程序

RVC模型Python入门实战&#xff1a;零基础实现你的第一个变声程序 你是不是也好奇过&#xff0c;那些有趣的变声视频是怎么做出来的&#xff1f;想不想自己动手&#xff0c;用几行代码就把自己的声音变成另一个人的音色&#xff1f;今天&#xff0c;我们就来玩点有意思的——用…...