颠覆游戏开发,引领行业革命,从 Unite 2019 看 Unity 技术亮点
在谈及 Unity 引擎时,或许不少开发者对其还停留在游戏开发的固有认知中。事实上,Unity 在“实时 3D 内容创作”的伟大航路上,已向更为广阔的全行业领域的星辰大海前进。
从 2005 年到 2019 年,Unity 在经历了 14 年的发展历程后,全球开发者的数量已经超过了 1400 万,仅 2018 年使用 Unity 制作的作品覆盖到了 30 亿台设备上,达到了 280 亿的安装量,畅销前 1000 名的移动游戏中有 40% 使用 Unity 制作,新制作的移动游戏中高达 50% 使用 Unity 制作,还有 60% 的 VR/AR 应用采用 Unity 开发。Unity 的跨平台特性,也极大地便利了全球的开发者,截止到 2018 年 Unity 引擎所支持的研发平台已经达到了 27 个。显而易见,Unity 已成为当前最炙手可热的游戏开发工具之一。
如今随着移动互联网向产业互联网的加速转型,Unity 也正致力于打造一个可轻松创建三维视频游戏、建筑可视化、实时三维动画等类型互动的 3D 实时内容平台,由此逐渐“跨界”到其他各个应用领域,如汽车、建筑、动画影视以及工业制造等等。对此,我们也无不惊叹,曾经仅是为游戏开发者服务的 Unity,为何能游刃有余地应用到不同行业?而身为开发者的我们,又需要关注哪些不容错过的技术点?最终又如何将其应用于自己的实践项目中?也许,一切皆可从一年一度的 Unity 开发者盛会——Unite Shanghai 2019 中,找寻出答案。接下来,本文将带你提前领略 Unite Shanghai 2019 最精彩的技术亮点。
从实时渲染来看 Unity 发挥的巨大潜力
Unity 之所以能在跨行业的场景中成功应用,离不开 Unity 从技术上对实时渲染的探索与追求,为高品质的渲染作品提供技术保障。
那么何为实时渲染?
其实对于体验玩过或是以及创作开发过视频游戏的大多数开发者而言,已经体验了实时渲染技术已经展现了无与伦比带来的成效果。实时渲染的本质就是图形数据的实时计算和输出,相较于传统动画渲染,想要实现实时渲染技术最大的要求就是 Realtime,即快速展现。运用实时渲染技术,可以以大约每秒 60 帧的速度显示具有光照、效果、纹理和模拟的 CG 环境,大大地降低了渲染消耗的时间。其中,将帧渲染降低到毫秒意味着它可以被视为“实时”。
图片来源:nimblecollective.com
在 2016 年的 GDC 上,Unity 首次展示了使用实时渲染技术制作的短片《Adam》。彼时在 GeForce GTX 980 显卡上,《Adam》可流畅达到 1440p 的分辨率,让不少开发者为之震惊。如今经过两年的技术更新迭代后,Unity 再次打破常规,推出更具跨平台特性的可编程渲染技术。用户不仅可以自定义渲染流程,而且可编程渲染管线具有非常好的扩展性,在保留了经典 C++ 内核的前提下,提供了更多 C# 接口。
那么在本次 Unite Shanghai 2019 上将会有哪些关于“实时渲染”的技术亮点呢?在此,我们先一睹为快。
1、专注视觉质量的高清晰渲染管线
在全新推出的可编程渲染技术中 Unity 提供了两套开源的模板:高清晰渲染管线(HDRP)和轻量级渲染管线(LWRP)。
高清晰渲染管线的设计遵循基于物理、统一且一直连贯的光照、独立于渲染路径的特征三大原则,主要针对高端 PC、主机这样的高性能平台,这一类管线可提供了更加精确的模型和高级材质,在定制渲染管线时对用户更为透明。在 Unity 2018.3 中,高清晰渲染管线为 VR 和 MSAA 提供了初步的支持,添加并改进了多项功能,实现了更好的视觉质量。本次大会中将实例展示高清晰渲染管线技术,帮助更多的开发者实现非常华丽的渲染效果。
2、优化实时性的轻量级渲染管线
轻量级渲染管线有自己的渲染流程,它的目标是通过在光照和阴影方面采取一些折衷手段,优化性能受限的平台上的实时性能表现。具体而言,轻量级渲染管线使用一个实时阴影光源执行单程正向渲染,并逐个对象进行光照剔除,这得益于所有光照均在单程内着色完毕。和传统管线正向渲染相比,使用轻量级渲染管线会帮助开发者减少绘制调用的数量。在本次 Unite Shanghai 2019 中,来自 Unity 顶级大牛将为游戏及应用开发者演示这些新功能,并分享将其应用于实际项目的经验。
3、可视化调色器的构建——Shader Graph
为配合可编程渲染管线(SRP)而设计的着色器可视化编程工具 Shader Graph,拥有大量的功能,包括高清晰渲染管线 HD Render Pipeline、轻量级渲染管线 Lightweight Render Pipeline、通过扩展将任何你自己编写的自定义 SRP 着色器进行导出等等,开发者及美术人员可以在无须手工编写代码的模式下,进行可视化的着色器构建。
4、新的视觉特效编辑器 ——Visual Effect Graph
Visual Effect Graph 是一个能有效利用 GPU 能够大量的渲染粒子的粒子编辑器,它易于扩展,只需要拖动预制节点就能实现丰富的效果。在 Unity 2018.3版本中,推出了 Visual Effect Graph 预览版,它支持高清晰渲染管线 HDRP,轻量级渲染管线 LWRP 支持将在之后加入。本次大会演讲将为大家呈现 Visual Effect Graph 的完整功能,让艺术家可以不用写代码就可以通过节点编辑器制作出惊人的特效。
开发者必备的 Unity 新型高性能多线程系统
除了以上,Unity CTO Joachim 曾于 2018 年着重推动的“Unity 默认性能”——全新高性能多线程系统也将亮相 Unite Shanghai 2019 大会上,帮助更多的开发者解决诸多令人头疼的编程问题。而其中作为高性能多线程系统的三大技术支柱:实体组件系统 ECS、C# Job System 和 Burst complier,三者的结合,将以数据存储及布局为核心思想的面向数据设计展现至大众视野中,使得软件开发者优化硬件性能变得可能。
1、改变传统软件开方式的实体组件系统 ECS
为解决“组件并处理游戏中的数据和行为”而诞生的实体组件系统 ECS,不仅使得 Unity 改变了软件开发方面的大部分方法,也颠覆了传统面向对象编程思想。借助 ECS,开发者可以充分利用当下的多核处理器,从对象导向型设计转向数据导向型设计,这意味着程序中的代码会变得更加简单,其他人也更容易掌握并优化。
2、更为安全、简单的 C# Job System
众所周知,Unity 中 C# Job System 旨在允许游戏在运行时可以使用所有当前可用的 CPU 内核。它不仅使得可用内核在模拟过程中减少了实际运行时间,也可以在移动开发时显著改善移动设备的电池寿命,让开发者只需专注于游戏逻辑,就能在 Unity 中轻松编写出简单、安全、迅速、作业化的多线程代码,以提高游戏性能。
3、用于产出高度优化本机代码的 Burst Complier
以 LLVM 为基础的全新后端编译技术——Burst Complier,实际上是 ECS 更高效地阻止数据所产生的后台性能增益。当前的 Burst Complier 无需繁琐的工作,只需手动调整跨平台汇编程序代码,就可以产生高度优化的本机代码。
在 Unite Shanghai 2019 大会中,来自实体组件系统 ECS 团队将会与顶尖的艺术家们合作,为诸多开发者分享高性能多线程系统开发上取得的最新进展,并共论如何基于实体组件系统 ECS、C# Job System 与 Burst 编译器来创建更丰富的游戏世界。
拒绝纸上谈兵:如何将 Unity 技术运用到真实的案例之中?
当然除了上述纯技术分享之外,主办方还特设了游戏开发、工业领域、影视动画、新媒体艺术、Unity 教育、Unity 社区六大案例专场,邀请时下最主流的游戏开发团队、发行商、艺术家以及美术师们带来超过 50 小时的专题讲座,分享最前沿的 Unity 技术应用经验。同时,还有数十家来自全球的行业领头企业、开发商与软硬件制造商将展示他们与Unity 相关的出色技术、工具、设备与内容,为大家全面呈现如何使用 Unity 打造出高品质的,跨平台的交互式的内容。敬请期待!
购票参会
目前,为了能够让更多的 Unity 开发者可以在 5 月 10 日-12 日这场为期 3 天的 Unite Shanghai 2019 盛会中获得和行业顶级领军人物面对面交流的机会,主办方还为大家送上了一份惊喜,从即日起至 3 月 15 日,原价 1500 元的门票,现在只需 700 元,且 3 人以上还可享受超级团购优惠。
点击文末「阅读原文」,或扫描下方二维码,与你相约 Unite Shanghai 2019 ,不见不散!