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的阴影边缘比 ...
随机推荐
- cout是右结合的
cout是右结合的,(从右到左压栈?) cout<<++a<<","<<a++; 的运行顺序是 1.a的值压栈 2.a自加 3.‘,’压栈 4 ...
- jmeter--轻量级接口自动化测试框架
大致思路: jmeter完成接口脚本,Ant完成脚本执行并收集结果生成报告,最后利用jenkins完成脚本的自动集成运行. 环境安装: 1.jdk1.7 配置环境变量(参考前面的分页) 2.jmete ...
- SQL语言方方面面
1 数据库和SQL 1.1 数据库 DB, DBMS DBMS的种类: 层次性数据库, 关系型数据库, 非关系型数据库 RDBMS, 关系数据库管理系统 1.2 数据库的结构 RDBMS常见的系统结构 ...
- 【leetcode刷题笔记】ZigZag Conversion
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...
- ffmpeg第三方库编译记录
最近在研究ffmpeg的编译,之前使用的Ubuntu,需要安装虚拟机,非常麻烦,所以后来改研究在Windows平台编译. 一开始遇到很多挫折,参考了网上很多的帖子,但要么不全要么内容已过期,经过我的反 ...
- Ffmpeg移植S3C2440
Ffmpeg移植过程: FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证.它的移植同样遵循LGPL或GPL移植方法:configure.make.make ...
- ubuntu 上采用nginx做rtmp 直播 服务器
首先安装必要的依赖库 sudo apt-get install autoconf automake sudo apt-get install libpcre3 libpcre3-dev 安装 ...
- Agc019_D Shift and Flip
传送门 题目大意 给定两个长为$n$的$01$串$A,B$,每次操作有三种 将$A$整体向左移动,并将$A_1$放在原来$A_n$的位置上. 将$A$整体向有移动,并将$A_n$放在原来$A_1$的位 ...
- 【QT】对Qt项目开发中遇到的问题的总结
1. QMessageBox中文乱码 这里的中文乱码是指只有QMessageBox才出现中文乱码,其他都可以正常使用的情况.有些博客中提到使用QString::fromUtf8()函数, 实测有些情况 ...
- Linux下eclipse及mysql安装,c++访问mysql数据库
这两天在学习linux下用c++访问mysql,碰到一堆问题,记录一下. 1.mysql安装: 公司的电脑是64位的,安装的是64为的RHEL4,安装如下三个包: MySQL-client-5.1.4 ...