https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247490249&idx=1&sn=d86083e33d9884bc1df20827a966b195&chksm=fe1e2e62c969a77417502a559c38afc2094d09aa9ed881eea225222df8e4d4b52dd9f3b56950&scene=21#wechat_redirect

在上周,我们发布了基于Unity 2018.1创作的《死者之书》,展示了Unity 2018所带来高端视觉效果的能力,让图形渲染达到了新的高度。是的,在Untiy 2018的发行周期中,图形渲染将是一个瞩目的焦点!

在2018年,我们将会发布许多可以大幅增强Unity渲染能力的功能。不同的用户都有望获得一些新功能。例如: 为美术人员提供的可视化工具,或是为底层工程师提供的更强大的渲染控制。我们将在本文中详细介绍Unity 2018中正在开发中的系统。

特别说明

原官方提供的SRP的示例,由于某些原因,导致无法正常运行,现在问题已经解决,请中国地区开发者重新下载SRP示例:

https://oc.unity3d.com/index.php/s/jEnGJI8r8gllaPk

Scriptable Render Pipeline可编脚本渲染管线

Scriptable Render Pipeline可编脚本渲染管线是一种由C#脚本控制的,在Unity中配置和实行渲染的方式。与Unity传统的渲染方式相比,这是一个巨大的进步,完成了渲染控制从硬编码到完全项目驱动式的转变。

目前Unity提供了大量的渲染配置,例如:正向渲染和延迟渲染。这些管线是固定无法更改的,存在许多的缺点:

  • 无法修复或绕过渲染问题。

  • 因为要可能需要应对所有用例,管线太过庞大复杂。

  • 由于过时性与复杂性,很难添加最先进的效果。

为了解决这些问题,我们在Unity 2017中在试验性地开发SRP API。现在该功能已经进入Unity 2018.1 beta版本中。我们相信SRP不仅可以解决这些问题,对于开发者来说,非常简单易用。通过SRP,我们不再需要提供一种单一的渲染管线,试图为所有人完成所有事情。SRP API开放了Unity的渲染接口,允许使用C#脚本进行灵活控制。开发者可以根据项目的具体情况编写自定义渲染器。

想象一下,通过组合模块的方式设计一个自定义渲染管线。每个模块都是一个定义良好,易于测试、改进和维护的函数。这就是Scriptable Render Pipeline的工作原理。这不仅使开发者更易使用Unity,也使我们可以向引擎的工具盒中添加新模块,从而使用户能够快速获得对最新渲染功能的访问。

在Unity 2018.1中,我们已为用户提供了二个渲染管线。它们不仅可以直接使用,也可以作为开发者构建自定义渲染管线的参考。

  • Lightweight Rendering Pipeline轻量级渲染管线: 专为无需计算着色器的移动设备和平台设计的渲染管线。

  • High Definition Rendering Pipeline高清渲染管线:现代的高逼真度渲染器,用于支持Shader Model 5.0(DX11及以上)平台的游戏开发。

Lightweight Rendering Pipeline轻量级渲染管线

设计LT RP是为了速度和更好地扩展到低端硬件。它是一个基于正向的渲染器,能很好地从移动扩展到VR和PC。

Lightweight Pipeline轻量级渲染管线是一种在Unity 2018.1中可用的Scriptable Render Pipeline。它采取的是一种按每个对象进行光照剔除的单pass正向渲染,其优势是会在单次pass中完成所有光照的着色。与之相比,Unity的默认的正向渲染会为每个像素光照进行一次额外的pass,使用LT管线会产生更少的绘制调用,而代价是轻微的着色器复杂度增加。

轻量级渲染管线管线最多支持每对象8个光源,并仅支持Unity内置渲染特性的一个子集。

HD Rendering Pipeline高清渲染管线

HD Rendering Pipeline高清晰渲染管线是一种在Unity 2018.1中可用的Scriptable Render Pipeline。HDRP是一种现代渲染管线,设计时同时考虑了PBR、线性光照、HDR光照。它使用一种可配置混合平铺(Tile) / 集群延迟(Cluster deferred)/正向光照(Forward lighting)架构构建。

HDRP在Unity内置功能上增加了一些特性,改进了光照、反射探头和标准材质的选项。它提供了诸如Anisotropy、Subsurface scattering、Clear Coating这样的高级材质,以及对高级光照的支持,例如Area lights区域光。

Post-processing Stack v2后期处理特效包

Post-processing Stack后期处理特效包已做改进,以提供更好的效果质量,以及自动化体积混合功能。它强大的重写栈和弹性框架,使开发者可以编写和分发自定义效果。它与轻量级渲染管线、高清晰渲染管线以及内置渲染管线兼容。

Unity Shader Graph着色器视图

以往能在Unity中创作着色器的都是具有编程能力的人。在Unity 2018中,我们正在改变这一现状!

开发者可以使用Shader Graph着色器视图可视化地构建着色器。无需手工编写代码,而是在图形网络中创建和连接节点。图形框架会对这些更改做出实时反馈,它足够简单,新用户也能即刻上手着色器制作。

Shader Graph着色器视图系统可以和LT和HD渲染管线一起使用,也可以扩展与任何其它自定义的渲染管线一起使用,它拥有一个开放架构,可编写自定义节点。

小结

获取最新的Unity 2018.1 beta版本,了解更多功能和特性。在接下来的几周内,我们将更详细地介绍这些系统,以便开发者能充分地利用它们。你也可以把你有关使用Unity 2018的反馈在Unity官方中文社区(Unitychina.cn)反馈给我们!

Unity 2018中的图形渲染的更多相关文章

  1. Unity优化方向——优化Unity游戏中的图形渲染(译)

    CPU bound:CPU性能边界,是指CPU计算时一直处于占用率很高的情况. GPU bound:GPU性能边界,同样的是指GPU计算时一直处于占用率很高的情况. 原文:https://unity3 ...

  2. Hands-On Unity 2018 x 移动游戏开发教程

    Hands-On Unity 2018 x Game Development for Mobile 使用Unity 2018.2创建具有出色游戏功能的精彩游戏   想学习在Unity制作游戏,但不知道 ...

  3. i3D的一篇Unity教程中的笔记

    原地址:http://blog.sina.com.cn/s/blog_72b936d80100wwej.html 以下是i3D的一篇Unity教程中的笔记. i3D的这篇教程是[i3D.Next-Ge ...

  4. [译]如何在Unity编辑器中添加你自己的工具

    在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...

  5. 关于Unity项目中创建项目遇到的一些问题

    1.Unity调用Android的方法默认不是在UI线程执行,所以在Android上写一些页面的重绘的方法,让Unity去调用时,注意要在Android中添加对应的runOnUiThread才可以: ...

  6. 【Unity优化】如何实现Unity编辑器中的协程

    Unity编辑器中何时需要协程 当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理.比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种 ...

  7. Unity 2018.2.8 旧版本安装包和破解软件

    声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 最近Unity官网下载的旧版本,都无法正常破解.此链接有之前下载的离线安装包 ...

  8. 在Unity 3D中加入Image图片

    在Unity 3D中加入Image图片,我在刚开始是加不进去的,为什么呢?因为没有图片,图如下: 原因就是我们没有把图片设置为Script,图片的格式还是默认的那个,这只能作为贴图使用.我们将图片进行 ...

  9. Unity 3D中的阴影设置

    在Unity 3D中,经常需要用到光照阴影,即Directional Light的Shadow,Shadow分为Hard Shadow和Soft Shadow.区别是Soft Shadow的阴影边缘比 ...

随机推荐

  1. DELPHI线程例子-FC

    {优秀的数据库应用应当充分考虑数据库访问的速度问题.通常可以通过优化数据库.优化 查询语句.分页查询等途径收到明显的效果.即使是这样,也不可避免地会在查询时闪现一个带有 SQL符号的沙漏,即鼠标变成了 ...

  2. 十九 Django框架,发送邮件

    全局配置settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #发送邮件引擎 EMAIL_USE_TLS ...

  3. Selenium-键盘操作

    在webdriver的Keys类中提供了键盘所有的按键操作,当然也包括一些常见的组合操作如Ctrl+A全选),Ctrl+C(复制),Ctrl+V(粘贴).更多参考官方文档对应的编码http://sel ...

  4. ADO-添加msado15.dll及基本类对象的了解

    一.dll文件的导入 参考文献:https://blog.csdn.net/qq_31209383/article/details/51199762 要使用数据库,首先在stdafx.h中导入msad ...

  5. Code Chef - Chef and Graph Queries

    传送门 题目大意 给定一个$n$个点$m$条边的无向图$(n,m\leq 200000)$. 有$q$每次询问$(q\leq 200000)$,每次给定一个区间$L,R$,求仅保留编号$\in[L,R ...

  6. PUN介绍(干货)

    PUN介绍 入门 Photon Unity Networking(首字母缩写PUN)是一个Unity多人游戏插件包.它提供了身份验证选项.匹配,以及快速.可靠的通过我们的Photon后端实现的游戏内通 ...

  7. 判断iOS系统的Model

    获取iOS系统的Model   (参考网址:https://www.theiphonewiki.com/wiki/Models) + (NSString *)getModel{ struct utsn ...

  8. PLSQL Developer安装、配置、连接oracle数据库

    0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...

  9. 恢复到特定点(时间点、scn、日志序列号),rman不完全恢复

    将数据库.表空间.数据文件等恢复至恢复备份集保存时间中的任何一个时间点/SCN/日志序列(一般是日志挖掘找到误操作点),但须谨慎,操作前一定需要做好备份,具备条件的情况下最好先恢复到异机,避免业务停机 ...

  10. SparkWriteToHFile

    1. HFile的LoadIncrement卡住 原来是因为权限,我一直以为,load函数之后是要删除文件的,但是hdfs://slave1:8020/test/info文件夹所有的是只读权限,而且考 ...