Unity已经成为游戏程序员中越来越受欢迎的游戏引擎。这是因为Unity直接支持多种平台,如移动、桌面和控制台环境。此外,对于低收入开发者或工作室来说,它是免费使用的。
Unity支持多种技术和组件。一些关键部件是灯光和照明技术。在Unity中,你可以通过模拟复杂的灯光行为或者通过简单的灯光模型来照亮场景。
本教程将重点讲解如何在Unity 5使用照明工程,照明类型和属性,以及如何使用它们来创建丰富的照明效果。
预设条件
首先,确保你有最新版本的Unity。在本教程中,我们使用的版本5.5.0f3。确保您使用的是最新的Unity版本,否则您可能会在教程中使用物理连接后出现问题。
下一步,下载LightingIn-Starter文件,解压并在Unity中打开项目。Demo场景应该能够自动打开,如果不行,可以从Assets文件夹中打开。
定向和非定向光
在现实世界中,你有两种类型的照明效果:直接和间接照明。直接照明,顾名思义,是直接从光源照射的灯光(灯,太阳或其他)。另一方面,间接照明是来自另一物体的光。
在场景中的Action中你就可以看到直接照明,正如你能注意到的一样,场景中有一个直接光源叫做Directional Light
直接光源主要用于太阳以及月亮等户外光源,他们影响场景中所有物体的表面。他们也是开销最小的图形处理器
你可以在检视面板中选择Directional Light并查看其属性。你会注意到一些有趣的属性,比如类型,颜色以及敏感度等等。你可以改变颜色和旋转属性并实时查看结果。通过改变这些值,你可以直接改变你的定向光。
 
这时候,你的3D场景中没有任何的非定向光。你可以通过将球体移动至贴近红色或者绿色的墙来检查,发现球体颜色没有改变,说明场景中没有非定向光。
 
使用非定向光的方法之一就是使用静态对象。请记住,静态对象的使用可以提高游戏渲染的性能,但也会降低游戏质量,所以你必须在游戏中找到最佳的平衡。
在场景中添加一个方块,将它放置到球体的旁边,并命名为Cube
 
选中这个Cube,并在细节面板中启用静态属性
 
当启用静态属性时,Unity将自动为该对象创建一个光照贴图,并应用正确的光照模型。现在你可以将相机移动到Cube并发现非定向光开始起作用了。绿色或者是红色的光现在蔓延到了立方体上。
 
如果你改变定向光的方向,你会发现Unity将会自动更新光照贴图。
被施加到立方体上的间接照明不适用于球体,因为球体不是静态的。你可以通过使球体静态(检视>静态)来解决这个问题。
这个时候,你可以添加和配置定向以及非定向光到静态对象。然而,3D大多都是由动态对象组成。因此,我们如何将这些效果应用到那些动态对象呢?我们接下来将具体说明
光照探测器
当你的场景中包含非静态的物体,你需要使用特定的照明技术,正确地照亮他们,使他们看起来不像从场景中断开
通过使用光探针及其位置,可以在场景中采样点。每个光探针可以采样特定区域,然后计算该特定区域的照明。这些计算足够快,可用于游戏期间。光探针的使用避免了移动物体的照明和场景中的静态光映射对象之间的连接断开
球体是一个动态物体,因此,与它看起来的相反,它没有被正确地照亮。如果你把定向灯关闭,你会注意到,唯一影响球的照明是环境光。要正确地照亮球体,你需要使用光探测器
要添加光探针,你需要在Component > Rendering > Light Probe Group下打开。这样会在场景中创建一个光探针组
 
下一步是将探头放在正确的位置。你现在要将他们放在盒子的每个角落
最好的办法是改变一个视图(单击在场景右上角的立方体)。然后,选择每个光探测节点并将其拖到每个框角
 
重复上述步骤,直到你在所有的角落中安装了光探头
有些场景需要额外的探针正确地照亮物体。为了添加更多的探针,您可以选择一个探头,然后在检视面板中,单击重复选定按钮。
 
复制之后,您需要将新节点放置在正确的位置(复制的一个节点将与所选的位置处于同一位置)
 
如果你仔细查看界面的督察,你会注意到,您还可以添加自定义探针(添加探针),删除探针(删除选定),或选择所有的探针从组(选择所有)。
在运动中观察光探头,选择球体,并为它添加一个刚体(添加组件>刚体)。然后,给对撞机分配一个材质。您可以使用橡胶材料。
 
现在,把球体放在盒子的顶部并按下播放键,现在你可以看到球体的适当光照了。要观察差异,禁用光照探头,并且再次播放
 
点光源
点光源是游戏中最常见的光源。它们通常用于爆炸和灯泡。因为它们在各个方向发光,所以它们在图形处理器上有一个平均成本。然而,计算阴影时使用点光源更昂贵。
通过选择对象>光>点光源加一点光源。然后,将点光源放在靠近顶部的盒子内 。
 
选择点光源,并查看检视面板中的参数
 
第一个参数是类型。这里可以设置要使用的光类型。您可以选择点,方向,点,或区域。每个提供了特定的光效果。您可以选择任何选项,并看到结果的实时。然而,对于本教程,您将使用点选项。这将创建一个灯泡效果(光照所有方向相同)。
第二个参数是Baking。您可以将其设置为实时、烘焙或混合。将值作为默认值。范围参数定义光从点光源的中心发射多远。颜色参数定义发出的光的颜色
Intensity定义了光的亮度,并且Bounce Intensity定义了间接光强度倍数。 Shadow Type定义了阴影属性和阴影类型。你可以设置它 No Shadows, Hard Shadows,或者是Soft Shadows。记住,电光源的阴影对于引擎来说开销是最大的,所以要小心选择此选项。
如果选择Hard Shadows 或Soft Shadows,你会看到球体和点光源产生的阴影。当你改变强度值时,阴影也会减轻或加重。该分辨率允许您定义阴影的详细级别。最后, Bias 和Normal Bias让您在配置偏移时被使用来比较像素位置在光空间与阴影贴图。
cookie是一个可选的参数,它代表一个纹理的alpha通道,用来确定不同位置的光的亮度。因为这是一个点光源,必须使用一个立方体贴图纹理
Draw Halo选项只在光源周围呈现光晕。耀斑定义了一个在光的位置呈现的耀斑的引用。当调试3D场景和可能的瓶颈时,耀斑和Draw Halo可能是有用的
Render Mode定义了当渲染器渲染场景时照明是多么重要。更重要的是,渲染将更密集。渲染模式可以设置为自动的,重要的,或不重要的。最后,剔除遮罩用于选择或排除,由点光源影响的对象组。
聚光灯
点光源从特定区域的光源发射光。它们只照亮一个特定区域内的物体,一个由三维圆锥体分隔的区域。基本上,他们的工作就像汽车的前灯。你可以想象,他们是完美的手电筒,汽车大灯,或灯柱。他们在图形处理器中也是开销很大的。
现在让我们把点光变成聚光灯。选择您创建较早的点光源并将其类型更改为聚光灯。下一步,旋转的光线,以便它可以照亮地板的盒子。重命名为聚光灯。
 
正如你可能已经注意到的,在检视面板中,聚光灯的参数和点光源的参数是很相似的。但是,有一个新的参数叫做Spot Angle
 
Spot Angle决定光锥度数的角度
无论直接和间接照明,聚光灯工作完全像点光源。你有同样的局限性和优势。因此,在游戏中设置灯光平衡时必须小心。
注意,你可以总是使用阴影和烘烤以平衡外观和性能
区域灯光
区域光是在一个平面的矩形区域的所有方向上发出的光。这个矩形是定义在宽度和高度属性。区域光仅在光贴图烘焙时可用,这意味着它们在运行时不会对对象产生影响。
选择点光源并将其类型更改为区域,并将其名称改为区域光。下一步,把灯放在盒子里,然后在检查员里面改变宽度和高度,以盖住盒子里面的整个区域。
 
通过查看区域灯光参数,你会发现大多数的参数都类似于以前的,例如,Draw Halo, Flare, Render Mode, 以及Culling Mask.
真正的新参数是宽度和高度。两者都用来设置矩形光区的大小。
 
如果你按播放,你会看到该地区的光是投在其范围内的所有对象的光。矩形的大小由宽度和高度属性决定。光被投射的一侧是平面的法线,与光的正z方向相同。光从矩形的整个表面发射出去。正因为如此,阴影和阴影从受影响的对象往往是比点光源或定向光源要柔和得多。
区域光的照明计算相当处理器密集型,所以它们在运行时不可用,只能被烘烤成光贴图。

Unity灯光效果及设置相关推荐

  1. Unity灯光效果及设置详解

    时间:2017-03-03 发布:Unity3D培训 来源:Unity3D教程 分享到: Unity已经成为游戏程序员中越来越受欢迎的游戏引擎.这是因为Unity直接支持多种平台,如移动.桌面和控制台 ...

  2. Unity URP 2020 设置DOTS

    为了方便看包的信息,不做也无所谓 首先点开Advance 两个都勾选上 安装hybrid com.unity.rendering.hybrid 设置hybrid v2 ENABLE_HYBRID_RE ...

  3. Unity URP管线设置 后处理的使用

    Unity推出通用渲染管线和高清渲染管线有很长一段时间了,但是感觉使用度上不是很高,很多人不愿意尝试新的渲染管线. 我在最开始使用Unity做可视化大屏的时候,也是选择的默认渲染管线,主要是Asset ...

  4. Unity抗锯齿设置

    Unity抗锯齿设置 问题 方法 方法一 方法二 方法三 方法四 方法五 方法六 参考 问题 有时候在Unity中的模型边缘.棱角会出现锯齿的情况. 如图: 方法 一般情况,下面有以下几种方法: 方法 ...

  5. unity的静态设置以及烘培属性

    之前设置unity的静态设置的时候,都是无脑全部static,没有注意过每个属性的设置,在此,记录一下每个值对应的用处. Nothing 设置物体为非静态,下面的选项将全部不会被勾选. Everyth ...

  6. Unity之正确设置手机显示布局获取手机朝向

    目录 Unity之正确设置手机显示布局 && 获取手机朝向 前言 开篇 Unity版本及使用插件 正题 设置手机屏幕显示布局.Screen.orientation 获取手机当前朝向.I ...

  7. unity panel如何设置控件位置_Unity 关于GUI与UGUI坐标 的一点问题解惑

    曾几何时,我一直被Unity里的GUI跟坐标相关的一些问题困扰.比如在做UGUI的一些位移动画,控制UI的拖拽或者就是想在UI的某个位置显示一个实体时,总是会发生很多莫名奇妙的问题.究其原因,就是因为 ...

  8. unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯

    200+篇教程总入口,欢迎收藏: 放牛的星星:[教程汇总+持续更新]Unity从入门到入坟--收藏这一篇就够了​zhuanlan.zhihu.com 本文重点内容: 1.支持更多类型的灯光 2.包含实 ...

  9. unity编辑器一些设置

    1.清缓存: Window -> AdvancedPlayerPrefs -> Window -> Options -> Delete All Entries 2.Unity ...

最新文章

  1. Android定制:修改开机启动画面
  2. 自适应采样非局部神经网络的点云鲁棒操作
  3. linux 用root安装mysql数据库_Linux上安装Mysql及简单的使用详解
  4. 用C++写的 Levenshtein 算法实现
  5. Centos部署YApi
  6. IoU,ROI 和 ROC,AUC区分
  7. 数据结构 快速排序的三种实现 (hoare版本 挖坑法 前后指针版本)与非递归实现
  8. C++ 转 Python 这三年,我都经历了什么?
  9. android开发内存优化——利用软引用
  10. hadoop命令使用put上传文件报错
  11. 使用pyton在本地指定目录模拟服务器
  12. java io 系列(转载skywang12345)
  13. Cydia怎样添加威锋源
  14. linux media v4l2,Overview of the V4L2 driver framework (v4l2_subdev)
  15. 游戏行业如何做防护?游戏被攻击怎么办?
  16. MyBatis 框架的思想及其第一次使用
  17. idea 出现中文乱码
  18. 强力推荐mac快速查看应用快捷键工具:键指如飞FlyKey
  19. 在线考试系统如何进行考生身份验证
  20. options请求是什么?

热门文章

  1. 正事难起头 歪事防起头
  2. Java主外键的定义_java编程——浅谈数据库主键和外键及索引
  3. 深度学习AI打电话检测算法
  4. 运营是一个什么样的工作?
  5. iOS启动优化 —— 二进制重排
  6. 显卡驱动有必要更新么,如何安装显卡驱动-驱动人生
  7. 东方财富----千股千评数据,附程序代码
  8. 最终幻想VII,圣子降临
  9. Vue2中过滤器的用法详解
  10. 天津理工大学和燕山大学计算机考研哪个好,分数可以去燕山大学,天津理工大学还有浙江工业大学,该怎么选?...