为了计算3D对象的阴影效果,Unity需要知道落在对象上的光的强度、方向和颜色。

光源类型

①点光源【Point lights】

空间中一点,向所有方向上均匀发光;光照强度与距光源距离的平方成反比,到达指定距离时强度为0。
模拟灯、局部光源、火花、爆炸照亮等

②聚光灯【Spot lights】

类似点光源,具有指定位置和光线衰减范围;不同的是聚光灯有一个角度约束,形成的是一个锥形的光照区域。
聚光灯锥体边缘的光线会减弱,加宽聚光灯的角度会增加锥体的宽度,并随之增加这种淡化的大小,称为半影【不透明体遮住光源时,如果光源是比较大的发光体,所产生的影子就有两部分,完全暗的部分叫本影,半明半暗的部分叫半影。
模拟手电筒,汽车前照灯,舞台聚光灯等

③平行光【Directional lights】

视为无限远处的光源,没有任何可识别的光源位置,因此光源对象可以放置在场景中的任何位置,场景中所有对象都被照亮,就像光始终来自同一方向一样;
另外光源与目标对象的距离是未定义的,光线强度不会减弱。
模拟太阳光、月亮

④面光源【Area lights】

通过空间中的矩形定义,光线在矩形表面区域上均匀地向所有方向发射;仅能从矩形所在面发射,无法手动控制面光源的范围;
光照强度与距离平方成反比衰减;由于光照计算对处理器性能消耗大,面光源不可实时处理,只能烘培到光照贴图中
【特点】面光源同时从几个不同方向照亮对象,因此阴影更加柔和细腻
模拟路灯、小的面光源可以模拟较小的光源(室内光照),效果比点光源更逼真

⑤环境光【Ambient lights】

场景周围存在的光,并且不来自任何特定的光源对象;
在不调整单个光源的情况下增加场景的整体亮度,环境光很有用

选择光照技术

相关概念
1.在某种方式上视为“实时”与“预计算”光照;
2.Unity中,平行光、点光源、聚光灯默认是实时的,也称为直接光照一次击中表面,然后直接反射到传感器(例如眼睛的视网膜或照相机)】;
间接光照是最终反射到传感器中的所有其他光,包括多次撞击表面反射的光和天空光。
3.局部光照local illumination:只考虑光源到物体表面的照射效果,即直接光照
全局光照Global illumination:直接光照与间接光照的综合效果,考虑到了环境中所有表面和光源相互作用的照射效果。

①实时光照

默认下,【方向光,聚光灯,点光源】都是实时的,这意味着它们为场景提供直射光并且每帧都在更新;
实时光源单独呈现时阴影是完全黑色的,因为没有反射光【这些光线不会自动进行反射】,只有落在聚光灯锥体内的表面才会受到影响。

②烘焙光照贴图

unity可以计算复杂的静态光照效果【使用全局光照GI的技术】
利用GI技术,提前执行照明计算并将结果存储在光照贴图中,然后再程序中使用,这一过程称为烘焙
这些光照贴图既可以包括照射到表面的直射光,也可以包括从场景内其他物体或表面反射的间接光
使用烘焙时,这些光照贴图在游戏过程中不能被改变,因此成为“静态”,场景中要烘焙的物体需要设置为static

③预计算实时全局光照

GI提供了一种可以实时复杂场景光照的技术,利用这方法可创建具有丰富全局光照和反射光的光照环境,能够实时响应光照变化
典型例子
一天的时间系统:光源的位置和颜色随时间变化;如果使用烘焙光照是无法实现的。
为了流畅运行,需要将一些数字运算从实时处理变为预先计算处理。

Unity基础——光源类型相关推荐

  1. 第一阶段unity基础

    第一阶段unity基础 引言 注意: 1.重点:1.适用性(什么时候用,怎么用)<记脑子里>  2.作用(能够解决什么问题) 3.定义  4.操作/语法 2.每天练习必须会独立完成 3.形 ...

  2. Unity基础学习路线

        Unity基础 C#程序设计 第001课初识unity 第002课初始unity场景树_渲染体系_物理体系 第003课初识Unity C#的基本结构_类_成员_类的函数 第004课Unity ...

  3. Unity 基础 之 xml 使用 Office Excel 轻松编辑保存 xml 数据,并解析读取数据

    Unity 基础 之 xml  使用 Office Excel 轻松编辑保存 xml 数据 目录 Unity 基础 之 xml  使用 Office Excel 轻松编辑保存 xml 数据 一.简单介 ...

  4. Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等

    Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等 目录 Unity 基础 之 在 UGUI 上简单实现VideoPl ...

  5. Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装

    Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 目录 Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 一.简单介绍 二.实现原理 三.注意事项 四.效果预览 ...

  6. Unity基础开发之事件函数的执行顺序

    Unity基础开发之事件函数的执行顺序 文章目录 前言 一.Initializtion阶段 Awake() OnEnable() 二.Editor阶段 Reset() OnValidate() 三.第 ...

  7. Unity 面试题汇总(三)Unity 基础相关

    Unity 面试题汇总(三)Unity 基础相关 目录 Unity 面试题汇总(三)Unity 基础相关 0.FSM(状态机).HFSM(分层状态机).BT(行为树)的区别 1.什么是协同程序? 2. ...

  8. Unity基础知识学习七,帧同步源码学习

    前言 在学习帧同步框架源码之前,先过一遍基础知识:Unity基础学习六,网络同步_u013617851的博客-CSDN博客 视频地址:帧同步教程[合集]_哔哩哔哩_bilibili github地址: ...

  9. Unity基础——动画编辑Animations、Animator

    Unity基础--动画编辑Animations.Animator 2014-01-10 20:08:32|  分类: Unity3D自学笔记 |  标签:unity  指南  动画  animatio ...

最新文章

  1. 关于linux基础的博客,第一篇博客,以下。
  2. 许可证无效_未取得预售许可证所签买房合同是否一概无效?
  3. 点击按钮显示div并向div中传递参数
  4. C# DataSet性能最佳实践
  5. STM32的同步规则模式使用
  6. 发动机的工作原理,你知道吗?
  7. 作者:杨燕(1964-),女,西南交通大学信息科学与技术学院教授、博士生导师。...
  8. Android 多级树形菜单
  9. Android让文本输入框默认不获取焦点
  10. Python Imaging Library: ImageChops Module(图像通道操作模块)
  11. 剑指offer面试题68 - I. 二叉搜索树的最近公共祖先(递归)(二叉搜索树)
  12. shell中的局部变量与全局变量
  13. 三维设计和动画:Cinema 4D R25 for mac(c4d r25)
  14. 《Act with Prudence》读后感
  15. pyhton2 and python3 生成随机数字、字母、符号字典(用于撞库测试/验证码等)
  16. IT眼界--- 十亿美金之盛大盒子
  17. mysql怎么卸载干净?
  18. UE4安装教程,虚幻引擎安装教程,UE4的安装
  19. JAVA 文件上传 和 下载
  20. 震惊!!!年度双生武魂诞生现场----双统安装(centos与windows)

热门文章

  1. 如何用计算机录制视频教程,怎么设置电脑录屏?教学视频怎么录制?
  2. Junit测试工具使用
  3. vmware虚拟机桥接模式连不上网的罕见原因
  4. oracle exfsys 下 rlm$evtcleanup,ORA-27468 EXFSYS.RLM$EVTCLEANUP任务引起的故障
  5. 想让 ChatGPT 帮忙进行数据分析?你还需要做......
  6. Linux入职基础-4.10_系统启动过程(3):Linux内核(vmlinuz)启动
  7. 109468.祖玛游戏
  8. Transformers库Question Answering任务样例
  9. NLP算法-关键词提取补充知识-停用词表
  10. 航天宏图技术赋能天津梁启超纪念馆,用了啥黑科技?