翻译|【翻译】Unity2017.3 版本发布说明
文章目录
-
- 简介
- 编辑器与引擎
- 支持Mono NET 2 的内存分析器( Memory Profiler)
- 变换工具 (Transform Tool)
- 图像 (Graphics)
原文作者为: Carlos Rincon。
简介
2017.3完善了2017版本为艺术家和开发者们引进的,几种新的功能和改进。
我们非常兴奋能够为大家分享所有,Unity 2017.3能够为大家带来的,新改进的功能。在深入了解细节之前,我们想回顾一下Unity 2017(如果您等不及了,那就请直接跳到下面的"新内容"部分)。
在新的Unity 2017版本中,我们加倍努力地帮助艺术家、设计师和开发者们更有效地创造与合作。强有力的虚拟工具例如Timeline、Cinemachine和Unity FBX Exporter方便了艺术家们进行创作。
我们继续改善了图形质量以及运行性能来帮助您在最新兴起的平台(desktop, console, mobile, VR, AR, smart TVs)上的曲线(curve)方面保持领先,从而更好地利用最新GPU和原生Graphics API。举个伟大的栗子吧:一流的演示电影系列《亚当》(Adam)。
其他功能,好比最新的2D工具和Unity Teams,能够帮助您更快地得到更好的结果。最后,我们给您提供了一些新的方法,使用各类有效数据(在Ads、IAP以及Live-Ops Analytics解决方案中)来优化游戏的实时表现、最大化您的收益。
Unity 2017.1, 2017.2和2017.3发布了许多关键功能来支持这些目标的实现。接下来是总结扼要:
##推荐
同时我们非常兴奋能分享一些已发布或正在制作中的,基于Unity 2017.X的产品:
- Oats Studios / ADAM: The Mirror & Episode 3

文章图片
- Spiraloid / Nanite Fulcrum

文章图片
- KO_OP / GNOG

文章图片
- Baobab Studio / Asteroid!

文章图片
- EpicHouse Studios / Phased

文章图片
- Cybernetic Walrus / Antigraviator

文章图片
- Rebel Twin / Dragons Hill 2

文章图片
- Slow Bros / Harold Halibut

文章图片
- WITHIN / Life of Us

文章图片
- Seriously / Best Fiends

文章图片
- Monomi Park / Slime Rancher
- Videogyan / TooToo Boy
最后,在详解2017.3之前,请看看下面这个视频,其包含了2017各版本的一些新改进的功能。
Unity 2017 - Highlights Youku
##新内容##
年末已至,我们很高兴地宣布,作为2017系列最后一个版本的Unity 2017.3现已可获得。2017.3引入了几种为艺术家和开发者们引进的新功能,我们也特别兴奋能够分享用于创作交互式全景视频(360-video)体验的改进工具箱。
我们打算用大量的功能更新日志终结2017年,包含下面几点:
- 360/180全景视频
- 粒子系统改进
- 脚本编译 – 用户自定义托管程序集
- 托管内存分析器支持(Managed Memory Profiler support)
您现在可以利用支持所需API的Mono/.Net 2.0来拍摄托管内存快照(take managed memory snapshots)。这意味着您可以在Editor内直接拍摄内存快照了。
- 最新的压缩库(Crunch Library)
- 图形改进
- 光照改进
- VR设备信息
- 物理
- 动画
- 支持Xbox One X
- 小米:通过编辑器轻松发行安卓应用
- 标准事件(Standard Events)
编辑器与引擎
- 脚本编译 – 程序集定义文件(Assembly definition files)
现在,您可以使用程序集定义文件根据文件夹中的脚本定义自己的托管程序集。将项目脚本分离成具有明确定义的依赖项的多个程序集,确保在脚本中进行更改时只需要重建所需的程序集。这减少了编译时间,对于大型项目尤其有用。
每个托管程序集都可以看作是Unity项目中一个独立的库。

文章图片
上面的流程图阐明了如何将项目脚本分割成几个程序集。因为在Main.dll里只有脚本会改变,所以其他的程序集都会被重新编译。由于Main.dll包含更少的脚本,它将比Assembly-CSharp.dll更快。
同样,只有Stuff.dll里的脚本改变才会引发Main.dll和Stuff.dll重新编译。
在我们的特色预览博客,您可以阅读更多关于如何使用我们的程序组定义文件。
支持Mono NET 2 的内存分析器( Memory Profiler) 2015年,我们发布了一款实验性质,支持IL2CPP的内存管理分析器。其一开始作为Unity Hackweek项目,在BitBucket发布后成了开源项目。请移步Bitbucket的内存分析器项目页面来观看demo视频,获得更多细节。
我们已经为拍摄托管内存快照用的内存分析器所需API新增Mono/.Net 2.0支持。这意味着您可以在Editor内直接拍摄内存快照了。

文章图片
变换工具 (Transform Tool) 变换工具(Transform Tool)是一个多功能工具,包含下列三种标准功能:位移(Move)、旋转(Rotate)和尺寸(Scale)。变换工具并不是要取代这三种标准工具,而是想要在提供一个工具的情况下,使您能够获得所有三种功能,而不用在它们之间换来换去。
- 世界变换 World gizmo
轴位移,平面位移:

文章图片
绕轴旋转,屏幕空间旋转,自由旋转:
世界尺寸拉伸:

文章图片
- 局部变换(Local gizmo)

文章图片
- 屏幕空间变换(Screen Space Gizmo)
此模式下,您可以沿屏幕空间位移和旋转。
沿轴位移,平面位移,绕轴旋转以及世界尺寸拉伸:
- 拽变(Snapping)
轴位移;
平面位移;
轴旋转;
轴拉伸;
世界尺寸变换
- 顶点拽变(Vertex Snapping)
这使得您能够通过位移gameObject的顶点从而与另一gameObject顶点重合。

文章图片
- "Cinemachine"摄像机系统(camera system)
改进包括:
- 支持Post-Processing Stack v2 beta;
- 启用新的Collider:用一种智能相机定位算法取代边缘探针(curb feelers),保持相机与目标之间的高度或距离;
- 新的转帧器(FramingTransposer),通过移动而不是旋转摄像机来尊重构图(composition)和取景(framing)规则;
- 新的Cinemachine MixingCamera,可以驱动时间轴(timeline)或游戏逻辑内(game logic)连续混合的(a continuous blend of),多达8个虚拟摄像机。您可以使用它来创建复杂的,带有自定义混合(custom blends)的装置,并把它们当做一般的虚拟摄像头(vcams)使用。
想要了解所有功能和改进,请进入我们的官方论坛来获取相关列表信息。
Cinemachine功能组件现已在Asset Store发行。请下载最新版本到您的项目中。
图像 (Graphics)
- 渐进光照贴图(Progressive Lightmapper)(预览)
Unity 2017.3中,您可以使用渐进光照贴图并从下列照明模式中选择相应的模式来做同样的事:
- 间接烘焙(Baked Indirect)模式下, 混合光(Mixed lights)表现为一种实时动态光,伴有从烘焙贴图和光线探针(light probes)取样的附加间接光。 像雾这样的特效可以在有实时阴影距离处使用,否则阴影会丢失。(Effects like fog can be used passed realtime shadow distance where shadowing would otherwise be missing)
- 阴影遮罩(Shadowmask)模式下,混合光是实时的,静态物体的投影被烘焙成一个阴影遮罩纹理及多个光线探针。这允许您可以渲染远处阴影,并彻底地减少质量设置中基于Shadowmask模式下渲染的投影数。
- 弱色(Subtractive)模式下,直接光(direct lighting)会被烘焙成光照贴图,静态物体将不再从混合光中拥有镜面(specular)或光滑(glossy)的高亮。动态物体将被被实时照亮,并接收光线探针对于静态物体的预算阴影 。主要的方向光(main directional light)允许动态物体投射一道弱色过的(subtractive)实时阴影到静态物体表面。
- 若想尝试渐进光照贴图中的各种光线模式,请确保您的场景中有混合光,然后,在光线窗口(Lighting Window),选择一种Lighting Mode。
- 拥有实时探针与烘焙贴图的光照细节等级(Light LODs)
当您在场景中同时使用Unity的LOD系统、烘焙光以及实时全局光(Realtime GI)时,系统将会把LOD组(Group)外细节最多的模型照亮,并把它当做一个规则的静态模型。它为直、间接光使用光照贴图,同时为Realtime GI分割光照贴图。
然而,对于LOD组中更低等级的光照细节,您只能将烘焙过的光照贴图与光线探针或者Light Probe Proxy Volumes相结合,且必须放置在LOD组周围。
为了允许2017.3的烘焙系统可以生成实时或烘焙过的光照贴图,您只需要打开GameObject–Renderer–Lightmap Static。
下面的动画展示了实时环境(realtime ambient)的颜色是怎样影响使用更低LODs的实时全局光照的。
- 光照贴图管道(ightmap pipeline)中的高动态范围图像(HDR)支持
在Player Settings里,将Lightmap Encoding设置成High Quality,就可以轻松打开HDR啦。

文章图片
选择High Quality会打开HDR光照贴图支持,而Normal Quality则会转换成RGBM解码。
当打开Lighting Window里的lightmap Compression时,光照贴图会被压缩成BC6H压缩格式。
- 改进GPU instancing
现在的GPU instancing大为改进,包括:现在每个实例(Per-instance)的属性都会被包装到一个,拥有实例常量缓冲区的(instancing constant buffer),只包含一个数组的,结构体(structure)数据类型内。
【翻译|【翻译】Unity2017.3 版本发布说明】现在对于大多数平台,无需用户指定,系统便会自动计算实例数组的大小(常量缓冲区的最大值,或是,上述结构体类型的大小)。OpenGL和Metal中,实例批(Instancing batch)的大小因此被增加,实例着色器的变种(instancing shader variants)也编译得更快,并且很有可能消耗更少的CPU-GPU数据带宽(data bandwidth)。
- 最新的Crunch压缩库
Crunch是一种有损纹理压缩格式,通常用在DXT纹理压缩的顶部。Crunch压缩帮助减少纹理大小来使用更小的硬盘空间并加快下载速度。Richard Geldreich开发的原始的Crunch压缩库可以在GitHub中获取。
Unity 5.3版本首次支持Crunch纹理格式,在如今的Unity 2017.3版本中,我们引进了Crunch压缩库的最新版本。
使用Crunch压缩的纹理会首先解压成DXT,然后实时上传到GPU里。处理过的纹理不仅占用了更少的空间,而且解压得更快。因而使用Crunch格式分配纹理非常高效。同时,Crunch过的纹理会花很长的时间来压缩,这是使用Crunch的一个主要缺点(对于大项目,在Unity Editor里将所有纹理压缩成Crunch格式会花好几个小时)。
Crunch可以帮助您减小您创建的手游体积,因此也更容易遵守App Store无线体积限制(over-the-air size limitations),最终使您能够让更多的受众接触到您的内容(app)。
若要在Android,iOS和tvOS平台上使用Crunch压缩,您只需在Inspector窗口为您的纹理选择"RGB Crunched ETC"或"RGBA Crunched ETC2"格式即可。
如果您在Default标签打开了"Use Crunch Compression"选项,安卓平台上所有纹理都会默认被ETC Crunch压缩。

文章图片
从下图您可以看见使用Crunch在默认质量设置下压缩的纹理。请注意:最后一张纹理的光点是,在选中GPU纹理格式(DXT/ETC)下,被Crunch压缩时所引进(introduced)的。
![]() 文章图片 |
![]() 文章图片 |
![]() 文章图片 |
---|---|---|
Original image 24 bits/ pixel | DXT 4 bits/pixel | Crunched DXT 1.24 bits/pixel |
![]() 文章图片 |
![]() 文章图片 |
![]() 文章图片 |
Original image 24 bits/ pixel | ETC 4 bits/pixel | Crunched ETC 1.33 bits/pixel |
- 动态分辨率(Dynamic Resolution)首次登录Xbox One平台
- 视频全景播放器(360 Video Player)
在2017.3版本中,您现在可以将2D或3D的全景视频放到Unity中,并在VR平台运行时放到Skybox里回放来营造单机360度全景视频体验。
Unity为180°和360°视频在球面映射布局(equirectangular layout)(经度和纬度)或立方体映射(cubemap)布局(6边(frames))方面提供了内置支持。
球面映射2D视频,对应360°内容,纵横比应是2:1;而180°则是1:1。

文章图片
球面映射2D视频
球面映射2D视频根据面布局不同,采用的纵横比应为:1:6, 3:4, 4:3或6:1。

文章图片
立方体映射2D视频
为了在Unity Editor中使用全景视频功能,您必须可以使用全景视频剪辑(panoramic video clips),或知道怎样制作它们。请查看我们的文档页面,按照指引,一步一步学会如何在Unity Editor显示任何(形式的)全景视频。
请牢记:许多桌面硬件视频解码器仅限于4K分辨率,而移动硬件视频解码器通常仅限于2K或更小,在这些平台实时回放时,对分辨率会有所影响。
- 用于Unity的 ARCore SDK Preview 2
- 支持Vuforia 7
![]() 文章图片 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXBJWUs4-1590482546660)(https://blogs.unity3d.com/wp-content/uploads/2019/12/image3.gif)] |
---|---|
Ground Plane(可免费获取)将数字内容放置到地板或桌面上。 | Model Targets:基于外形 (geometry) 识别出一类物体,用于将AR内容放置到工厂设备、轿车或家具上。 |
- Otoy用于Unity的OctaneRender现可获取
使用OctaneRender制作的Unity场景渲染,现于商店里可免费获取!
##粒子系统
- 速度调节器(Speed Modifier)

文章图片
Velocity over Lifetime module现在包含一个新的曲线,它允许根据粒子寿命长短控制粒子速度。所以现在改变粒子速度也可以不影响其运动方向。它还包括对负速度(negative speeds)的支持,这有助于产生重力/涡流(vortex)效应。
- 标准粒子着色器(Standard Particle Shaders)

文章图片

文章图片
- 带状粒子轨迹(Ribbonized Particle Trails)

文章图片
- 其它粒子系统改进
Unity 2017.3已支持32位网格,网格的约束(constraint)最终可升至65, 536或更少个顶点(vertices)。此支持已经完全集成(integrated)到粒子系统中,这意味着可以在这些新的大型网格的表面上生成(粒子)。尽管性能成本可能会高一点,您现在也可以用32位指数(indices)绘制粒子网格。
我们还对编辑器做了一些改进,以便改进您创作特效(effects)的工作流程:
- 已将调试复选框从Inspector面板移动到Scene View Overlay中,使其更易于访问(Resimulate(粒子实时更新)、Show Bounds(显示空间边界线))。
- 在Scene View Overlay中有一个新的下拉菜单,称为“模拟图层(Simulate Layers)”,您可以使用它预览所有循环特效,而不仅仅是被选定的那些。使用图层遮罩(Layer Mask)来决定预览哪些特效。
- Scene View FX下拉菜单新增一条用于渲染粒子系统的选项。允许您显示/隐藏粒子系统来整理(decluttering)您的场景视图。

文章图片
- 布料改进(Cloth improvements)
布料物理(Cloth physics)有很大的改进,包括:更好的用于创作布料的编辑器内工具(in-editor tools),并使用了更多的PhysX内部功能(with more of PhysX internals exposed)。为您提供更多碰撞、自我碰撞的选项等等。
您可以从此处获取关于如何开始使用布料改进的相关信息。
##各类平台
- Facebook分段上传功能(segmented upload feature)
Unity自5.6版本以来就一直支持Facebook的Game Room里的桌面游戏应用。对Windows本地客户端的支持允许玩家体验网页游戏和只构建于Windows平台的游戏。了解更多有关如何接触Facebook上的二十亿用户。

文章图片
##XR
- 支持Oculus Dash Depth
- 用于VR的地形树(Terrain Trees)
- 用于PSVR的立体实例化(Stereo Instancing)
- 平台弃用(Deprecation)
最后,如2017年10月首次宣布,Unity从2017.3版本之后将不再包含Samsung Tizen和SmartTV。尽管如此,Unity依然会提供12个月的,包括从2017.2版本(2017.10.12)以来的补丁和安全更新在内的支持。想要获取Tizen和SmartTV有关Unity的最新信息,请访问Samsung合作页面或通过support@samsungdevelopers.com直接和Samsung联系。
##Unity Teams
现在可以购入Unity Teams功能,使各种规模的团队都可以在Unity内轻松地保存、共享和同步项目。Unity Team Basic免费并且适用于刚起步的小型团队。而Unity Teams Advanced,每个月花费9美元,您就能拥有更多功能和容量(capacity)。您可以增添更多的小组成员 、云存储或更加自动化的开发(builds),为您想要的功能付款吧。请前往unity3d.com/teams了解更多细节。
如果您已经在使用Unity Teams的功能(合作与云开发(Collaborate, Cloud Build),您可以在2018年1月9日前升级到付费订阅,以防止服务中断。另外,现在是升级到Plus和Pro版本的最佳时机。所有在2018年1月31之前激活的Unity Plus和Pro订阅,无需额外花费便可享用Unity Teams Advanced。了解更多有关此服务。
##Unity Analytics
- 标准事件(Standard Events)
Unity Analytics Standard Events帮助您追踪用户行为、解答您游戏中的关键问题。它们是一套经过策划的事件,主要集中在五个不同领域的用户体验:初次进入(Onboarding)、应用(Application)、发展(Progression)、参与(Engagement)和商业化(Monetization)。有了Unity 2017.3,Standard Events现在已被正确创建到Unity中。

文章图片
- 配合Standard Events, funnel templates允许您创建普通漏斗,点击几下就可以揭示关键见解。
- 实时数据(LiveStream)

文章图片
了解更多有关LiveStream.
##发布说明( Release notes)
与以往一样,若想获得有关新功能、改进与修复的完整列表,请参阅发布说明。
这些就是2017年最后一个Unity版本的所有新功能啦!快点这里开始下载Unity 2017.3吧!~
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长