【从零开始入门unity游戏开发之——unity篇04】unity6基础入门 —— 新建项目模板的选择(渲染管线相关的知识点)

文章目录

  • 前言
  • 一、渲染管线相关知识
    • 1、什么是渲染管线(Render Pipeline)?
    • 2、渲染管线的历史背景
    • 3、什么是 Scriptable Render Pipeline(SRP)?
    • 4、Unity三种渲染管线
      • 4.1 **内置渲染管线(Built-in Render Pipeline)**
      • 4.2 **通用渲染管线(Universal Render Pipeline,简称 URP)**
      • 4.3 **高清渲染管线(High Definition Render Pipeline,简称 HDRP)**
      • 总结
    • 5、**为什么 Unity 6 开始推荐使用 URP?**
    • 6、**如何选择渲染管线?**
    • 7、总结
  • 二、Unity7版本前瞻URP 和 HDRP合并
  • 三、内置渲染管线项目转换为URP项目
  • 专栏推荐
  • 完结

前言

前面新建项目时我们可以看到,unity提供了很多的模板。
在这里插入图片描述
在创建新项目时,看到这么多项目类型,你可能有点懵了,应该选择哪一个呢??

示例模板包括一些示例的场景,学习模板则是一个完整的项目。感兴趣可以自己创建打开看看运行看看效果。

我们主要关注的是核心模板(空项目)里的UniversalHigh Definition
在这里插入图片描述
和下面的Built-in Render Pipelin的项目模板
在这里插入图片描述
其实这三种项目模板分包就对应unity的三种渲染管线

  • Built-in Render Pipelin:内置渲染管线(Built-in Render Pipeline)
  • Universal:通用渲染管线(Universal Render Pipeline,简称 URP)
  • High Definition:高清渲染管线(High Definition Render Pipeline,简称 HDRP)

一、渲染管线相关知识

1、什么是渲染管线(Render Pipeline)?

每一帧,Unity都会将你的世界绘制到屏幕上。为了实现这一点,Unity执行一个被称为渲染的动作。Unity基于一系列的任务来进行这个渲染,这一系列的任务就称为渲染管线。

渲染管线收集了关于你场景的所有信息,然后执行一系列步骤,将这些内容绘制成一幅画面,以便在你的屏幕上显示。

你的游戏循环控制场景中发生的行为,而渲染管线则控制其外观。

在计算机图形学中,渲染管线(Render Pipeline)是指从 3D 场景的几何数据(例如物体、光照、材质等)到最终显示在屏幕上的图像的整个过程。这个过程包括了 顶点处理、光照计算、阴影处理、材质和纹理贴图应用、后期处理 等多个阶段。

每个阶段的操作都是由图形硬件(如 GPU)和软件(如 Unity)共同完成的。不同的渲染管线会影响这些处理过程的具体实现方式,从而决定游戏或应用的渲染效果、性能以及灵活性。

2、渲染管线的历史背景

在 Unity 中,渲染管线 (Render Pipeline) 这一概念是通过 Scriptable Render Pipeline (SRP) 引入的。最初,Unity 提供了 内置渲染管线,这个渲染管线是较为固定的,但随着开发者需求的增长,Unity 开始开发了两个主要的 SRP:高清渲染管线(HDRP) 和 轻量渲染管线(LWRP),后者在 Unity 2020 之后改名为 URP(Universal Render Pipeline)。

3、什么是 Scriptable Render Pipeline(SRP)?

Scriptable Render Pipeline(SRP) 是 Unity 提供的一种新的渲染架构,允许开发者用代码自定义渲染流程。传统的 Unity 渲染管线(内置渲染管线)是“固定”的,也就是说,Unity 内部处理了所有的渲染细节,开发者只能在一定程度上调整。但 SRP 提供了更大的灵活性,开发者可以完全控制渲染的各个阶段。

通过 SRP,Unity 允许开发者根据项目需求自行编写渲染流程代码,从而定制化渲染过程、增加独特的渲染效果或优化性能。

SRP 的核心优势:

  • 灵活性:开发者可以完全控制每个渲染阶段的行为,如如何处理物体的绘制、光照、阴影等。
  • 可定制性:开发者可以根据具体需求,增加新的渲染特效或修改渲染管线的逻辑。
  • 性能优化:SRP 允许开发者根据目标平台的性能特点进行优化,针对不同的设备做专门的调整。

Unity 为了简化开发,基于 SRP 实现了几个预定义的渲染管线,其中最著名的就是 URP(通用渲染管线) 和 HDRP(高清渲染管线)。

  • URP 是一种基于 SRP 的渲染管线,适用于多种平台,强调性能优化。
  • HDRP 也是基于 SRP 的渲染管线,适用于高端平台,强调图形质量和真实感。

4、Unity三种渲染管线

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

内置渲染管线是 Unity 引擎的传统渲染管线,它自从 Unity 很早的版本就存在了,基本上没有太多变化。它适合一些老旧的项目或简单的游戏开发。

  • 特点:使用起来简单直接,不需要很多配置。
  • 缺点:没有现代化的图形特效,性能和效果的优化都有限。不能利用 Unity 中的一些新特性,比如光照和材质的高度自定义。

4.2 通用渲染管线(Universal Render Pipeline,简称 URP)

URP 是 Unity 推出的一个现代化的渲染管线,它比内置管线有更多的优化和效果,特别是在移动设备、虚拟现实(VR)和增强现实(AR)等平台上表现优秀。
在这里插入图片描述

  • 特点

    • 支持更高效的图形渲染,优化了性能。
    • 适用于移动设备、VR、AR、低端设备等,能够在保证较好视觉效果的同时提高游戏的帧率。
    • 提供一些现代的图形效果,比如光照、阴影、后期处理等。
    • 支持 Scriptable Render Pipeline,可以让开发者定制渲染过程,增加更多自定义特效。
  • 优点

    • 性能优化,适用于各种平台(尤其是移动端和低端设备)。
    • 更灵活的渲染方式,允许开发者对渲染过程进行更多的控制。

4.3 高清渲染管线(High Definition Render Pipeline,简称 HDRP)

HDRP 是专门为高端平台(如 PC 和主机)设计的渲染管线,它提供了非常先进的图形效果,支持现代光照技术、高清材质、阴影等高质量的视觉效果。

  • 特点

    • 适用于高性能设备和 PC 游戏。
    • 支持 光线追踪(Ray Tracing),提供更真实的光照、反射和阴影。
    • 提供高质量的后期处理效果,如色彩校正、景深等。
    • 可以模拟现实世界中的光照反射(例如 全局光照)和更复杂的材质。
  • 优点

    • 提供非常真实的视觉效果,适合高端游戏和应用。
    • 适合 PC 和次世代主机(如 PS5、Xbox Series X)。

总结

特性内置渲染管线URPHDRP
目标平台PC、控制台、移动设备移动端、VR/AR、低端设备高端 PC、次世代主机
性能优化较弱优化良好,适应低端设备高性能设备需求,较低的性能优化
渲染质量基本的图形效果中等图形效果高质量图形,支持光线追踪和高级材质
灵活性低(很难定制)高(支持 SRP)高(支持 SRP)
适用场景小型项目或老项目现代移动游戏、VR/AR 游戏3A PC 游戏、高端图形应用

不同渲染管线支持的平台
在这里插入图片描述
更加详细的其他区别可以查看官方文档:渲染管道特征比较参考

5、为什么 Unity 6 开始推荐使用 URP?

其实以往版本,unity一直默认推荐是使用内置渲染管线,从unity6开始,可以看到unity默认安装且推荐的是使用URP项目。我觉得原因有以下几点:

  • 跨平台优化:URP 是跨平台的,支持从手机到高端 PC 的设备。它通过对性能的优化,能在不同硬件上提供更稳定的运行。

  • 现代图形效果:相比内置管线,URP 提供了更多现代化的图形特效,像是实时光照、阴影、后期处理等,这些能提升游戏画面的质量。

  • 灵活性:URP 是基于 Scriptable Render Pipeline(SRP)构建的,开发者可以更容易地定制渲染管线,添加自定义效果。

  • 性能与效果平衡:URP 提供了一种较好的性能和效果的平衡,特别适合需要在性能较差设备上运行的游戏,例如手机游戏、VR/AR 项目。

  • Unity未来的重点:Unity 宣布将长期支持 URP,并且很多新功能和更新都将围绕 URP 进行。相比之下,内置渲染管线逐渐被边缘化,Unity 鼓励开发者转向更现代化的 URP 或 HDRP。

6、如何选择渲染管线?

  • URP渲染管线的主要优势在于其性能。URP具有较低的渲染负担和较好的性能表现,适用于大多数项目它还提供了许多轻量级的着色器和功能,支持移动设备、主流和较旧的硬件平台。对于许多开发者来说,URP更容易上手和调试,适用于大多数项目的需求。如果你是新手,建议你无脑选择使用 URP。URP也是unity未来发展的趋势。

  • 如果你正在维护一个老旧的项目,或者已经使用内置渲染管线的项目,且没有特殊的需求,依然可以继续使用内置管线,但 Unity 会鼓励你向 URP 转型

  • 游戏开发中HDRP就是屎。HDRP虽然提供了高质量的视觉效果、支持高级光照模型和材质类型,但其资源需求量大、对硬件要求高、所涉及的技术复杂性等原因,导致实际项目应用较少

7、总结

  • URP:适合大多数开发者,提供平衡的性能和效果,支持移动设备、VR、AR 和低端设备。
  • HDRP:适合需要高清图形和高级效果的 PC 或主机游戏,支持光线追踪等高端特效。
  • 内置渲染管线:适合老旧项目,但不推荐新项目使用。

如果你是新手,建议从 URP 开始学习,因为它更现代、灵活,适用于大部分开发场景,同时也是 Unity 官方推荐的未来发展方向。

二、Unity7版本前瞻URP 和 HDRP合并

视频:Unity7版本前瞻➡️URP 和 HDRP合并

随着技术的发展和 Unity 用户的需求变化,Unity 渐渐意识到,尽管 HDRP 和 URP 都提供了相对独立的渲染管线,但是它们的目标受众存在交集,而两者间的差异有时也带来了一些不必要的复杂性。

如果 Unity 确实计划在未来的版本中合并渲染管线,这一举措有可能为开发者带来更加简化、统一的开发体验,并为未来的技术创新提供更多的空间。特别是对于那些跨平台开发的项目,合并管线将减少不必要的切换和兼容性问题。然而,在这一过程中,也会有过渡期的问题,需要开发者适应新的工作流程和工具。

总的来说,如果你正在开发一个新的 Unity 项目,且打算长期使用 Unity 的渲染管线,建议关注 Unity 官方文档和更新,确保了解如何在合并后的管线中高效工作。

三、内置渲染管线项目转换为URP项目

如果你创建的项目是普通的内置渲染管线项目,如果想要后期升级为URP项目其实也是可以的。

参考:【unity小技巧】为啥我们的模型材质显示粉色?unity普通项目升级URP项目


专栏推荐

地址
【从零开始入门unity游戏开发之——C#篇】
【从零开始入门unity游戏开发之——unity篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架开发】

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI也会犯错

一、缘起 1.1 问题的发现 AI模型在处理数值比较问题时,出现了一个有趣的现象:当被问到“9.9”和“9.11”哪个更大时,一些AI模型给出了错误的答案,认为“9.9”大于“9.11”。这一问题最初是由 Riley Goodside 发现的,…

Telnet工具的使用

Mac 下载安装,双击打开Windows 默认自带,但需要开启使用,控制面板->启用或关闭windows功能->Telnet客户端 管理员身份启动终端,输入telnet。远程连接 telnet ip 端口号 #看到输出后再回车一次调用服务 首先明确项目中有哪些…

Python的Matplotlib库应用(超详细教程)

目录 一、环境搭建 1.1 配置matplotlib库 1.2 配置seaborn库 1.3 配置Skimage库 二、二维图像 2.1 曲线(直线)可视化 2.2 曲线(虚线)可视化 2.3 直方图 2.4 阶梯图 三、三维图像 3.1 3D曲面图 3.2 3D散点图 3.3 3D散…

一个个顺序挨着来 - 责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern) 责任链模式(Chain of Responsibility Pattern)责任链模式(Chain of Responsibility Pattern)概述责任链结构图责任链模式概述责任链模式涉及的角色 talk is c…

Laravel 新 WebSocket 服务 Reverb 使用指南

旧篇 > Laravel/Lumen 中使用 Echo Socket.IO-Client 实现网页即时通讯广播 https://blog.csdn.net/maxsky/article/details/130394420 已过时 与时俱进,Laravel 官方在 2024 年 7 月发布了 laravel/reverb 包的正式版,因为之前使用的 laravel-echo-…

WEB攻防-通用漏洞_文件上传_黑白盒审计流程

目录 前置知识点 Finecms-CMS文件上传 ​编辑 Cuppa-Cms文件上传 Metinfo-CMS 文件上传 前置知识点 思路: 黑盒就是寻找一切存在文件上传的功能应用 1 、个人用户中心是否存在文件上传功能 2 、后台管理系统是否存在文件上传功能 3 、字典目录扫描探针文件上传构…

Agentic RAG 解释

RAG(检索增强生成)通过提供来自外部知识源的相关背景来帮助提高 LLM 答案的准确性和可靠性。 Agentic RAG 是高级 RAG 版本,它使用 AI 代理来更加自主地行动。 Agentic RAG 执行以下操作 查询理解、分解和重写检索策略选择知识库管理结果综…

apex安装

安装过程复杂曲折,网上说的很多办法,貌似成功了,实际还是没起作用。 先说成功过程,执行下面命令,安装成功(当然,前提是你要先配置好编译环境): (我的环境&a…

基于FPGA的出租车里程时间计费器

基于FPGA的出租车里程时间计费器 功能描述一、系统框图二、verilog代码里程增加模块时间增加模块计算价格模块上板视频演示 总结 功能描述 (1);里程计费功能:3公里以内起步价8元,超过3公里后每公里2元,其中…

jdk8升级JDK21(Springboot2.7.18升级Springboot3.4.0)

目录 背景: 一、maven升级 二、代码改造 2.1 javax替换为jakarta 2.2 swagger2升级swagger3相关更新 2.2.1 新增SpringDocConfig配置类 2.2.2 全局代码更新 2.2.3 全局代码替换(普通正则替换) 2.3 Mybatis Plus升级 2.4 logback.xm…

AI赋能跨境电商:魔珐科技3D数字人破解出海痛点

跨境出海进入狂飙时代,AI应用正在深度渗透并重塑着跨境电商产业链的每一个环节,迎来了发展的高光时刻。生成式AI时代的大幕拉开,AI工具快速迭代,为跨境电商行业的突破与飞跃带来了无限可能性。 由于跨境电商业务自身特性鲜明&…

【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码

【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码 一、前言 官方文档关于屏幕录制的API和示例介绍获取简单和突兀。使用起来会让上手程度变高。所以特意开篇文章,讲解屏幕录制的使用。官方文档参见:使用AVScreenCaptureRecorder录屏写文件(ArkTS) 二…

Android - NDK:编译可执行程序在android设备上运行

在android开发中,调试时会把C代码直接编译成可执行程序,运行在android设备上以确认其功能是否正常。 1、基于NDK编译可执行文件 2、push到 /data/local/tmp目录下 3、设置权限,执行。 ndk工程中build.gradle设置 groovy plugins {id com.a…

用matlab调用realterm一次性发送16进制数

realterm采用PutString接口进行发送,需要注意的是发送的16进制数前面要加入0x标志。只有这样,realterm才能将输入的字符串识别为16进制数的形式。 另外,PutString函数支持两个参数输入,第一个参数为字符串,第二个参数为发送形式&…

Python3刷算法来呀,贪心系列题单

1.7号题单 1、​​​​​​k次取反后最大值 2、柠檬水找零 3、分发糖果 示例 1: 输入:ratings [1,0,2] 输出:5 解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。示例 2: 输入:ratings…

el-table拖拽表格

1、拖拽插件安装 npm i -S vuedraggable // vuedraggable依赖Sortable.js,我们可以直接引入Sortable使用Sortable的特性。 // vuedraggable是Sortable的一种加强,实现组件化的思想,可以结合Vue,使用起来更方便。 2、引入拖拽函数…

Unity学习笔记(七)使用状态机重构角色攻击

前言 本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记 攻击状态重构 首先我们重构攻击状态的动画 之前的动画,我们是使用状态(isAttacking)攻击次数(comboCounter)完成动画的过渡,这样虽然能完成功能,但是如…

Windows10环境下安装RabbitMq折腾记

最近有个老项目需要迁移到windows10环境,用的是比较老的rabbitmq安装包,如下所示。经过一番折腾,死活服务起不来,最终果断放弃老版本启用新版本。现在把折腾过程记录下: 一、安装erlang 安装完成后的目录结构&#xff…

了解RabbitMQ中的Exchange:深入解析与实践应用

在分布式系统设计中,消息队列(Message Queue)扮演着至关重要的角色,而RabbitMQ作为开源消息代理软件的佼佼者,以其高性能、高可用性和丰富的功能特性,成为了众多开发者的首选。在RabbitMQ的核心组件中&…

分布式主键ID生成方式-snowflake雪花算法

这里写自定义目录标题 一、业务场景二、技术选型1、UUID方案2、Leaf方案-美团(基于数据库自增id)3、Snowflake雪花算法方案 总结 一、业务场景 大量的业务数据需要保存到数据库中,原来的单库单表的方式扛不住大数据量、高并发,需…