查看原文
其他

Unity 2017.2正式发布,新功能详解(下)

2017-10-18 Unity官方 Unity官方平台

Unity 2017.2正式发布,新功能详解(上)中,我们详细介绍了Unity 2017.2的新功能以及编辑器的重要改进,今天我们将继续为大家介绍Unity 2017.2对XR平台支持的更新,以及图像与粒子系统的提升和其他方面的改进。

 

全面支持XR平台

 

内置Vuforia支持

我们已经在Unity 编辑器中引入了开发Vuforia应用程序的集成支持。使用Vuforia,您现在可以使用日常对象创建跨平台增强现实体验。Vuforia使您能够将数字内容附加到图像和物理3D对象上,使用自定义的标记图标识别和跟踪对象等。



可以通过Unity Download Assistant安装Vuforia支持,并在项目设置>播放器设置> XR设置下启用。

 

关于Vuforia

Vuforia是用于在手持设备和头戴设备上增强现实应用的软件平台。它提供了将数字内容附加到物理对象和环境的跨平台解决方案。Vuforia得到全球生态系统的支持,其中有超过375,000个注册开发商和超过45,000个已发布的应用程序。

 

Windows混合现实

Unity现在拥有对Windows混合现实沉浸式头盔的全新原生支持,使创作者可以将VR内容发布到微软商店中。


Unity的支持还包括工作流增强功能,例如能够通过编辑器直接在设备上进行预览。

 

无论您是为此平台创建定制体验还是移植现有的VR游戏,Unity已开放了对全新种类的VR设备的访问。

 

对MacOS的OpenVR支持

Unity与Apple和Valve紧密合作,优化了Metal 2针对Unity现有的VR渲染路径、Multi-Pass和Single-Pass的变体进行运行。对于最终版本,开发人员将能够使用WWDC公布的新的Metal 2功能来提高性能,并将其与实例的使用相结合。 这将减少一半的绘制调用次数。

 

对Google ARCore 的支持

我们针对Android 7.0及更高版本,添加了对Google ARCore增强现实技术的支持。ARCore API提供精确的设备位置和方向信息以及特征点检测,用于标识用户周围环境的物理空间。Unity对ARCore的支持使您能够轻松使用设备显示世界的位置和方向来驱动标准的Unity摄像机。这使您能够创建代表设备周围环境的平面,并将彩色摄像机的图像呈现为增强现实体验的背景。

 

https://v.qq.com/txp/iframe/player.html?vid=j05476ual4s&width=500&height=375&auto=0

SDK目前支持Google Pixel或Pixel XL以及运行Android 7.0Nougat及以上版本的Samsung Galaxy S8的开发。 它需要Android API SDK v.24或更高版本。



要设置SDK,请按照《Unity支持ARCore,为移动AR再下一城》

 

对Apple ARKit 的支持

Unity ARKit插件可让您方便地访问ARKit的功能:运动跟踪、实时视频渲染、平面查找和命中测试、环境光估计、原始点云数据等。还有Unity组件可以使您更轻松地创建新的AR应用程序,也可以轻松地将AR功能集成到现有的Unity项目中。

 

Unity ARKit插件具有独特的功能,可以节省您几个小时的开发时间:Unity ARKit Remote。该工具可以通过允许您在Unity编辑器中实时更改场景和调试脚本,无需构建到设备,从而加快迭代速度。

 

我们的插件现在支持访问以下新功能:

  • 除了环境光强度估计之外,还可以对环境色温进行估计

  • 指定您自己的用户锚点

  • 在状态发生变化时接收事件

  • AR会话中断或恢复时的事件通知

 

我们已经拥有许多新的例子来帮助您,快速启动和运行您的AR项目,其中包括:

  • 缩放内容(想象在您客厅里放置一个城市)

  • 焦点矩形(使用一个UI元素显示用于放置对象的位置)



  • 遮挡(着色器和材质将虚拟对象隐藏于真实对象之后)

  • 阴影(着色器和材质将现实世界中的虚拟对象接地)

 


Unity ARKit插件现在可以从Unity AssetStore资源商店的包中获取。

 

立体实例,PC平台

立体实例Stereo Instancing 也称为单遍实例渲染是Unity单遍渲染的演变,现在可以在PC平台上使用DX11构建时使用,允许开发人员极大地优化Vive、Oculus Rift和Windows混合现实沉浸式头盔的性能。使用这种技术最大的影响是您可以大大减少在API端产生的绘制调用次数,从而节省了大量的CPU时间。此外,GPU本身能够更有效地处理绘制。注意:立体实例仅支持前向渲染。

 

要启用此功能,请打开Player Settings(菜单: Edit > Project Settings > Player)。在Player Settings设置中,导航到XR Settings,确保已选择Virtual Reality Supported复选框,然后勾选Single-Pass Stereo Rendering复选框。注意:立体实例仅适用于Windows 10。

 

Tracked Pose Driver

Tracked Pose Driver是一种新的跨平台组件,可使场景中的设备和游戏对象之间的识别更简单,更直观。



Vive HMD的编辑器模拟

这个新功能允许在编辑器中模拟Vive HMD的某些功能,而不需要您配备一个Vive头盔。通过在Player Settings > XR Settings 中将“Mock HMD-Vive”添加到虚拟现实SDK中即可实现。

 

模拟HMD将使用与Vive相同的不对称投影矩阵、隐藏遮挡网格、视场、宽高比和眼睛纹理大小。模拟HMD可以同时使用多遍渲染和单遍渲染路径,并且它将在编辑器中呈现为分屏幕立体显示。

其它平台改进和更新

对Nintendo Switch的原生渲染插件支持

其它改进包括Nintendo Switch的Native Rendering Plugin支持,可让您实现底层渲染,并且可以使用Unity的多线程渲染。

 

macOS播放器Retina支持

我们已经添加了对支持其它的设备上的MacOS的Retina解决方案的支持。

 

Windows Player LauncherWindows播放器启动器 

我们将Windows独立播放器的大部分代码转移到了单独的已签名DLL(“UnityPlayer.dll”)中,使可执行文件成为一个简单的封装器,对此dll进行调用。

 

支持三星Tizen&智能电视

Unity 2017.2将是支持三星Tizen和SmartTV的最后一个版本。在此版本之后,Unity将提供12个月的支持,包括补丁和安全更新。

 

图像方面的改进

GI分析器

GI分析器可以显示相关的统计信息,包括实时全局光照子系统占用多少CPU时间,以帮助您优化场景中的全局光照。


 

HDR 发射

全局光照发射现在使用16位浮点格式,例如实时和烘焙GI。HDR颜色选择器限制从99增加到64k,以解锁全部范围。 这使得可以从发射表面发射更强的光。

 

光照贴图背景

该功能将用来自较低的MIP级别的内容填充光照贴图中的空白区域。这将修复使用光照贴图进行渲染时,几何边缘周围的暗像素可见的情况。 这是因为当访问较低的MIP时,黑暗背景的纹理像素露出。


 

渐进光照贴图的改进

我们现在支持渐进光照贴图中使用双面材质。我们添加了一种新的材质设置,让光照可以与背面进行交互。 一经启用,在计算全局光照时将考虑几何体的两面。


 

树的光照贴图烘焙

地形上的树现在可以将阴影投射到烘焙光照贴图中,生成一个光照贴图静态地形。树本身将使用自动放置在树上方的光照探头来点亮。


 

光照贴图缝合

光照贴图接缝缝合可以轻松摆脱那些令人讨厌的边缘接缝。


 

A-Trous过滤模式

Unity 2017.2中,我们使用了新的A-Trous内核添加了高级过滤选项。新的过滤器能更好保持阴影边缘和接触形状,同时平滑噪声区域。

 

https://v.qq.com/txp/iframe/player.html?vid=q0560v94uk0&width=500&height=375&auto=0

线性渲染与WebGL 2.0

我们现在可以确保线性渲染输入、输出和计算都在正确的颜色空间中。最终图像的亮度将根据场景中的光线进行线性调整。这意味着您的场景和资源之间的光照更加一致。

现在支持线性渲染:

  • Windows, Mac OS X 和Linux (Standalone模式)

  • Xbox One

  • PlayStation 4

  • 支持OpenGL ES 3.x 或者Vulkan的Android

  • 支持 Metal API的iOS

  • WebGL 2.0


线性渲染特别有趣,因为它允许您使用Unity Post Processing Stack后期处理特效包,包括temporal抗锯齿,并通过WebGL实现出色的效果。Unity WebGL播放器中的线性渲染适用于任何支持WebGL 2.0的Web浏览器。



粒子系统改进

可编辑自定义数据模块标签

自定义数据模块允许您指定可用于许多不同目的的数据。我们已经将曲线和渐变上的标签修改为允许您描述使用哪一个自定义数据。

 

粒子系统子发射器可以继承父发射器的生命周期

子发射器的继承下拉列表中有一个新选项,允许它们把自己的生命周期建立在其父系统的剩余生命周期内。这可以用于创建保证只持续特定时间的效果,即使它们碰撞并创建了新的粒子。

 

线性阻力

根据生命周期衰减速度模块(Limit Velocity over Lifetime Module)中的一个新选项允许您将线性阻力应用于您的粒子。将其添加到具有各种尺寸颗粒的效果中,可以让较小的颗粒比较大的颗粒飞的更远和移动的更快。 一个很好的用例是爆炸效果中的碎片。



自动销毁/禁用

现在可以在完成播放后销毁或禁用粒子系统。销毁对于一次性效果是非常好的。销毁可以让您避免执行自己的清理代码。另一方面,当您管理自己的粒子系统游戏对象库时,禁用可能会很有用。

 

爆发发射

现在可以将爆发计数配置为使用与许多其他粒子系统属性相同的曲线选项。

 

重新启动按钮

我们已将“重新启动”按钮添加到“场景视图”叠加层,免去了使用停止和播放来实现重新启动效果的麻烦。

实时运营与远程设置功能

实时运营

将游戏作为实时服务运行,意味着您可以根据玩家的需要调整游戏,保持游戏新鲜感,并使体验更加愉快。在Unity 2017.2中,Remote Settings远程设置功能已经正式发布!

 

远程设置

https://v.qq.com/txp/iframe/player.html?vid=g0560d7mqrv&width=500&height=375&auto=0

远程设置易于使用。它是Unity引擎的原生组成,并采用类似于大多数Unity开发人员熟悉的PlayerPrefs的API。最近,我们对此功能进行了重大更新。远程设置现在支持分段。所以您可以直接快捷的对玩家细分,并根据特定的玩家组合定制您的游戏 —— 所有这些都不需要重新发布一个新版本。上面即将到来的“Final Fantasy XV Pocket Edition”演示版,以全新移动的形式重现了原始作品,展示了如何在AAA作品中使用远程设置。

 


其它功能改善

性能报告:Android原生崩溃

现在当您使用性能报告服务时,原生崩溃报告将自动从玩家的Android设备发送到性能报告服务。在开发人员信息中心中,您可以在未处理的托管例外和原生iOS崩溃报告旁边看到这些崩溃报告。也可以在编辑器的服务窗口中为项目启用性能报告服务。

 

 

视图录制器-实验版

视图录制器(Recorder)可以在游戏运行时捕获摄像机视图中的帧,并生成图像序列(JPG,PNG,GIF,OpenEXR)和视频文件(仅限WebM,H.264 / Windows)。您可以通过从资源商店下载视图录制器将此功能添加到Unity编辑器中。

 

首次发布的实验版本包含一个专用的窗口来选择录制选项:


 

您还可以使用Frame Recorder Track直接从Timeline触发录制:


 

软件包管理器

虽然Unity用户在2017.2中不会看到任何变化,我们希望在这里做个预先。在Unity 2017.2版本中,我们会引入一个软件包管理器,它将用更灵活和模块化的方法来管理最终组成Unity的组件和子系统。

 

小结

以上内容就是Unity 2017.2中的新功能与关键的性能改善,如果想要了解更详细的更新信息,请参阅发行说明,了解Unity 2017.2新功能、改进和修复的完整列表。地址:https://unity3d.com/cn/unity/whats-new/unity-2017.2.0。后面我们还将继续为大家分享新功能及相关教程在Unity官方中文社区(unitychina.cn),请保持关注!

 

推荐阅读

Unity 2017.2正式发布,新功能详解(上)

Unity 2017.2新功能尝鲜:支持线性渲染的WebGL 2.0

Unity 2017 | Timeline功能亮点Playable API

《Neon》项目的创作过程

混合现实未来展望(三)


近期Unity官方活动

10月26日,我们将在上海举办Unity独立游戏日,火热报名中。


10月16日- 31日截止,Unity Plus加强版大促销


点击“阅读原文”进入Unity官方中文社区

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存