以Unity6.0为例,如何在Unity中开启DLSS功能

DLSS

DLSS(NVIDIA 深度学习超级采样):NVIDIA DLSS 是一套由 GeForce RTX™ Tensor Core 提供支持的神经渲染技术,可提高帧率,同时提供可与原生分辨率相媲美的清晰、高质量图像。目前最新突破DLSS 4 带来了新的多帧生成,并与 DLSS 技术套件配合使用,将性能比传统渲染提高多达 8 倍,同时保持 NVIDIA Reflex 的响应速度。由于DLSS技术对于硬件要求较高,本人的电脑配置不符合DLSS 4的实际要求,故仅以Unity内置DLSS做简单测试,现将DLSS技术的部分硬件及驱动要求列于如下所示,不完全准确,详情可到DVIDIA官网进行查看:

NVIDIA DLSS 技术 |NVIDIA 开发人员

硬件及驱动等

DLSS 1.x: NVIDIA RTX 20系列显卡,支持DirectX 11及以上系统,将驱动程序更新到最新版本以满足DLSS需求。

DLSS 2.x: NVIDIA RTX 20,30系列显卡,支持DirectX 11 及以上系统,将驱动程序更新到最新版本以满足DLSS需求。

DLSS 3:NVIDIA RTX 40系列显卡,依赖其独有的光流加速器与更强的张量核心,支持DirectX 11及以上系统,将驱动程序更新到最新版本以满足DLSS需求。

DLSS 3.5:NVIDIA RTX 40系列显卡(支持帧生成技术),光线重建技术所有RTX显卡都可以实现,支持DirectX 11及以上系统,将驱动程序更新到最新版本以满足DLSS需求。

DLSS4.0:NVIDIA RTX 50系列显卡,支持DirectX 11及以上系统,将驱动程序更新到最新版本以满足DLSS需求。支持DirectX 12系统,将驱动程序更新到最新版本以满足DLSS需求。

以上技术能够充分实现的前提是使用游戏及应用必须支持DLSS系列技术,否则无法在相应的游戏或应用中体现出DLSS技术的优势。

Unity版本要求

Unity官方在Unity2021.2版本与DVIDIA合作,将DLSS 技术融入到Unity中,此后的Unity版本一般在HDRP项目中可原生支持DLSS 技术,故此篇文章要求的Unity版本需要Unity2021.2及以上版本,本人用于测试的版本为Unity 6系列版本及Unity2021.3版本。

实现方法

实现在Unity中启动DLSS的方法主要有三个,鉴于前两个分别耗费时间和金钱较大,本人主要使用了第三种方法,考虑到大佬们可能有方法克服前两种困难,故也将这两种方法一同列出:

1.使用Streamline SDK,用户可从github下载SDK,用于集成更多的NVIDIA技术(DLSS,Reflex等),将SDK导入Unity后,通过C#脚本调用API,以实现对应的要求。此方法较有技术门槛,或许还需要用户自行收集对应技术的其他库,故不推荐小白入手,SDK下载网址如下:

GitHub - NVIDIAGameWorks/Streamline: Streamline Integration Framework

2.可通过Unity的资源商店或CSDN的其他技术博客中的链接下载Unity的DLSS插件,DLSS-Upscaling for Unity, 将资源导入Unity中以实现对应需求,此方法可能会有一些经济支出,需要者可自行选择。

3.通过在原生支持DLSS技术的Unity中进行操作以实现开启DLSS功能,下面我将会对于此方法详细介绍,正文开始,操作加载中......

正文

首先检查自己的硬件,驱动,Unity版本是否符合要求,大家可通过在GeForce Experience的设置查看个人的显卡和驱动版本或将驱动程序进行升级等。确定符合要求后在Unity中创建一个HDRP项目以支持DLSS功能,以下为HDRP支持DLSS的平台(来源:Unity官方手册)

在Project Settings中找到当前的HDRP Asset文件,单击以快速确定其位置。

查看当前HDRP Asset的Inspector窗口,勾选Rendering下的Dynamic resolution中的Enable选项。

打开Window下的Package Manager窗口,选择Built-in,搜索NVIDIA,安装其内置包,也可以通过下图通过对NVIDIA的DLSS功能进行激活修复,到包管理器中查看是否下载成功。

在Unity 6中,可通过下图所示开启DLSS,而在Unity2021.3中其视图稍显不同,总归操作一致,无伤大雅。

Unity 6版本

Unity2021.3

在成功启用DLSS后,可看到几个与DLSS有关的属性,大家可通过对不同的属性进行调整以获取更好的游戏或应用体验。

接下来我们来找到使用了该HDRP Asset的Camera游戏物体,在其Camera组件的Rendering选项下,勾选Allow(HDRP) Dynamic Resolution选项(Allow后的括号中是Unity 6中的叫法),勾选后出现DLSS的不同属性值,此时,我们就已成功在Unity中开启DLSS的功能了。

Unity 6版本

上图提示信息提醒我们此时正在使用DLSS功能,在DLSS开启时,Fallback Post Anti-aliasing作为备用选项其优先级低于DLSS,只用当DLSS失去效果时其才能发挥作用,如果想要使用备选功能,取消勾选Allow DLSS,该选项就可以正常使用了。

以上就是本篇文章的全部内容了,希望能给道友带来一些帮助,拜~

相关推荐
WarrenMondeville1 小时前
3.Unity面向对象-里氏替换原则
unity·游戏引擎·里氏替换原则
WarrenMondeville2 小时前
5.Unity面向对象-依赖倒置原则
unity·设计模式·依赖倒置原则
万兴丶3 小时前
Unity 用AI自动开发游戏近一年----最新Cursor使用心得
人工智能·游戏·unity·cursor
张老师带你学15 小时前
UnityVR弯曲UI
科技·游戏·unity·游戏引擎·模型
张老师带你学16 小时前
unity作业,街角小场景
科技·游戏·unity·游戏引擎·模型
mxwin19 小时前
Unity Shader LOD:动态 Shader 等级切换技术详解
unity·游戏引擎·shader
ALex_zry19 小时前
C++高性能日志与监控系统设计
c++·unity·wpf
魔士于安1 天前
Unity太空战舰完整工程,包含战损,实时战损
游戏·unity·游戏引擎·贴图·模型
Nuopiane1 天前
MyPal3(10)视锥体剔除
unity
爱搞虚幻的阿恺1 天前
RPG游戏开发【加餐】实现游戏小地图的简单方法
游戏·ue5·游戏引擎·虚幻