其他
Unity 5.4正式版发布!
点击[阅读原文]立即下载Unity 5.4!
最近几个月除了忙着发布Unity5.4,同时我们也致力于改善Unity 5.3.x让它成为你们正在开发中的项目的一个坚如磐石的平台。
Unity5.4主要改善如下:
图形和渲染性能改善:
- 更佳的多线程渲染- 使用GPU Instancing减少Draw Call - Windows、OSX、Linux、PlayStation4以及Xbox One可用 - 改善底层图形功能:文理数组,计算着色器(Compute Shader)等等 对美术人员来说: - 得益于新的触发器模块-缩放控制器,以及带有光照探针代理体(LPPV)的光照更佳,粒子可以更个性化。 - 引擎内置支持运动向量渲染 VR改善:内置支持更多VR平台且性能表现更好 IL2CPP正式支持安卓平台(之前被标记为“体验版”) 编辑器现在支持Mac Retina高清显示屏(Windows 的HiDPI支持正在开发中),还添加了可缩放游戏视图的函数(OSX & Windows) 现在支持在编辑器内配置Cloud Build云构建 性能报告现已完全集成在编辑器中,一键激活无需插件或代码 Analytics分析的主要功能更新,支持原始数据导出,热图(Heatmap),活动流(Live Stream),并且在仪表盘中加入Ads广告数据 应用内购现在支持亚马逊应用商店 移除了目标平台Web Player、PS3,并且不再支持iOS6(现在支持iOS 7.x及以上版本)
下面为大家介绍具体细节。
Unity 5.4将对多线程渲染的支持提升了一个等级。它能根据项目和发布的目标平台显著改善应用的帧率。
在将粒子、Sprite、火焰、光、线条及拖尾的渲染从Unity 5.3的主线程移除的基础上,我们引入了并行式命令表生成。不再将图形命令表生成到物理及脚本所使用的主CPU核心脚本中,而是重新分配到多个CPU内核,消除了潜在瓶颈以便复杂场景可以更快地运行。
Draw Call越少就表示性能越高。通过支持GPU Instancing,渲染大量共用相同材质的类似集合体只需要很少的Draw Call。
目前支持GPU Instancing的平台包括Windows(DX 11/12,Shader Model 4.0及以上),OS X,Linux(OpenGL 4.1及以上),以及PlayStation 4和Xbox One。更多平台的支持正在进行中,请保持关注。
上图的场景包含3种石头网格。每块石头使用同一个材质属性块对颜色深浅进行调整。第一个场景使用了支持Instance的标准着色器,第二个场景使用内置的标准着色器。运行环境是Unity 5.4 beta,Windows D3D11,CPU 是Intel Core i7-4980HQ@2.8GHz,GPU是nVidia GeForce GT 750M。
如果你是自己编写着色器的图形程序员,可以使用2D Texture Array来帮助优化大场景及实现渲染系统。其原理是让GPU将大小与格式相同的2D纹理当作单一对象来处理。
我们还改善了一系列底层的图形功能。Computer Shader现在可以通过DispatchIndirect串联在一起,也改善了Compute Buffer计数器,以及用于调试Computer Shader的调试信息。使用新的CopyTexture函数可以快速复制纹理,因为新增了着色器参数所以也能支持Uniform Array。我们在Metal、OpenGL及D3D9平台上实现了Alpha-to-coverage,iOS上可以支持多线程渲染用于Metal。最后,图像特效也可以通过新增的ImageEffectAllowedInSceneView属性被用于场景视图的相机。
对于美术人员:粒子光照更佳,运动向量展示以及改善了Cinematic Image Effect
Unity 5.4的粒子包含了新的大小控制,可以独立控制粒子的宽度和高度,并控制网格粒子的全3D形状。
通过使用光照探针代理体(“LPPV”),可以使大量粒子系统的发光效果更加真实。这是一种让无法取得光照贴图的动态物体能获取烘焙光照信息的方式。
LPPV的工作原理是,通过在包围体中生成插值光照探针的3D网格,可以指定网格分辨率。这样就可以为probe-lit对象添加空间上的渐变。LPPV不仅仅只对粒子有用,还可用于大量的动态对象。
最后,不要忘了 Cinematic Image Effects(如屏幕空间光线追踪反射(SSRR),景深(Depth of Field),色调映射(Tonemapping)和颜色分级(Colour Grading)等等),这些效果均已开源,可在 Asset Store 中获取(也欢迎提交代码到我们的 repo)。 Adam Demo中就很好的利用了Cinematic Image Effects效果。
在5.4中,我们也加入了运动向量支持。运动向量可以从像素层面追踪每一帧的运动,并用于实现非常棒的后处理效果如运动模糊和抗锯齿(Temporal Anti-Aliasing)。举个例子,目前Cinematic Image Effects beta版中就利用运动向量实现了非常逼真的运动模糊效果:
Unity 5.4现已内置支持OpenVR (SteamVR/HTC Vive), Oculus Rift, Gear VR, 和 Playstation VR平台,并针对这些平台进行了渲染优化。只需一个API就可以很容易构建到多个VR平台,将需要针对平台进行的调整降至最少。
为了实现这点,我们重构了VR子系统以清除不同VR设备相同功能的冗余代码。在性能方面,我们加入了优化过的单通道立体渲染功能(以前称之为双宽渲染),所以现在左右眼视图都是单通道渲染,以便维持高帧率。
如果想学习如何开始VR开发,可以查阅这些教程和相关的免费资源来快速上手。
最后,正如在谷歌IO上宣布的那样,Unity将原生支持新的Daydream平台。如果等不及原生集成,也可以访问谷歌开发者网站,获取 Google Daydream VR Dev Kit for Unity。
在此介绍下,IL2CPP是我们的脚本后端,用于将Unity项目中的脚本和组件的IL(中间语言)代码转换为C++代码,然后利用平台原生编译器进行编译。最明显的优点就是改善了Unity运行脚本(游戏逻辑)时性能。自Unity 5.0开始引入IL2CPP,最初是为支持WebGL而实现的,现在IL2CPP已完全支持iOS、 PS4和PS Vita,同时也实验性支持Windows Store/UWP 和 Xbox One。
在此我们也很高兴的宣布IL2CPP已完全支持Android平台了,不再是实验性!
在5.4里,我们集中精力缩减WebGL构建时间,通过缓存IL2CPP信息并提供可用于Development Build的内置运行时组件,因此只需重新构建用户定义的代码即可。首次构建仍需花些时间,但后续将是增量构建,因此更加快速(记住,可以很方便的将构建操作交给Cloud Build云构建,见下文)。
现已完全支持WebGL,你可以放心将其作为目标平台来开发网页游戏。看到开发者采用WebGL作为游戏的目标平台我们非常激动,例如Unite Europe 2016所分享的 Nordeus将《Top Eleven》移植到WebGL平台的故事。他们对移植到WebGL平台提供了非常有用的建议并且…[*剧透*]宣布其收益增长了30%。
我们也非常高兴地宣布WebGL 2.0现已作为Unity中的实验性目标平台。尽管WebGL 2.0标准还是草案,并未应用到当前正式的网页浏览器规范中,你可以在Unity中启用WebGL2.0,并使用Firefox或者 Chrome先拔头筹体验。取消勾选“Auto Graphics API”属性再在列表上方添加“WebGL2.0”即可。
如果使用用MAC Retina显示屏进行开发,现在的Unity编辑器效果更好。对于Windows的HiDPI支持也正在进行中。
使用Cloud Build云构建可以帮你摆脱跨平台编译及构建的流程,加快项目的迭代时间。Unity 5.4可以直接在编辑器中启用Cloud Build云构建配置。此外,还可在编辑器的Services标签下查看云构建状态,无需在打开仪表盘。非常方便!
有兴趣可以看看下面这段视频教程:
https://v.qq.com/txp/iframe/player.html?vid=w0317h4bqse&width=500&height=375&auto=0
Unity Performance Reporting性能报告自动收集应用在不同设备和平台的错误信息,以便实时发现并定位问题。在Unity 5.4中,Performance Reporting性能报告已完全集成到编辑器中,一次点击即可激活,只需几秒:
Analytics分析重要功能更新:收益报告,实时事件,新热图,原始数据导出
随着Unity 5.4发布,我们也推出了Unity Analytics分析最重要的功能更新。可以在新的分析仪表盘中查看广告收益和ARPDAU(每日活跃用户平均收益),使用 Livestream功能(仅支持Unity Plus个人加强版及Unity Pro专业版)跟踪实时游戏事件,使用新的热图来映射游戏选定的关键指标,使用原始数据导出(仅支持Unity Pro专业版)功能可以很方便地下载所有的数据来创建自定义的数据分析。
我们在跨平台应用内购服务Unity IAP中添加了对Amazon Appstore的支持。使用Unity IAP服务仅用一个API即可支持多个应用商店。
再见了WebPlayer,PS3以及iOS 6支持
此前已宣布,由于浏览器厂商逐渐不再支持插件,所以Unity 5.3会是最后一个支持Web Player发布的版本。当然,也可以继续使用Unity 5.3.x来发布Web Player游戏。但现在是时候转向WebGL了!
考虑到iPhone用户更新iOS最新版本较为及时(《Games by the Numbers 2016 Q2》报告显示99.2%的iOS游戏安装在iOS 7.x或以上版本),这足以让我们意识到有必要从Unity发布的目标平台列表中移除iOS 6。
我们也很不舍地不再支持PS3发布,以便专注于帮助大家构建更棒的PS4游戏。
感谢测试用户参与并提交Bug报告!
感谢参与测试项目的所有用户。谢谢大家的努力,花时间升级现有项目到测试版本并报告问题。你们使用Unity的方式各有千秋,帮助我们解决了最难搞定的复现Bug。
因此,每位提交了有效Bug的用户都将收到一封邮件通知,以及Unity 5.4 beta定制T恤。除此之外,我们还会从中抽取100位赠送价值100美元的Asset Store优惠券。
Unity 5.5测试版即将来临
Unity 5.5测试版即将发布,敬请期待。请查看参与Unity测试项目指南,或者查阅版本路线图来了解Unity 5.5的新功能。
更多Unity官方最新消息,尽在Unity官方中文社区(forum.china.unity3d.com),请保持关注!