前言

在上一篇我们简单了了解了Unity 2D动画的实现,在这一篇中,我们来学一下Unity的2D Light,给我们的2D动画添加上光照效果,简单的效果图如下:

首先先分享一个B站上别人翻译了的视频:https://www.bilibili.com/video/BV1Y4411g7wc?t=440 视频介绍的很详细了。

Unity的2D Light是在2019.2版本之后才有的,因此首先要保证自己的Unity版本是2019.2或者更新。由于自己现在工程是2019.3的,所以就按照新版本介绍啦。(注:Shadow Caster 2D也2019.3版本才有的组件)

URP的官方文档:https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.1/manual/index.html

图片设置

前面场景里面只有孤零零的一只猫,现在我们给他加一个背景上去,大家可以根据自己的喜好添加。

在Sprite Renderer中,我们添加两个新的Layer,分别叫Background和Character,给背景图的Sorting Layer设置为Background,猫咪的设置为Character(设置这个的原因后续会讲解到)

初步效果如下:

环境配置

我们先打开Window->Package Manager窗口,下载Universal RP(URP,2019.3版本新功能),2019.2版本的话下载Lightweight RP(LWRP)。

添加好之后,我们会发现在创建灯光的选项中新增了2D选项,但是都是置灰的。

此时我们需要设置下URP,首先我们在Project面板右键Create一个Pipeline Asset(取名为:URPAsset)和一个2D Renderer(取名为:2DRendererData)

选中LWRPAsset,将其Renderer Type改为Custom,并将我们生成的2DRendererData拖上去。

       

然后在Edit->Project Settings中,在Graphics的设置中,将我们的Asset拖上去即可,此时我们就可以创建2D Light了。

注:此时添加2D Light,对我们图片不会产生影响,并且图片即使没有灯光,依旧是亮着的(但是重新拖Sprite到场景中效果就正确了)。这是因为我们在之前环境下生成的Sprite Renderer自动填充的Material使用的Shader不受光照影响。我们可以在工具栏Edit下进行升级

不受光照影响:       受光照影响:

此时我们摄像机看见的就全黑了,因为我们还没有添加光照。

灯光设置

先简单的介绍下现有的几种2D Light:

Freeform Light 2D

我们可以通过Edit Shape自行定义各种形状的灯光。在Inspector面板中可以定义灯光颜色强度,边缘的衰退效果等。

其中需要强调的是Target Sorting Layer,也就是该灯光作用的图层。由于最上面图片设置的时候,我们设置了新的Layer,所以灯光这我们也需要选择下,否则依旧是一片漆黑。

Sprite Light 2D

可以通过设置Sprite来定义灯光的形状。

Parametric Light 2D

一种多边形的灯光,我们可以通过设置Sides来设置其边数。

Point Light 2D

点光源,同时我们可以将其设置成扇形光源,可以用于实现阳光照射的效果。

Global Light 2D

全局光照,可以通过设置光照强度颜色这些参数,进行全局的影响。

介绍完几种光照后,我们就开始为我们的场景添加自己想要的光照效果即可。由于很简单,这边就不过多介绍了。

设置阴影

首先给2D灯光设置阴影效果是2019.3版本的新功能,我们需要先给会产生阴影的灯光设置一下阴影强度(Shadow Intensity)。然后给我们会产生阴影的物体(也就是小猫咪)添加一个Shadow Caster 2D组件。

添加好之后发现也有个可编辑Shape,灯光会在照射到这个Shape后产生阴影。

     

Use Renderer Silhouette 是否将Renderer的轮廓作为阴影计算的一部分
Casts Shadows 是否开启阴影
Self Shadows 是否开启自身阴影

关于Use Renderer Silhouette和Self Shadows的搭配,文档中有个简单的例子,这里就贴一下。

注:由于我们的猫咪是有动画的,但是这种方式添加的阴影并不会因为播放动画时,图片的变形而动态的更新新的阴影。

Unity 2D光照(2D Light)和阴影(Shadow Caster 2D)相关推荐

  1. 2d shader unity 阴影_Unity中实现2D光照系统

    在一些 2D 游戏中引入实时光影效果能给游戏带来非常大的视觉效果提升,亦或是利用 2D 光影实现视线遮挡机制.例如 Terraria, Starbound. 2D 光影效果需要一个动态光照系统实现, ...

  2. Unity—GI光照贴图

    参考转载来源,unity全球官方网站&麦子学院魏知晓&Json_c: 什么是全局光照--Global Illumination/GI? 什么是光照贴图--LightMap? 什么是光照 ...

  3. 在自定义Shader中应用Unity全局光照

    目录 从一个简单的Diffuse Shader开始 接受间接光照--使用内置函数 贡献间接光照--meta pass 结果 上一篇是关于Unity全局光照系统的介绍和使用方法,但是用于测试效果的场景物 ...

  4. Unity 3D光源-Point Light点光源详解/灯泡、模拟灯光效果教程

    Unity4大光源之点光源 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  5. Unity教程||Unity 渐进式光照贴图烘焙详解

    随着各大计算平台的算力稳步增长,特别是GPU技术的不断进化,原先可望而不可及的技术比如实时光线追踪技术开始逐步走入玩家的视野.一些先锋厂商甚至已经超出Demo的范畴,开始正式推出支持实时光追的游戏. ...

  6. unity 烘焙 光照贴图 以及一些灯光的相关问题(一)

    在做游戏场景的时候,由于一般场景大部分的物体都是静止不动的(static),如果这些物体使用实时光照的话,会有很大的性能开销,比如物体的阴影.但是由于很多情况下,场景中大部分物体的位置不会在游戏运行的 ...

  7. Unity Global Illumination(Unity 全局光照 ) 官方手册笔记系列之Enlighten

    Enlighten 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作都是基于Unit ...

  8. 光照探针 Light Probe

    目录 1. 概念 1.1 什么是光照探针 1.2 光照探针作用 2. 使用 光照探针组 Light Probe Group 2.1 概念 2.2 使用方式 2.3 属性 2.4 光探头放置故障排除 3 ...

  9. Three.js光照贴图添加阴影(·lightMap)

    Three.js光照贴图添加阴影(·lightMap) 本文是Three.js电子书的8.7节 在三维场景中有时候需要设置模型的阴影,也就是阴影贴图或者说光照贴图·lightMap,一般Threejs ...

最新文章

  1. 讲真!朋友圈别设置三天可见!
  2. win7蓝牙怎么连接_台式机蓝牙怎么连接
  3. Angular 2与TypeScript概览
  4. .net 启动mysql数据库连接_[ASP.net教程]mysql数据库连接方式(.net)
  5. 七月文章导读【TCP/IP相关】:解密 TCP/IP;什么是公网ip?什么是内网ip?为什么ip地址通常以192.168开头?
  6. linux抓包库libpcap,linux下libpcap抓包分析.doc
  7. PHP用户连续签到赠送额外积分
  8. matlab中注释多行
  9. 视频结构化+AI,智能安防的未来
  10. 人工智能/数据科学比赛汇总 2019.9
  11. TDSQL演进三部曲
  12. procreate绘画零基础入门教程
  13. 应用商店打开服务器错误,应用商店出错的修复方法
  14. C#获取当前时间毫秒值
  15. AI给安卓开发带来的好处
  16. Python实现将坐标点绘制到地图上
  17. 长安大学计算机考研大纲,长安大学自动控制理论研究生入学考试大纲
  18. 微信小程序表格的实现(纯css 表格的实现)
  19. niuke---勾股定理
  20. 图解Windows98安装

热门文章

  1. ksps什么单位_采样频率Hz 采样率KSPS或MSPS,两种单位的换算关系
  2. [Vjudge]卡片游戏
  3. 计算机学硕考公更好还是专硕,专硕 VS 学硕 你适合读哪种?
  4. java小程序贪吃蛇代码_微信小程序Demo之贪食蛇
  5. Springboot---Model,ModelMap,ModelAndView
  6. 中华名将索引 - 第一批:廉颇
  7. 讨伐Zookeeper
  8. Unity Camera设置-Culling Mask
  9. bell-lapadula vs biba
  10. 从前端角度分析浏览器响应时间慢等情况