[原]Unity3D深入浅出 - 光源组件(Light)
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)的更多相关文章
- [原]Unity3D深入浅出 - 摄像机组件(Camera)
在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags ...
- [原]Unity3D深入浅出 - 认识开发环境中的Component(组件)菜单
Component(组件)是用来添加到GameObject对象上的一组相关属性,本质上每个组件都是一个类的实例,比如在Cube上添加一个Mesh网格,即面向对象的思维方式可以理解成Cube对象里包含了 ...
- [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...
- [原]Unity3D深入浅出 - 粒子系统(Particle System)
粒子系统是在三维空间渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由粒子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>I ...
- [原]Unity3D深入浅出 - 天空盒(Skyboxes)
Unity3D中自带了9中天空盒,在Assets - Import Package - Skyboxes 即可导入天空盒资源. 为Scene添加Skybox:在Edit菜单项里的Render Sett ...
- [原]Unity3D深入浅出 - Shader基础开发
概述 简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码.Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的 ...
- [原]Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)
NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路..导航时,只需要给导 ...
- [原]Unity3D深入浅出 - 物理材质(Physics Materials)
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Mate ...
- [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...
随机推荐
- 2014年辛星完全解读Javascript第六节 对象
随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...
- Android 的自定义Spinner组件实现方式
一.Android的API方式默认实现的方式 1.layout下编辑main_activity.xml <RelativeLayout xmlns:android="http://sc ...
- DataSet数据导出为Excel文档(每个DataTable为一个Sheet)
Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...
- oracle 行转列 分析函数
oracle 行转列 首先看一下源数据: 方法一:WM_CONCAT group by 这个方法没有问题. SELECT CODE_TS, WMSYS.WM_CONCAT(S_NUM + || ':' ...
- Hadoop学习---安装部署
hadoop框架 Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracke ...
- ExtJs 4.2.1 复选框数据项动态加载(更新一下)
最近在做博客项目,后台管理用的是ExtJs4.2.1版本,因为是初学所以在使用的时候也遇到不少的这样或那样的问题,也写了不少这方面的博客,今天要写的博客是关于复选框数据项动态的加载功能,以前也没用过, ...
- linux复制多个文件到文件夹
linux复制多个文件到文件夹 cp file1 file2 file3 directory即将文件file1 file2 file3复制到directory
- 团体程序设计天梯赛-练习集L1-010. 比较大小
L1-010. 比较大小 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 本题要求将输入的任意3个整数从小 ...
- 关于PYTHON的反射,装饰的练习
从基本概念,简单例子才能慢慢走到高级一点的地方. 另外,PYTHON的函数式编程也是我很感兴趣的一点. 总体而言,我觉得OOP可以作大的框架和思路,FP能作细节实现时的优雅牛X. ~~~~~~~~~~ ...
- android 多个listView的向下滚动设置 listView动态设置高度代码
墨迹天气图: 这里都是用的android里面的shape实现的,实现起来比较简单,只是在滚动的时候有点小麻烦... 当我们多个ListView超出了它的父控件LinearLayout的时候,它们每个L ...