【unity笔记】一、常见技术名词解析(HDRP/URP)

2024-06-11 17:28

本文主要是介绍【unity笔记】一、常见技术名词解析(HDRP/URP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介

在Unity中,Shader是用于控制图形渲染过程中顶点和像素处理的程序。Shader通常用于定义物体在屏幕上呈现的外观,包括光照、纹理、颜色和其他视觉效果。Shader编写在特定的着色语言中,如HLSL(High-Level Shading Language)。

渲染管线(如HDRP和URP)与Shader有直接关系,因为渲染管线定义了渲染过程中Shader如何执行,以及它们如何与管线中的其他组件交互。

unity中有四种可用的渲染管线:

  1. 内置渲染管线(Built-in RP),Unity 的默认渲染管线,自定义选项有限。
  2. 通用渲染管线(URP),快速轻松自定义的可编程渲染管线,可在各种平台上创建优化的图形。
  3. 高清渲染管线(HDRP),可编程渲染管线,可在高端平台上创建出色的高保真图形。
  4. 可编程渲染管线(SRP),使用API来创建自定义渲染管线。

详细对比可以查看官网给出的文档:Render pipeline feature comparison - Unity 手册。

二、内置渲染管线——Built-in Render Pipeline(Built-in RP)

通过使用渲染管线资源(Render Pipeline Assets)来明确使用的SRP类型,否则将默认使用内置渲染管线。 改变活动渲染管线时,需要确保现有的资源和代码与新的渲染管线兼容,否则有可能出错。

三、脚本化渲染管线——Scriptable Render Pipeline(SRP)

在Unity中,SRP通常指的是"Scriptable Render Pipeline"的缩写,即脚本化渲染管线。这是一种灵活的渲染框架,允许开发者通过C#脚本编写自定义渲染流程,以满足特定项目的需求。Scriptable Render Pipeline为开发者提供了强大的控制能力,以便他们能够优化和定制渲染流程。URP 和 HDRP 建立在 SRP 之上。

四、高清渲染管线——High Definition Render Pipeline(HDRP)

HDRP是为高质量图形而设计的。它支持高分辨率纹理、高级光照、反射和阴影效果等,并包括post Processing Stack V2。HDRP还提供了可编程渲染管线(PBRP)和异步计算着色器编译选项,使得它在性能和视觉效果方面都非常强大,但需要更高的计算能力和显卡性能。

五、通用渲染管线——Universal Render Pipeline(URP)

URP是为移动和轻量级渲染而设计的,因此它在处理低分辨率纹理、简单的光照和渲染时更高效。URP的目标是在低端设备上提供高性能且可扩展的图形,同时还具有良好的可配置性和灵活性。

六、HDRP与URP的异同

同:

  • 两者都基于SRP架构。

异:

  • HDRP:HDRP是用于创建高质量视觉效果的渲染管线。它支持先进的光照、阴影、体积雾、屏幕空间反射等特效,并且适用于高端平台和PC主机。
  • URP:URP是一个轻量级的渲染管线,旨在提供良好的性能和跨平台的兼容性。它适用于移动设备、虚拟现实(VR)和增强现实(AR)等低功耗平台。

七、如何安装到项目

7.1 以URP为例

  1. 在 Unity 中,打开项目。
  2. 在顶部导航栏中,选择“窗口”>“包管理器”以打开“**包管理器”**窗口。
  3. 选择“全部”选项卡。此选项卡显示当前运行的 Unity 版本的可用包列表。
  4. 从包列表中选择“Universal RP”。
  5. 在“包管理器”窗口的右下角,选择“安装”。Unity 将 URP 直接安装到您的项目中。

在这里插入图片描述

7.2 选择渲染管线

菜单Edit -> Project Settings -> Graphics中的“Scriptable Render Pipeline Settings”属性来获取或设定默认渲染管线。 若Graphics的设置 > “Scriptable Render Pipeline Settings”属性引用的渲染管线资源,则使用该值;③ 否则使用内置渲染管线。
在这里插入图片描述

八、参考

  1. Unity User Manual

这篇关于【unity笔记】一、常见技术名词解析(HDRP/URP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051811

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI