Unity中提供了四种光源:

  • Directional light: 方向光,类似太阳的日照效果。
  • Point light: 点光源,类似蜡烛。
  • Spotlight: 聚光灯,类似手电筒。
  • Area Light:区域光,无法用作实时光照,一般用于光照贴图烘培。

接下来介绍光源的参数:如下图

  • Type:可以选择以上介绍的四种光源类型
  • Range:设置光源范围的大小,从光源对象的中心发射的距离。只有Point和Spotlight有该参数。
  • Color:光源的颜色
  • Instensity:光源的强度
  • Cookie:用于为光源设置拥有alpha通道的纹理,时光线在不同地方有不同的亮度,如果是聚光灯(Spotlight)和方向光(DirectionalLight),可以指定一个2D纹理。如果是一个点光源(Point light),必须指定一个Cubemap(立方体纹理)。
  • Cookie Size:用于控制缩放Cookie投影,只有方向光(DirectionalLight)有该参数。
  • Shadow Type:阴影类型
    • No Shadows 关闭阴影
    • Hard Shadows 硬阴影
    • Soft Shadows 软阴影
    • 个人理解:与现实世界对比,硬阴影就好比太阳光特别的强烈,照出来的影子有棱有角;软阴影就好比阴天的时候,但是有有那么一丝丝阳光,影子相比没那么明显,阴影比较平滑,需要注意的是软阴影会消耗系统更多的资源。
    • 注意:默认设置下,只有Directional light光源才可以开启阴影,Pointlight、Spotlight光源开启阴影的话会弹出提示(Only directionallight have shadows in forward redering),意思就是说只有Directionallight光源在Forward模式下才可以开启阴影(只有发不成web版或单机版才支持)
    • Strength:强度,就是晴天跟阴天的效果吧
    • Resolution:控制阴影分辨率的质量
    • Bias:设置灯光控件的像素位置与阴影贴图值比较的偏移量,取值范围0~0.5,当值过小,对象表面会产生self-shadow,就是物体的表面会有来自于自身阴影的错误显示;当值过大,阴影就会较大程度的偏离投影的对象。
    • Softness:控制阴影模糊采样去的偏移量,只有方向光设置为软阴影的情况才会启用。
    • Softness Fade:控制阴影模糊采样区的偏移量,有有方向光设置为软投影的情况下才会启用。
  • Draw Halo:勾选此项,光源会开启光晕效果。
  • Flare:耀斑/炫光,镜头光晕效果。
  • RenderModel 渲染模式
    • Auto:自动,根据光源的亮度以及运行时Quality Settings的设置来确定光源的渲染模式。
    • Important:重要,逐像素进行渲染,一般用于非常重要的光源渲染
    • Not Important:光源总是以最快的速度进行渲染。
  • Culling Mask :剔除遮蔽图,选中层所关联的对象将收到光源照射的影响。
  • Lightmapping:光照贴图,用于控制光源对光照贴图的影响模式
    • RealtimeOnly:实时灯光计算,不参与光照贴图的烘培计算。
    • Auto:自动
    • BakedOnly:用于光照贴图的烘培,不进行实时灯光计算。

需要注意的是,如果场景中对光源要求不高的话,就尽量选用Directional Light光源,另外两个光源(PointLight,Spotlight)会比较消耗内存资源。

对光源参数的介绍就到这里下一章介绍 摄像机(Camera)的参数 

[原]Unity3D深入浅出 - 光源组件(Light)的更多相关文章

  1. [原]Unity3D深入浅出 - 摄像机组件(Camera)

    在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags ...

  2. [原]Unity3D深入浅出 - 认识开发环境中的Component(组件)菜单

    Component(组件)是用来添加到GameObject对象上的一组相关属性,本质上每个组件都是一个类的实例,比如在Cube上添加一个Mesh网格,即面向对象的思维方式可以理解成Cube对象里包含了 ...

  3. [原]Unity3D深入浅出 - 脚本开发基础(Scripts)

    常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...

  4. [原]Unity3D深入浅出 - 粒子系统(Particle System)

    粒子系统是在三维空间渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由粒子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>I ...

  5. [原]Unity3D深入浅出 - 天空盒(Skyboxes)

    Unity3D中自带了9中天空盒,在Assets - Import Package - Skyboxes 即可导入天空盒资源. 为Scene添加Skybox:在Edit菜单项里的Render Sett ...

  6. [原]Unity3D深入浅出 - Shader基础开发

    概述 简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码.Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的 ...

  7. [原]Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)

    NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路..导航时,只需要给导 ...

  8. [原]Unity3D深入浅出 - 物理材质(Physics Materials)

    在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Mate ...

  9. [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)

    在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...

随机推荐

  1. 记一个JAVA关于日期的坑

    JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...

  2. 关于HTML代码的转义

    笔记: 1.在通过jsonp方式传输HTML代码的时候,为了防止代码中的一些字符影响json的语法,需要对HTML代码进行转义. 2.转义的时候可以只转义特殊字符(引号之类的),也可以把所有字符(中文 ...

  3. 解决Execwb 导致 ado崩溃的问题。

    http://qc.embarcadero.com/wc/qcmain.aspx?d=61255

  4. (转载)MS SQL Server 未公开的加密函数有哪些?

    MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Serv ...

  5. SharedPreference.Editor的apply与commit方法不同之处

    定义: void apply boolean commit; 相同:二者都是提交修改的数据 手机里的文件存放在/data/data/<package_name>/shared_prefs ...

  6. easyui 多行文本框 Multiline TextBox

    <input class="easyui-textbox" data-options="multiline:true" value="This ...

  7. 3140:[HNOI2013]消毒 - BZOJ

    题目描述 Description 最近在生物实验室工作的小 T 遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为 a*b*c,a.b.c均为正整数.为了实验的方便,它被划 ...

  8. sql之left join、right join、inner join的区别(转)

    感谢:http://www.cnblogs.com/pcjim/articles/799302.html ----------------------------------------------- ...

  9. unity 3d 获取鼠标当前坐标

    获取当前鼠标position:Input.mousePosition;

  10. python读取mnist

    python读取mnist 其实就是python怎么读取binnary file mnist的结构如下,选取train-images TRAINING SET IMAGE FILE (train-im ...