【翻译】Unity引擎路线图 - 5.2

时间:2024-04-15 22:27:34

2D: Sprite Atlas支持安卓ETC1压缩格式

ETC1不支持带透明信息(alpha通道)的贴图。一种解决方法是将原贴图分割为两张不带alpha的贴图(一张为原图图像,另一张以灰度图的形式存储贴图透明信息)。这种情况下,需要shader做一次额外的纹理查询来获取灰度图上存储的透明信息并将之合并到最终结果。

Unity中的Sprite Atlas现在完美支持ETC1格式纹理压缩,并且开发者能够控制对每一张贴图的压缩细节。

2D: Sprite Packer改进

Sprite Packer(图集打包工具)现在在打包图集的时候可以旋转Sprite(精灵)以节省空间。

动画:支持3D Max骨骼绑定

有些动画文件里面带有骨骼位移动画。例如3D Max Biped里面的第一块脊柱带有位移动画的情况。这些模型的 humanoid avatar里的位移*度(translation DoF)将会被激活,并且将位移动画转换成可重定向的位移*度。位移*度影响脊柱、肩膀、大腿和颈骨。位移*度通常代表能够提升重定向质量的小范围移动。当一个动画里有两个以上的脊柱动画时,位移*度也能够提升重定向质量。位移*度能够在Humanoid配置窗口的Muscle & Setting设置里面激活。

当设置一个Avatar动画类型为Humanoid时,Unity会尝试自动检测该模型是否为Biped。如果发现“Biped”这一层级或命名,就会使用默认的骨骼映射绑定以及t-pose。该模型的位移*度也会被自动激活。模型仍然能够被重新配置,不过通常使用默认配置会产生最好效果。要注意当骨骼不使用 “Triangle Pelvis” 并且使用默认命名时自动配置才会生效。

音频:Spatialization(空间化)SDK

音频空间化SDK是本地音频插件(Native Audio Plugin) SDK的一个扩展。它允许你添加自定义的空间化处理程序用来处理音频,从而达到一个更加具有沉浸感的播放环境。声音可以出现在播放者的四面八方。要注意这个扩展本身并不提供任何音频处理程序。它只是为第三方程序提供一个最简化的本地接口以支持音频空间化处理。您可以从Asset Store(资源商店)里面查找已有的利用该SDK的解决方案。

更新:仍在收集反馈中。目前可用范围较窄。慎用。

核心:日志中加入堆栈追踪(StackTrace)

在Windows和Mac OSX平台的编辑器环境和运行时环境下,提供Player选项用以捕获所有堆栈踪迹,并且输出到日志。

编辑器:支持Retina屏和HDPI

OS X下Retina屏上的平滑字体和3D视图。

大部分现有的编辑器代码不需变更即可支持Retina屏。

更新:虽然大部分工作已完成,然而游戏视图的缩放功能仍有待观察。

编辑器: 可缩放游戏视图

能够更好的查看比游戏视图所能适应的更大的分辨率;

能够使用滚动条滚动或缩放直到游戏视图与视角匹配;

更新:为了更好的处理游戏视图而进行的图形方面的改动将会花费比预期更长的时间。

Playables API(实验中)

这一新添加的API是为了让用户能够在一个树状结构体系里进行组织和运算,并最终创造出一些工具、特效或其他游戏设置。

到目前为止,该API支持运行时创建动画混合效果,让你能够完全控制有引擎播放的AnimationClips(剪切动画)。

图形:CPU优化

CPU渲染优化。

固定功能着色器现在在被导入时就已生成(使之能够工作在某些游戏机上,如PS4等)。

在Linux平台实现双线程渲染(在Windows / Mac上早已实现)。

开始做未来支持多线程渲染的准备工作。

图形:Deferred Reflection Probes - 延时反射探测 和SSRR(Screen Space Raytraced Reflection)-屏幕空间光线追踪反射

Reflection Probes(反射探测)在延时渲染模式下是逐像素而非逐对象执行的,并且使用一个单独的“render probes”屏幕空间通道。

屏幕空间光线追踪反射(SSRR)图像特效仍在开发中。这一效果会让反射变得更加真实,并且作为 reflection probes 在未找到屏幕空间信息时的备用方法。

光照:多场景光照贴图烘焙

可以为多个可用additive方式加载进来的场景同时烘焙光照贴图、reflection probes和实时光照贴图。在烘焙的时候数据会自动按照场景分离。

网络:WebRequest - 网络请求(实验中)

替换Unity原来的WWW对象。 - 作为用来发送HTTP请求和处理HTTP相应的模块化系统。 - 支持使用REST API的现代网络后端。

- 一些需求很大的特性,例如分块传输HTTP请求(chunked HTTP requests), 使用流来执行 POST/PUT操作以及对HTTP头和方法的完全掌控。

最初本特性只为桌面平台设计。

Unity反馈 - WWW 可用性

性能:分组剔除

分组剔除能够让你指定一组边界球,Unity会将它们集成到剔除管线里(多线程, 平椎体+遮挡剔除),并且给你可见/不可见 以及 ‘distance band’值。

有些情况下你可以使用此特性:

模拟拥挤的情况(下面还有关于这一点的)。

为基于 Graphics.DrawProcedural 的自定义渲染所集成的剔除行为。

在为某个新生成的坐标附加物体前先检查该坐标是否可见。

更复杂的LOD(多层次细节)设定,比原来仅改变哪个物体被渲染更进一步。

在出现大量球形物体时的处理更高效。

性能:UI批处理

重构了UI批处理的生成过程以及在几何体处理上使用多线程。

平台: 在安卓上使用IL2CPP(实验中)

作为一个可选方案仍在实验中。在5.2版本可能无法用于生产。

平台:在PS4和XBox One 上使用IL2CPP

平台:PS4下的Morpheus VR 设备

平台:PS4和XBox One下的Substance(实验中)

平台:支持Win 10 Universal Apps

服务:广告集成

服务:统计集成

服务:Connect Window连接窗口

提供了一个简单方法来管理你的云服务、云项目信息以及从编辑器直接获取重要信息。最初发行版中只有Unity Ads, Unity Analytics, Cloud Build, Multiplayer Networking和 Unity Performance在连接窗口是可见的。

Substance集成更新

同Substance Designer 5.1相同的特性。

更新了Substance 引擎和Unity交互的方法(现在是一个合理的消息队列);移除了一些被忽视的bug。

Substance graph里的动态参数在Windows / Mac平台上使用本地代码而不是字节码来计算,使得纹理生成变得更迅捷。

UI:下拉控制,2D裁剪等

新的UI控制支持标准的下拉使用模式。

2D矩形遮罩裁剪不再使用模板缓冲区。

CanvasRender API的改进。

蛮牛发布地址:http://www.manew.com/thread-41299-1-1.html

原文:

2D: Android ETC1 Compression for Sprite Atlases

ETC1 cannot be applied on textures with transparency (alpha channel). One way to still use this techniques for textures with alpha is to split the source into two textures without alpha (one with original image, other with alpha as a grayscale). The shader code needs to make two texture lookups instead of one, the additional lookup being fetching the alpha from the grayscale texture and finally combining the result.

Sprite atlases in Unity can now exploit this compression technique under the hood, and the developer has control over this feature at a per texture level.

2D: Sprite Packer Improvements

Sprite packer can rotate sprites while packing to save atlas space.

Animation: Support for 3dsMax Biped Rig

Some animation files come with translation animation on humanoid bones. For example, it is the case with 3DS MAX Biped that comes with translation on 1st Spine bone. Translation DoF can be activated on those humanoid avatar to convert translation animation to retargetable translation DoFs. Translation DoF affects Spine, Shoulders, Upper Legs and Neck bones. Translation DoFs usually represent small amount of translation that improves retargeting quality. Translation DoF may also be used to improve retargeting quality when animation has more than two animated spine bones. Translation DoF can be activated in Muscle & Setting tab of Humanoid configure window.

 

When setting an Avatar Animation Type to Humanoid, the Auto-Configure will try to detect if it is a Biped. If the hierarchy and naming of Biped is found, then default mapping and t-pose for biped will be used. Translation DoF will also be automatically activated for that avatar. The avatar can still be re-configured from this point, but usually default Biped mapping, t-pose and translation DoF will give the best results. Note that only Bipeds with no “Triangle Pelvis” and using default naming are supported.

Audio: Spatialization SDK

The Audio Spatialization SDK is an extension of the Native Audio Plugin SDK which allows adding custom spatialization processors that can be applied to AudioSources to give a more immersive experience of audio playing behind, above, or below the player. Note that the extension by itself doesn\'t provide any spatialization processors, but simply provides a minimal-overhead native interface for 3rd parties to support such functionality. See the asset store for existing solutions that may benefit from this system.

 

Update: Still assessing feedback, and time to address any is quite narrow. So, now at risk.

Core: StackTrace options for logs

An Editor and Runtime Player option for Windows and OSX to capture (or not capture) full stack traces when messaging to the log.

Editor: Retina/HDPI Support

Crisp fonts and 3D views on retina displays on OS X.

Most existing editor code will just support retina without changes.

Update: While largely completed, the zoomable game view changes are a dependency to be realistically usable.

Editor: Zoomable Game View

Better ability to view resolutions larger than what the Game View can fit.

Ability to scroll with scroll bars or zoom out until it fits in the view.

Update: Graphics changes to properly handle the game view are taking longer than expected.

Playables API (experimental)

This new C# API aims to provide a way for users to create tools, effects or other gameplay mechanism by organizing and evaluating things in a tree-like structure.

 

In its current form, the Playable API supports creating Animation blending graphs at runtime, providing the capacity to have full control over the AnimationClips played by the engine

Graphics: CPU Optimizations

Rendering CPU Optimizations.

Fixed Function Shaders are generated at import time (makes them work on consoles now).

Two-thread rendering is implemented on Linux now too (just like it was on Windows/Mac for a long time).

Preliminary work for wider multi-threaded rendering in the future.

Graphics: Deferred Reflection Probes & SSRR (Screen Space Raytraced Reflections)

Reflection probes in Deferred Shading are done per-pixel instead of per-object, in a separate "render probes" screenspace pass.

Screen space raytraced reflections (SSRR) image effect is in development, that would provide more accurate reflections where possible, and fallback to reflection probes where screenspace information is missing.

Lighting: Multi Scene Lightmap Baking

Lets you bake lightmaps, reflection probes and realtime lightmaps for multiple scenes which together, which can be loaded additively. Data is automatically split on bake per scene.

Networking: WebRequest (experimental)

Replacement for Unity\'s original WWW object. - Modular system for composing HTTP requests and handling responses. - Support modern web backends with REST APIs. - High-demand features such as chunked HTTP requests, streaming POST/PUT operations and full control over HTTP headers and verbs.

 

Initially implemented only for Desktop platforms.

 

Unity Feedback - WWW Usable

Perf: Culling Groups

Culling Groups allow you to specify a set of bounding spheres that will be integrated into Unity’s culling pipeline (i.e. multithreaded, frustum + occlusion culling) and give you visible/invisible and ‘distance band’ values.

 

Some things you could use this for include:

 

Crowd simulation (more on this below)

Integrated culling behaviour for Graphics.DrawProcedural-based custom renderers

Checking that a spawn position is invisible before popping something in at it

More complex LOD setups that go beyond just changing which renderers are used

Efficient processing of large numbers of sphere triggers

Perf: UI Batching

Re-factor UI batch generation and multi-thread the geometry jobs.

Platform: IL2CPP for Android (experimental)

On track as an optional choice for experimental use. Not expected to be ready for production in 5.2.

Platform: IL2CPP for PS4 and Xbox One (experimental)

Platform: Morpheus VR Device for PS4

Platform: Substance for PS4 and Xbox One (experimental)

Platform: Windows 10 Universal Apps Support

Services: Ads Integration

Services: Analytics Integration

Services: Connect Window

Provides an easy way to manage your cloud services, cloud project information and get vital information directly from the editor. For the initial release only Unity Ads, Unity Analytics, Cloud Build, Multiplayer Networking, and Unity Performance are exposed in the Connect window.

Substance Integration updates

Feature parity with Substance Designer 5.1

Updated how Substance engine and Unity communicates (now a proper message queue); gets rid of many corner case stalls/bugs

Dynamic parameters in Substance graphs are now evaluated using native code instead of bytecode on Windows/Mac/Linux, resulting in faster texture generation

UI: Dropdown Control, 2D Clipping etc.

New UI control supporting the standard drop down use case.

2D rectangle mask clipping that does not use stencil buffer.

CanvasRenderer API improvements.