灯光Light

一、简介
光源 (Lights) 是每个场景的重要组成部分。网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围。您可能会在每个场景中使用多个光源。让它们一起工作需要一些实践,但结果却相当惊人。
二、灯光类型
Unity 5.5中有 4 种灯光。创建灯光的方式同创建其他游戏对象的方式相似:

(1)Directional

方向光源。这种类型的灯光可以被放置在无穷远处,可以影响场景中的一切游戏对象,类似于自然界中太阳光的照明效果。“定向光”非常适合用来模拟阳光,它的特性就像是个太阳,定向光能从无限远的距离投射光源到场景,从定向光发出来的光线是互相平行的,也不会像其他种光源会分岔,结果就是不管对象離定向光源多远,投射出来的阴影看起来都一样,这其实对户外场景的照明很有利。定向光没有真正的光源坐标,放置在场景任何地点都不会影响光的效果,只有旋转会影响定向光的照射结果。其他有光源坐标的灯光类型,例如投射灯(Spotlights),角色阴影会因为接近或远离光源而改变,这也许在照亮室内环境时会是个问题,一般来说,避免角色太接近隐形的光源,我们会建立一个亮点来假装光源.使用定向光不用考虑距离,不管多远它都会影响场景所有的表面(除非被剔除),当使用延迟(Deferred)著色路径时会造成一些效能损耗,要注意的是,使用这个著色路径时,光的效能代价和他影响的像素数目是成正比的,但虽然需要消耗效能,起码结果较为统一,因此比较容 易调整平衡。 在预设情况下,新的场景都会附带一盏定向光,在Unity里还会与天空盒系统关联(Lighting->Scene->Skybox),你也可以删除预设的定向光并创建一个新的光源,然后从Sun这个属性重新指定(Lighting->Scene->Sun)旋转预设的定向光会导致天空盒也跟着更新,如果光的角度和地面平行就可以做出日落的效果,把光源转到天空导致变黑就能做出夜晚的效果,从上往下照就会模拟日间的效果。如果天空盒有指定为环境光源(Ambient Source),那么天空盒的颜色就会影响环境里面的对象。


(2)Point

点光源从一个位置向四面八方发出光线,影响其范围(Range)内的所有对象,类似灯泡的照明效果。点光源的阴影是较耗费图像处理器资源的光源类型。点光源可以想象是在3D空间里一个对着所有方向发射光线的点,很适合用来制作像是灯泡、武器发光或是从物体发射出来的爆炸效果,点光源的亮度从中心最强一直到范围属性(Range)设定的距离递减到0为止,光的强度从光源到距离成反比,这是所谓的”平方反比 定律”,类似光在现实世界的行为。点光源从它的位置对四面八方射出光线,球形的小图示代表光的”范围”,光线到达此范围是会”衰减”到0,但如果有间接光源或反射光则会继续投射。 点光源开启阴影运算是很耗效能的,因此必须谨慎使用,点光源的阴影为了要给六个不同的世界方向会运算六次,在比较差的硬件开启此功能会造成较大的效能负担。当在场景中加入点光源时要注意,目前它们不支持阴影的间接反射,这代表由点光源产生的光线,只要在距离内有可能会穿过对象反射到另外一面,这可能会导致墙壁或地板”漏 光”,因此放置点光源要格外注意,然而如果是采用Backed GI的话,就不会有这类的问题产生。


(3)Spot
聚光灯。这种灯光从一点发出,在一个方向按照—个锥形的范围照射,该锥形是由聚光灯角度
(Spot Angle) 和范围 (Range) 界定的。
聚光灯是较耗费图形处理器资源的光源类型。
聚光灯投射一个锥体在他的Z轴前方,这个锥体的宽度由投射角度(Spot Angle)属性控制着,光线会从源头到设定的范围慢慢衰减到0,同时越靠近锥体边缘也会衰减,把投射角度的 值加大会让锥体宽度加大,同时也让边缘淡化的力度变大,这现象学名叫做”半影”。

聚光灯有许多用途,他们可以用来模拟路灯, 壁灯,或许多创意用法,例如模拟手电筒,因为投射区域能精确的控制,因此很适合用来模拟打在角色身上的光或是模拟舞台灯光效果等等

(4)Area
区域光/面光源。该类型的光源无法应用于实时光照,仅适用于光照贴图烘焙 (lightmap baking)), 这种光能从各方向照射一个平面的矩形截面的一侧。区域光可以当作是摄影用的柔光灯,在Unity里面他们被定义为单面往Z轴发射光线的矩形,目前只能和烘焙GI一起使用,区域光会均匀的照亮作用区域,虽然区域光没有范围属性 可以调整,但是光的强度也是会随着距离光源越远而递减。区域光照亮表面并在区间产生漫反射与柔和的阴影,区域光用在建立柔和的照明效果非常有用,光线在任何方向穿过光的表面时会产生不同方向的折射 - 造成在对象上产生漫反射,常见的用途是拿来当作天花板壁灯或是背光灯,为了实现这功能,我们必须从每个光照贴图像素上发射一定数量的光线,背对着区域光以确定光有能见度,这代表区域光的计算是消耗很大的,而且会延长烘焙的时间,但如果运用得宜可以增加场景光的深度,那么消耗就很值得,值得注意的是区域光只能用在烘焙,因此不影响游戏效能。

关于灯光的其他属性以后会更新

Unity3d——4种灯光的简介相关推荐

  1. unity中的四种灯光

    灯光Light 一.简介 光源 (Lights) 是每个场景的重要组成部分.网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围.您可能会在每个场景中使用多个光源.让它们一起工作需要一 ...

  2. 聊聊Unity的几种灯光还有灯光烘培

    前言: 今天我们来学习学习Unity的几种灯光还有灯光烘培的知识. 收集资源的过程中发现有一个大佬人家写的太好太详细了,我就直接转载他的了--unity灯光烘焙设置详解 游戏场景中灯光照明的构成 现实 ...

  3. oracle 授权 增删改查权限_linux suid,sgid,sticky-bit三种特殊权限简介

    三种特殊权限简介 SUID 当一个设置了SUID 位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权. 如果所有者是 root 的话,那么执行人就 ...

  4. STM32中GPIO口八种工作模式简介及LED灯测试

    STM32中GPIO口八种工作模式简介及LED灯测试 一.GPIO口八种工作模式 二. LED灯测试 一.GPIO口八种工作模式 在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式 ...

  5. Php ui 3dmax,Unity3d和3dMax美工功能简介

    3dsmax2010及以上版本安装插件,输出FBX的类型导入Unity3D中.默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体. 1.面数控制 在MAX软件中制作单一Game ...

  6. Unity3d办公场景灯光布设与光影烘焙及后处理【2020】

      先看看本案例的部分效果截图:   本文小姐姐以一个办公场地为例,和童鞋们再次讨论Unity3d室内场景的灯光布设.光影烘焙和后处理,希望对初学者有所帮助,本例的3dmax场景如下两图所示,其中第二 ...

  7. linux 五种IO模型 简介

    Linux下主要的IO主要分为:阻塞IO(Blocking IO),非阻塞IO(Non-blocking IO),同步IO(Sync IO)和异步IO(Async IO). 同步:调用端会一直等待服务 ...

  8. Unity3D两种方式播放视频

      Unity3D中播放游戏视频的方式有两种,第一种是在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上.第二种是在GUI层面上播放视频.播放视频其实和贴图非常相 ...

  9. 《Effective C#中文版:改善C#程序的50种方法》简介

    书名: Effective C#中文版:改善C#程序的50种方法 书号: 978-7-115-15888-8/TP 原书名: Effective C#: 50 Specific Ways to Imp ...

最新文章

  1. sourceinsight无法跳转函数_使用SourceInsight的三大理由,最后一点是关键!
  2. 《大话数据结构》第9章 排序 9.3 冒泡排序(上)
  3. rsync安装与配置使用 数据同步方案(centos6.5)
  4. python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...
  5. 利用vSAN Performance Monitor可视化监控vSAN性能指标
  6. 洛谷2657 windy数(数位DP)
  7. java查询mongodb 嵌套,查询嵌套文件mongoDB
  8. 给予redis和zookeeper的分布式锁
  9. WARNING: Too many active WebGL contexts. Oldest context will be lost
  10. FFmpeg —— 录制windows系统声音(附源码)
  11. 敏捷开发(scrum)简介
  12. java面试题:重写和重载的区别——详解
  13. c/s模型和b/s模型
  14. 1154 Vertex Coloring
  15. 凡亿教育发布电子工程师利器:IC封装网 V.1.0
  16. 在centos7.7安装搜狗输入法踩坑日记
  17. DL之DSSD:DSSD算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  18. labview 读取xml_在LabVIEW中使用XML
  19. Java concurrent包中常用的类
  20. 一键U盘启动快捷方式

热门文章

  1. Boost出现error C2678
  2. mv单位是什么意思_ayawawa经常说的pu MV是什么意思 怎么mv是什么意思算
  3. unity3d网络延时检测
  4. 致丰巢:品牌管理,才是长久之计
  5. Android知识架构 · Java的编程思想
  6. IE浏览器将于明年6月“退役”,程序员和IE的爱恨情仇终结了
  7. 李宏毅机器学习 02回归
  8. 剑指offer——栈
  9. 哨兵机器人钢力士_“X战警”中钢力士超乎常人的防御力很强吗?他惨遭这三位打脸!...
  10. 2小时开发《点球射门游戏》,动画演示思路(上),代码已开源