当前位置: 首页 > article >正文

Unity URP ShaderGraph 基本设置

先简单了解一下各种渲染管线之间的区别

Unity 从 2019.3 版本开始正式支持通用渲染管线(URP,Universal Render Pipeline)。URP 是轻量渲染管线(LWRP,Lightweight Render Pipeline)的升级和重命名版本,它提供了更高的性能和可扩展性,并且支持更多的功能,如更高级的光照、阴影和后处理效果。

Unity 提供了三种主要的渲染管线:内置渲染管线(Built-in Render Pipeline)、通用渲染管线(URP,Universal Render Pipeline)和高清渲染管线(HDRP,High Definition Render Pipeline)。它们在性能、图形质量和使用场景上各有侧重。

1. 内置渲染管线(Built-in Render Pipeline)

  • 渲染模式:传统的前向渲染(Forward Rendering)和延迟渲染(Deferred Rendering)。
  • 性能:比较灵活,但由于没有深度优化,可能在高负载场景下性能不佳。
  • 可扩展性:无法像 URP 和 HDRP 一样通过 SRP(Scriptable Render Pipeline)轻松定制。
  • 适用场景:虽然老旧,但兼容性好,适用于中小型项目,特别是对图形效果没有太高要求的项目。

2. 通用渲染管线(URP,Universal Render Pipeline)

  • 渲染模式:前向+自定义渲染路径(支持前向渲染、延迟渲染和更多优化技术)。
  • 性能:相对于内置渲染管线,URP 针对性能做了优化,特别适用于移动设备、VR、AR 和需要跨平台支持的项目。渲染效率更高,降低了性能开销。
  • 图形质量:提供了现代渲染特性,比如 PBR(基于物理的渲染)、更优化的阴影、光照和后处理效果,但不如 HDRP 提供的高端效果。
  • 可扩展性:URP 是基于 SRP 架构的,可通过 Shader Graph 和自定义 Pass 扩展和定制渲染效果。
  • 适用场景:适用于需要兼顾性能和视觉效果的项目,特别是移动游戏、独立游戏、以及需要在多个平台上发布的项目。

3. 高清渲染管线(HDRP,High Definition Render Pipeline)

  • 渲染模式:延迟渲染(Deferred Rendering),支持复杂的光照、反射和后处理效果。
  • 性能:HDRP 主要面向高性能平台,如高端 PC 和次世代主机,追求画面质量优先,因此性能开销较大,不适合低性能设备(如移动设备或低端硬件)。
  • 图形质量:提供了顶级的视觉效果,包括复杂的光照模型、体积光照、反射、次表面散射、全局照明、细节阴影等。非常适合 AAA 级别的项目。
  • 可扩展性:同样基于 SRP,HDRP 提供了非常高的灵活性,允许开发者定制几乎所有的渲染过程。
  • 适用场景:适用于追求极高画质的 AAA 游戏、电影制作、建筑可视化等,主要面向高端硬件和高分辨率显示器。

总结:

  • 内置渲染管线:兼容性好,适合中小型项目,但图形性能和效果较弱,难以定制。
  • URP:性能和质量平衡,适合需要跨平台支持的项目,如移动游戏和独立游戏,提供了现代的渲染特性和定制化能力。
  • HDRP:追求顶级画质,适用于高端设备和高要求的视觉项目,但性能要求高,不适合低端设备。

Shader Graph

Shader Graph 是 Unity 提供的一种可视化工具,允许开发者通过节点编辑器创建着色器,而不需要直接编写代码。这种方式大大降低了开发复杂着色器的难度,特别适合没有深厚编程背景的艺术家和设计师。

我们接下来了解一下在2019.3版本以后,我们怎么打开ShaderGraph的操作界面

选择SRP模板工程

首先在UnityHub界面,我们在创建项目工程的时候,需要选择前面有SRP的模板

 Scriptable Render Pipeline(可编程渲染管线)里面包含了两个主要的预设管线(URP、HDRP)

URP基础设置 

在我们创建好URP工程后,在PlayerSetting中,Graphics里面已经默认设置好了渲染管线为URP

确认好这个设置之后,就可以创建一个ShaderGraph文件

创建

在URP栏,先选择一个最基础的Shader模板,LitShaderGraph

界面布局

  • 全局设置和节点设置属性面板
    • GraphSettings:是对Shader整体的一个设置面板。NodeSettings:对添加的节点进行设置。
  • 公开参数列表
    • 对外开放参数,支持使用者编辑
  • 预览窗口
    • Shader编辑的效果,会展示在这里
  • 节点编辑窗口
    • 用于显示当前ShaderGraph的节点及其连接关系,并支持拖拽、缩放等操作进行对Shader的编辑
  • 菜单栏和工具栏:提供了创建、保存、导出等操作的功能按钮,以及常用的工具和快捷键。

之后的Shader编辑,就在这个页面中。


http://www.kler.cn/a/369508.html

相关文章:

  • vulnhub(16):sickos(两种打点方式)
  • 智能语音设备测试 | 音频基础
  • fastjson/jackson对getter,setter和constructor的区分
  • UE5之5.4 第三人称示例代码阅读
  • ReactOS系统中平衡二叉树。给定地址超导其所属区块MmFindRegion()
  • Spring-Day2
  • [论文阅读]Detecting Pretraining Data from Large Language Models
  • Windows服务器如何远程登录 #服务器远程教程#
  • 大数据-192 DataX - 异构数据源的同步工具 核心模块 Reader Writer
  • 【微服务】Nacos 注册中心
  • 实时面部情绪识别技术解析
  • 大券商和小券商开户,哪个更划算?
  • 算法:利用前序序列和中序序列构造二叉树
  • Spring常见面试题总结
  • java程序,生成mysql测试数据
  • 高并发-负载均衡
  • 《Python游戏编程入门》注-第4章1
  • DevOps --- Pipeline和Yaml文件
  • 有人问我:过去一年用 AI 写了多少代码
  • 力扣 —— 加油站
  • 开源实时数仓的构建
  • NYSQL期中小结
  • Redis 命令集 (超级详细)
  • 一些MySQL的知识
  • 网口电路设计
  • 【字节实习生模型训练代码注入】如何实现