【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

相关文章

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

MySQL CTE (Common Table Expressions)示例全解析

《MySQLCTE(CommonTableExpressions)示例全解析》MySQL8.0引入CTE,支持递归查询,可创建临时命名结果集,提升复杂查询的可读性与维护性,适用于层次结构数据处... 目录基本语法CTE 主要特点非递归 CTE简单 CTE 示例多 CTE 示例递归 CTE基本递归 CTE 结

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima