Unity URP的2D光照简介

官网工程,包括2d光照,动画,动效介绍:
https://unity.com/cn/blog/games/happy-harvest-demo-latest-2d-techniques
https://docs.unity3d.com/6000.0/Documentation/Manual/urp/Lights-2D-intro.html


人物脸部光照细节和脚上的阴影投射

人物脸部光照细节和脚上的阴影投射


URP环境搭建

  1. PackageManage导入UniversalRP包

    在这里插入图片描述

  2. 创建管线配置

在这里插入图片描述

  1. 调整排序坐标规则,Renderer2DData,根据Sprite的锚点y轴值排序。
    在这里插入图片描述

光照组件 Light2D

在这里插入图片描述
在这里插入图片描述

  • 四种光源类型:全局光,点光源,Sprite贴图,Freeform自定义形状

  • 只能有一个全局光照,没有方向,类似对所有接受光照的2d材质做一层颜色混合。

  • 除了全局光,其他光源可以配置阴影强度、体积光、对法线贴图混合配置等

  • TargetSortingLayers:用来指定光照到哪些layer。

  • Blending:配置颜色混合的规则。


接收光照的Sprite

  • 需要对Sprite添加一个法线贴图,光照会根据法线计算。

    在这里插入图片描述

  • 材质替换成接受光照(Lit字样)的 Sprite-Lit-Default.mat
    在这里插入图片描述


阴影投射 ShadowCaster2D

在这里插入图片描述

  • TargetSortingLayers:接受阴影投射的层级,这里只选Bg,如果也选Defualt,阴影会投射到本身自己也是同样层级身上。

  • 点击EditShape可以编辑形状


代码调试

  • 问题:因为URP代码在Library目录,没法断点调试,且unity会自动检查代码完整性,如果修改了代码,会被自动更新会原来库里的。

  • 解决方法:将库先拷出来,remove掉原来的库,导入拷出来的库即可。

    在这里插入图片描述


阴影绘制相关代码

  • C#: ShadowRendering.RenderProjectedShadows()

  • Shader:

    • 绘制阴影:Shadow2D-Projected.shader

    • 光照和阴影混合:LightingUtility.hlslAPPLY_SHADOWS

在这里插入图片描述


用光照模拟阴影

  • 使用暗色调的光照模拟为阴影

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值