Unity 2020.1 beta将是今年TECH stream(技术更迭)开发周期中的一座里程碑。在发布长期支持版之前,Unity将发布两版2020 TECH stream版本即2020.1和2020.2
Unity 2020.1 beta新版本中为大家带来了分析工具、图形功能、编辑器工作流等等新内容,现邀请各位试用新功能,在Unity Connect 技术交流小组中留下反(tu)馈(cao)!
您可以从Unity Hub中下载Unity 2020.1 beta版开始试用。我们建议在试用前先自行评估新技术,切记不要在正式项目的制作中使用测试版。并且在使用项目测试beta版和预览版技术前,不要忘了备份。
未来博客和Beta论坛将发布beta版本或预览包的更多信息,请持续关注。编程和分析工具
分析工具可以提供应用性能和内存数据的深度分析,帮助应用实现最佳性能。在本次发布中,我们改善了工具的稳定性、性能和可靠性。
首先,Profiler与Player玩家版本的联系更加稳定,尤其是在低端安卓设备上。现在Profiler还能作为单机桌面应用运行,若想在编辑器或Play模式中测试,单独的应用可以大幅减少能耗,提供更纯净的数据。
Profiler现在还带有能将Job System依赖可视化的Flow Event(流程事件)功能。分析标记上现在还能添加元数据,而新的Sampler API(采样API)可以拓展Recorder API,允许在运行时显示GPU性能监视器。我们还改善了Profile Analyzer的许多地方,并且重构了Memory Profiler后端,大幅减少了采样内存消耗和采样次数。Memory Profiler目前为预览包。
若想可视化Unity的多线程Job排布,可以打开Profiler设定中的Flow Events
Code Coverage预览包可以在测试时逐个显示执行的代码,还能提示测试是否成功。如有任何反馈,请在论坛留言。
Build Report Inspector(版本报告检视器,资源包)可以将版本构建报告转换为可读信息(每次版本构建,Unity都会保存对应的报告)。而Build Report API可以显示项目构建时的详细信息,支持资源层面的拆解分析 。
在新C#调试工作流中,编辑器默认会运行C#代码优化,改善性能。并且进入调试模式现在无需重启编辑器。
Visual Studio整合功能现在将以包(Package Manager)的形式发布。新的Visual Studio Code Editor目前为预览包,未来的开发更新都将发布于包中。包可以切换到维护模式,未来维护模式会被移除。我们还添加了许多新特色功能和改善,如更快的启动速度。
改善了泛用类型序列化字段的支持。在过去,若想在字段中 使用泛型类型(比如MyClass<T>类),必须定义一个非泛型的次类(像MyClassInt:MyClass<int>类)。我们移除了这种限制,不必再声明一个泛型次类,可以直接使用泛型类型。Unity 2020.1 beta还包括了编辑器工作流的改善,包括:- FBX支持的改善(支持SketchUp资源的自定配置数据,新的轴转换功能)。
- 在导入PNG文件时可以选择忽略伽马校正(有助于实现各平台的色彩一致)。
- Presets新功能(可只应用Preset中的部分属性,可根据文件路径在Preset Manager中过滤文件)。
- Windows上的新Directory Monitoring功能可仅更新相关资源,加速资源处理。未来将支持macOS。
- 新公用API和Progress后台进程窗口可以在不阻挡编辑器UI、不打断用户使用的前提下,显示长期运行的异步活动。
Unity Accelerator可以在局域网中同步资源。在本次版本发布中,我们为Accelerator添加了本地管理员仪表盘,可根据团队需求更改工具的配置。
现在可以在Scene视图和可嵌套的Prefab中编辑Prefabs了。
编辑器内的资源商店原先由CEF(Chromium Editor Framework)驱动,该技术由于较为老旧,性能并没有现今的浏览器好。在本次发布中,我们移除了CEF,重新组织了窗口,取消了编辑器内浏览资源商店的功能。当登陆浏览Asset Store网站时,可用Package Manager窗口中的MyAssets菜单来下载、导入资源。窗口还包含了资源包发布的功能。
我们还更新了Hub的2D项目模板。其中包括了经验证和预编译好的2D包,包的加载速度要比手动安装更快,以及最优默认设置。我们将根据用户的需要继续打磨模板,请在论坛的Improved 2D Template帖子中留下你的反馈。
本次发布还包括了2D物理、Rigidbody2D XYPosition Constraint(2D刚体XY位置绑定)的更新与改善,当前刚体在任何力下都有更具实体感,并且在运行时几乎不耗费性能。这些功能由2019.2里Box2D物理的改动发展而来。Per-frame Auto-Simulation(逐帧自动模拟)功能可让物理的刷新率与渲染周期同步,让物理和图像效果更加平滑。此外,EdgeCollider2D碰撞体可以设定起始点和结束点,允许与其它碰撞体的边缘重叠,来制作连续性表面。
我们的2D Physics项目更新了更多的场景,展示了所有2D物理特色功能。请在GitHub上下载试用项目,并在2D beta论坛向我们反馈。
新的Sprite Packer Version 2(精灵打包器)可以使用Scripted Importer将纹理或精灵制作成精灵图集,Scripted Importer可以访问AssetDatabase v2和Cache Server(缓存服务器)。
美术工具
Animation Rigging(动画绑定,预览版)包现在带有Bidirectional Motion Transfer(双向动作转移器)工作流,可将现有动作转移到活跃约束,也可反向转移。
Particle System有了更多的改进,包括Freeform Stretching(自由形状伸展)模式和Lifetime by Emitter(随Emitter速度改变Lifetime)的模组,这两个功能在制作如水滴落或火焰舞动的效果时非常有用。Shader Graph中的便利贴功能也有了改进。
UIElements将重命名为UI Toolkit,新名字能更好地描述内含的内容和功能。UI Toolkit可使用制作Unity编辑器拓展应用的相同工具来制作运行时UI。同时UI Toolkit也将作为包发布,于2020.1beta版周期的晚些时候上线预览版。若想了解最新消息,请关注UI Toolkit论坛。
图形工具
在通用渲染管线中,现在可以借助Camera Stacking来排布多个摄像机的输出,组合成单个影像输出。
Camera Stacking可以制作诸如2D UI中的3D模型这类效果,比如汽车驾驶座。目前,Camera Stacking并不支持2D Renderer(2D渲染器)或VR Multi Pass(VR多通道渲染)模式,未来的通用渲染管线中将添加相应的支持。
Unity 2020.1还更新了高清渲染管线(HDRP)中的RayTracing(光线追踪,预览版)功能。现在可以在Skinned Mesh Renderer(蒙皮网格渲染器)组件中制作光线追踪动画,而Renderers菜单的DynamicGeometry Racy Tracing Mode(动态几何形光线追踪模式)选项现在支持AlembicVertex Cache和动态网格(详见下方示例)。如果对这些功能感兴趣,加入我们的HDRP Ray Tracing论坛吧。我们还专门发布了一篇介绍HDRP Ray Tracing功能的博文,请点击查看。
本次beta版本还包括了光照的一系列改进及修复。比如,新的Light Setting Asset(光照设置资源)可以同时修改多个场景的设置,更详细地设置多次烘焙的场景。Lighting设定文件不再是Unity场景文件的一部分,而是存储在另一个保存GI预计算设定的独立文件夹中。这样一来,光照设定就能在不同的场景和团队成员间分享、更改和共用了。
新Calculated Pack Margin功能可以让Mesh Importer避免导入时出现互相重叠的UV,让光照贴图界限分明。
GPU Lightmapper的功能愈发靠近CPU Progressive Lightmapper的功能,现在支持A-Trous过滤、烘焙LOD支持、SkyOcclusion Baking(天空遮挡烘焙),还有些内存的改善。HDRP的Baked Light Cookies功能即将发布,目前可用内置渲染管线来尝试该功能。
新的Russian Roulette方法可以减少全局光照的总体烘焙时间,但请注意如果数值设定过于夸张,可能会在光照贴图中产生噪声。若想进一步了解Unity 2020.1中的新光照功能,请加入全局光照论坛。
平台相关
iOS设备上的Unity运行时将不再支持32位版本,最低系统版本为iOS11。iOS上的OpenGLES支持已经弃用(自2019.3起),并将在2020.2中彻底移除。
开发者们现在可以只用一个API来应用自己的会话流程,用于旧版渲染和可编程渲染管线输出效果到PlayStation 4、Xbox One和桌面平台的高动态范围图像(HDR)显示器上。
Device Simulator(设备模拟器,预览版)包现在支持更多设备,还支持设备列表的搜索和过滤。
新的Caching ShaderPreprocessor(着色器缓存预处理器)可预处理文件并将结果缓存起来,让着色器导入/构建更加高效(至多可减少25%着色器编译事件)。功能适用所有平台和渲染管线,目前处于实验阶段。可在Editor设定的Shader Compilation(着色器编译)中打开功能。
我们为WebGL载入器和模板添加了一些改进。为了改善载入性能,Unity 2020.1将根据构建版本生成一个专门的WebGL载入器。载入器将去除未使用的代码,还会根据玩家版本设定来选择最为高效的加载方案。
编辑器加入了HDR屏的支持,方便开发者使用。功能支持DX12和Metal。
我们还加入了玩家版的HDR支持,新的C# API可以用于覆写Unity默认的色调映射算法,可用于实现自定色调映射,或启用/禁用HDR设定。下方视频介绍了beta项目的初衷和意义,以及beta用户们的想法,帮助您进一步了解Unity 2020.1开启Beta。
如果您对Beta版本有任何问题或建议,可以在Unity Connect APP的“技术交流”组中反馈给我们: