Unity 2018中的图形渲染
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中的图形渲染的更多相关文章
- Unity优化方向——优化Unity游戏中的图形渲染(译)
CPU bound:CPU性能边界,是指CPU计算时一直处于占用率很高的情况. GPU bound:GPU性能边界,同样的是指GPU计算时一直处于占用率很高的情况. 原文:https://unity3 ...
- Hands-On Unity 2018 x 移动游戏开发教程
Hands-On Unity 2018 x Game Development for Mobile 使用Unity 2018.2创建具有出色游戏功能的精彩游戏 想学习在Unity制作游戏,但不知道 ...
- i3D的一篇Unity教程中的笔记
原地址:http://blog.sina.com.cn/s/blog_72b936d80100wwej.html 以下是i3D的一篇Unity教程中的笔记. i3D的这篇教程是[i3D.Next-Ge ...
- [译]如何在Unity编辑器中添加你自己的工具
在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...
- 关于Unity项目中创建项目遇到的一些问题
1.Unity调用Android的方法默认不是在UI线程执行,所以在Android上写一些页面的重绘的方法,让Unity去调用时,注意要在Android中添加对应的runOnUiThread才可以: ...
- 【Unity优化】如何实现Unity编辑器中的协程
Unity编辑器中何时需要协程 当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理.比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种 ...
- Unity 2018.2.8 旧版本安装包和破解软件
声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 最近Unity官网下载的旧版本,都无法正常破解.此链接有之前下载的离线安装包 ...
- 在Unity 3D中加入Image图片
在Unity 3D中加入Image图片,我在刚开始是加不进去的,为什么呢?因为没有图片,图如下: 原因就是我们没有把图片设置为Script,图片的格式还是默认的那个,这只能作为贴图使用.我们将图片进行 ...
- Unity 3D中的阴影设置
在Unity 3D中,经常需要用到光照阴影,即Directional Light的Shadow,Shadow分为Hard Shadow和Soft Shadow.区别是Soft Shadow的阴影边缘比 ...
随机推荐
- ajax技术返回json如何处理
json只是一种文本字符串. Smarty是一个使用PHP写出来的模板引擎. ajax如何处理json数据格式 ①json的格式如下: "{属性名:属性值,属性名:属性值}". 因 ...
- spring boot: 一般注入说明(四) Profile配置,Environment环境配置 @Profile注解
1.通过设定Environment的ActiveProfile来设置当前context所需要的环境配置,在开发中使用@Profile注解类或方法,达到不同情况下选择实例化不同的Bean. 2.使用jv ...
- Java企业微信开发_07_JSSDK多图上传
一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失 ...
- Mysql总结_03_mysql常用命令
一.MySQL服务的启动和停止 net stop mysql net start mysql 二.登陆mysql mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后 ...
- php导出内容到txt并自动弹出下载文件
php将内容保存到txt文件中,并自动弹出下载文件窗口的方法: $id=array('我爱学习网http://www.5ixuexiwang.com','汇享在线工具箱http://tool.huix ...
- myeclipes如何调试web项目
你可以右击项目,然后选中那个debug as,然后选择open debug dialog,在project中选择要运行的项目,sever中选择服务器,然后单击debug就ok了,,
- cocos2d-x CSV文件读取 (Excel生成csv文件)
实现类 CCSVParse.h #ifndef __C_CSV_PARSE__ #define __C_CSV_PARSE__ #include "cocos2d.h" #incl ...
- 在oracle中,select语句查询字段中非纯数字值
最近,将原来的数字符字段转换为数字时,总报错误:无效数字. 如何找出其中哪些是非数字字符的记录?比较麻烦的事.下面是用Oracle DB自带的函数translate可以找出来的 1.创建测试表 Cre ...
- oracle 12c 新特性之不可见字段
在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c 中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字 ...
- JINKENS
https://www.cnblogs.com/ceshisanren/p/5639869.html