Unity URP的2D光照简介

news/2025/2/13 22:01:15/

官网工程,包括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

在这里插入图片描述


用光照模拟阴影

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

    在这里插入图片描述


http://www.ppmy.cn/news/1571807.html

相关文章

jenkins手动安装插件

现象:有些时候因为网络问题或者因为版本问题下载不了或使用不了,我们可以在插件市场选择合适的版本手动安装。 确认jenkins版本 我们可以在jenkins页面右下角看到具体版本,为了选择相应版本插件 选择插件 我这里想要安装的是ThinBackup插…

UITableView的复用原理

UITableView复用的基本原理是Cell复用机制,它通过重用已经创建的Cell来减少内存开始并提高性能,避免频繁创建和销毁Cell。 复用的流程 1.队列管理 UITableView维护一个可复用队列(reuse queue),存储离屏的UITableVi…

第二章:Matlab 编程基础

第二章:Matlab 编程基础 2.1 变量与赋值 2.1.1 变量的命名规则 变量名必须以字母开头,可以包含字母、数字和下划线 (_)。变量名区分大小写,例如 myVar 和 myvar 是不同的变量。变量名不能与 MATLAB 的关键字相同,例如 if, for,…

【CMAEL多智能体框架】第一节 环境搭建及简单应用(构建一个鲜花选购智能体)

第一节 环境搭建 文章目录 第一节 环境搭建前言一、安装二、获取API1. 使用熟悉的API代理平台2.设置不使用明文存放API 三 、具体应用进阶任务 总结 前言 CAMEL Multi-Agent是一个开源的、灵活的框架,它提供了一套完整的工具和库,用于构建和模拟多智能体…

C# 两种方案实现调用 DeepSeek API

目录 序 开发运行环境 访问API的一个通用方法 原生官网实现 申请 API key 调用实现 调用示例 腾讯云知识引擎原子调用 申请 API key 调用示例 小结 序 DeepSeek(深度求索) 最近可谓火爆的一塌糊涂,具体的介绍这里不再赘述&#x…

Java常用设计模式面试题总结(内容详细,简单易懂)

设计模式的分类 创建型模式:通过隐藏对象创建的细节,避免直接使用 new 关键字实例化对象,从而使程序在判断和创建对象时更具灵活性。常见的模式包括: 工厂模式抽象工厂模式单例模式建造者模式原型模式 结构型模式:通…

性格测评小程序01需求分析

目录 1 MBTI 性格测评工具2 MBTI 的四个核心维度3 测评搭建的思路3.1 【外向 vs 内向(E/I)】(10 题,每题得分范围:0.5~3.2,较高数值表示偏向外向)3.2 【感觉 vs 直觉(S/N…

《图解设计模式》笔记(八)管理状态

十七、Observer模式:发送状态变化通知 Observer :“进行观察的人”,也就是“观察者”。 在 Observer模式中,当观察对象的状态发生变化时,会通知给观察者。 适用场景:根据对象状态进行相应处理. 示例程序…