本次测试将带大家领略Unity本年度即将推出的内容,所有新功能和改进皆已开放体验。 最新Unity 2021.2的重点依旧在于稳定性、性能和工作流优化等优先级较高的事项上,同时也包含许多备受期待的功能,以及其他尚处早期测试的内容。本文将对这些新功能做逐一介绍。 下方为2021.2中部分编程与编辑器体验的改进亮点:
Unity 2021.2还推出了大量的新功能与工具,恭候各位艺术家和团队试用、反馈:
新版引擎即日起已在Unity Hub及官方下载页面开放下载,引擎迄今包含了3000多种修复与720多种新功能和修改。注意,测试版并不适用于实际的项目生产。若想用测试版中运行已有项目,请务必做好备份。
用户反馈是发布测试版最为重要的目的之一。为了鼓励用户反馈,我们专门与NVIDIA开展合作:每位提交了至少一个未知Bug的用户将有机会赢得一张GeForce RTX™ 3090显卡,总共两张。具体细节请在文末了解。
欢迎各位前来探索和测试新功能,如有任何问题,请使用Bug Reporter进行上报:选择Help>Report a Bug。详尽的问题报告可帮助我们高效地调查问题、分配任务单,让问题更快地解决。你也可以在论坛或Unity Answers上提及问题,将Case ID提交给相关团队。在实际上报Bug之前,你可以在公开的Issue Tracker中查看Bug是否已被提交。
以上便是参加Beta测试的好处了:你不仅能帮我们解决引擎的小问题、改进正式版外,还有机会参加Beta抽奖。注意,要想获取抽奖资格,每个上交的Bug必须具有独特性、且可以复现,并在报告中加入#Beta2021Win_NVIDIA标签。
Beta and Experimental论坛板块是社区与Unity员工建立联系、讨论预发布技术和Beta版的地方。你的参与将帮助Unity团队评估Beta版表现、规划产品路线图,更好地了解开发者的需求和水平,推动引擎工具的发展。请在2021.2测试版论坛中分享任何关于Beta测试版的反馈。
如果对Unity总体体验持有意见、或想与我们一道塑造引擎的未来,那就来加入Unity Pulse吧。作为全新的用户调研平台与社区,我们将在此积极举办用户调查、意向调查、圆桌会谈、用户访谈和小组讨论,以此作为调动资源力量的参考。更多详情请在这篇博文中了解。
接下来,我们来了解下新Beta尚待测试的地方吧。
在 Unity 2021.2 中,我们继续关注日常使用的改进,着重提高编辑器的性能、改进实用功能。
在此版本中,我们重修了场景视图UX,为美术相关的工具添加了操作界面,以及可定制的浮动工具栏。修整工作将从场景工具(移动、旋转、缩放等)、组件工具、场景方向与搜索栏开展。新系统具备一定的可扩展性,支持用自定义工具及工具栏构成操作界面。
编辑器中还有其它许多提高效率的改进,包括:
我们还改进了检视器中的数学表达:如sqrt(9) 或让范围内的值扩大2倍的*=2。各C#数值类型(如 Vector3)中的ToString() 现在默认显示两位小数而非一位小数。
点击Renderer组件的材质字段现在会高光显示该材质。
此版本还包括了众多可视化编程的日常使用改进:打开空白图表编辑窗口会弹出创建/加载图表的指南;图标与Unity编辑器有更高的一致性;“Unit(单元)”重命名为“Node(节点)”,“Super Unit(超级单元)”现称为“Sub-Graph(子图表)”。我们还减少了可视化编程项目的资源导入时间,并推出了更易使用的Script图表与State图表调用节点。
我们还围绕搜索功能进行了改进:新的Table View(列表视图)可显示出搜索结果的各个属性、还支持按名称或描述进行排序;新的Asset Picker支持根据参考资源来搜索其它相关项目。
在此版本中,Package Manager新添“feature set(功能集)”概念,根据一定的开发目标来划分软件包,比如2D游戏开发或移动端开发。一组软件包应该能很好地互补,而各种学习资源现在也可在Package Manager中直接下载。
不仅如此,我们还于近期发布了全新的Apple Silicon Editor Beta版,为M1 Mac用户带去了原生的Unity编辑器体验。为了能在2021.2正式发布前尽可能地改进编辑器,在测试期间我们欢迎大家的反馈。请在论坛上详细了解Beta版的下载方法或向我们提供反馈。
此版本还包含了一系列资源处理的改进,新Beta版的迭代过程较之以往更加迅速。新的“Import Activity(导入活动)”窗口可揭开详细的导入流程——导入/重新导入的对象、导入时间、导入耗时。
得益于纹理、网格导入流程的优化以及新导入功能,资源导入流程有了全面的速度提升。请在该帖子中详细了解此方面的改进。
最后,我们研究了改进构建流程的方法,并优化了Scriptable Build Pipeline(可编程构建管线)与Build Cache(构建缓存)的性能。我们还引入了支持累加式C#编译的编译方案,升级了Windows、macOS、安卓与WebGL平台上的源码加密流程。由此,项目在经过修改后,运行版本的构建时间将与修改的大小形成正比。这项改进将在未来逐步推广到其它平台上。
全新的IL2CPP源码加密功能可生成少得多的代码(最多可减少50%),降低构建耗时与可执行文件的体积。由于加密方法稍有不同,新功能可能会轻微影响运行时性能,因此其最适用于减少团队内部的迭代时间。请在该论坛帖子中分享新功能对你项目速度的影响。
我们还推出了AI Navigation实验性软件包,它可为运行时及编辑器中NavMesh的规划和使用提供额外的控制选项。详情请参阅相关文档及论坛。
我们还增添了编程方面的性能改进,包括:
新版本还推出了一系列分析工具的改进:
我们添加了四个新的Screen API,方便使用多个显示器的玩家自主选择游戏显示屏、提供更为全面的显示控制。它们分别是:Screen.mainWindowPosition、Screen.mainWindowDisplayInfo、Screen.GetDisplayLayout()和Screen.MoveMainWindowTo()。
新版本还支持安卓环境下的Chrome OS。Unity将支持采用x86、x86–64与Arm架构的Chrome OS设备。此外,开发者们还可以构筑自己的输入操控方案,来充分利用起键鼠或模拟控制器。Unity生态中新添对Chrome OS的支持意味着更少的平台维护、更轻松的谷歌商店发布流程。请在文档和论坛讨论中了解详情。
在2021.2中,Unity将直接支持使用新的安卓扩展文件格式Android App Bundle(AAB)构建资源。开发者可采用符合Google Asset Delivery规定的AAB格式,将任意应用发布至Google Play。
Adaptive Performance 3.0也将登陆2021.2。新版本添加了Startup Boost模式,让软件在启动时能选择优先占用CPU/GPU资源,让游戏启动更快。它还集成了Unity Profiler,让软件运行分析更为高效。更多信息,请查看文档和论坛讨论。
安卓端创作者们现在可以使用改进后的线程配置功能,来选择应用优化方向:如节能或高性能。功能的默认设置可满足大部分用户的需求,但高级用户也能进行精细化控制,最大限度地发掘应用在硬件上的性能。
对WebGL的改进包括2.0.19版的Emscripten,它可更快地完成构建、为目标WebGL播放器生成更小的WebAssembly文件。
新版引擎还预装了部分移动端浏览器上的WebGL播放器功能,包括陀螺仪、加速度计、重力传感器和姿态传感器(iOS和安卓浏览器),其他还包括前后置摄像头,以及锁定全屏屏幕方向的功能。
对压缩音频的支持降低了背景音乐及其它音频文件的体积,减少了WebGL播放器的内存占用量。
纹理现在有ASTC和ETC/ETC2两种压缩格式可供选择,而桌面端的高质量纹理则可采用BC4/5/6/7格式。
Unity Distribution Portal(UDP)的改进包括对运行模式的支持。此外,游戏将提前下载新制定的IAP产品,让购买和消费一定成功,方便开发者在播放模式下直接测试商品的兑现情况,不必等待UDP方法的回调。
我们还加入了一份UDP应用指南,在明确而UDP应用方式后(即直接应用或借助Unity IAP),指南将提供步骤式说明以及代码样例。指南可在菜单的Implementation Guide(应用指南)部分找到。
2021.2包含了许多对影片制作工具的改进及新的软件包。
新的实验功能Sequences(com.unity.sequences)是一种全新的影片创作工具,可让电影的内容编辑流程井井有条、便于协作、更加灵活。请在文档中详细了解功能。
新版Recorder集成了Arbitrary Output Variable(任意输出变量,AOV),方便为VFX及图像合成分割特效。我们还集成了光线路径追踪和Accumulation Motion Blur(累加式动态模糊),以获得更逼真的渲染效果。
最新的Alembic格式支持从任意路径流传输Alembic文件,绕过了导入这一步,同时对材质的处理也有了进一步改进。
简化后的Cinemachine Impulse效果大大降低了爆炸等事件下的效果复杂度。
Python for Unity拓宽了Unity对更广范围的媒体娱乐应用的支持,让引擎的应用范围更加广泛。在4.0版本中,Python将直接内置到引擎安装包中,并且还向下兼容Python 3.7,域重新加载时进程中的Python程序也不会被再度初始化。PySide更为精简且运行于进程内,支持的虚拟环境也较为有限。更多详情请在文档和论坛讨论中查看。
在2021.2中,新的实验包将着重改进影片的高级制作方式。
iOS应用Unity Virtual Camera可借助苹果ARKit让编辑器内摄像机的运动跟随真实设备记录在AR中的运动。
Unity Face Capture(面部捕捉)支持用带有Face ID的iPhone或iPad来捕捉、预览和记录面部表演,再将其绑定到模型上。要想试用Unity的Virtual Camera与Face Capture,就来报名参加Cinematics公开beta测试吧。
HDRP现在支持程序化Volumetric Clouds(体积云),普通用户可以通过调整参数来轻松做出不同类型的逼真云彩,而高级用户可以调整更详细的设置或导入自制贴图,更全面地掌控美术风格。
NVIDIA Deep Learning Super Sampling(深度学习超级采样,DLSS)是一种借助人工智能来改善图形性能和质量的技术,可以切实提高实时光线追踪的帧率与分辨率,显著改善光栅化图形的性能和画质,增强VR应用的性能表现与运行帧率,有效防止由低帧率引起的眩晕、恶心及其他不良影响。DLSS技术目前已登陆HDRP。
为庆祝这项技术登陆Unity,我们与NVIDIA展开了合作,限量赠送两张GeForce RTX™ 3090显卡及限量版Unity x LEGOⓇ联名人偶。具体细节请在文末了解。
HDRP光线路径追踪组件现在支持体积光散射(原先仅支持线性雾)。功能目前还支持发丝、织物、层叠光照和AxF材质,以及更为优秀的HDRI采样。
在体积密度的体积排布与混合方面,功能现在支持将一张Render Texture(渲染纹理)或Custom Render Texture(自定义渲染纹理)用作组件的体积遮罩。其他新增功能包括彩色体积遮罩、高清体积遮罩(在HDRP中最多可遮盖256个立方体)以及衰减型密度体积混合距离(线性或指数型衰减)。3D纹理图集现在支持不同的3D纹理分辨率和RGBA 3D纹理。
在听取艺术家的反馈后,我们改进了HDRP Decals(贴花)摆放时的用户体验,新添Pivot支点工具,改进了UV修改操作,新增对缩放变换、预制件的支持,以及小工具颜色编辑与多选编辑。
Streaming Virtual Texturing(虚拟纹理流传输,SVT)是一种纹理传输功能,可降低GPU内存占用与纹理加载时间。其原理是将纹理拆分为小图块,然后逐步将图块载入 GPU内存。作为一项实验性功能,SVT目前仅支持HDRP,而本次更新新添了对PS5的支持等其它改进。
URP的Scene Debug View(场景调试视图)模式现在的功能更为贴近原内置渲染管线,Render Pipeline Debug(渲染管线调试)窗口也新添了URP的调试工作流。用户可以使用调试窗口来检视渲染中材质的属性、光线与材质的相互作用,以及最终效果中的阴影与LOD。
添加了对反射探针混合和盒型投影的支持,提高探针的反射质量,让URP的功能更为贴近内置渲染管线。
URP Deferred Renderer(延迟渲染器)采用了一种特殊的渲染方法,即在所有顶点与像素的着色器渲染完成后,在另一条通道上完成光线投影在屏幕空间中的渲染。延迟渲染会分割几何体与光照的渲染,仅有那些影响到可见像素的光线投影效果会被计算。此方法能够在场景中渲染大量的光照,同时还不会对前向渲染造成显著的性能影响。
新的贴花系统支持将贴花材质投射到物体的表面上。贴花可贴合模型并受到光照影响,常用于为场景添加额外细节、为材质及细节图案增添随机性。
新增对深度预传输的支持,在这条渲染通道上,所有不透明网格的深度信息都会被载入深度缓冲区(不会产生片段着色成本),在后续渲染通道上使用。深度预传输可消除或显着减少几何渲染中的过度绘制现象,换句话说,任何后续的色彩渲染通道都可以复用这个深度缓冲区来为每块像素调用一次片段着色器。
Light Layers(光照层)是一种可以划定特定光照仅影响特定表面的渲染层。换句话说,它就像Photoshop的图层蒙版一样,特定层的灯光只会影响到同一图层上的模型网格。
URP Light Cookies可以通过遮挡或过滤外射光线来生成光照图案,它可用于改变外射光线的外观、形状和强度来形成艺术效果,也能以极小的性能成本模拟出复杂的场景光照。
Ambient Occlusion(环境光遮蔽)是指根据受光表面周围的几何形状来估算出光照的亮度(或暗度)。SSAO在新版本中有了诸多改进,包括移动端性能的改善、对延迟渲染的支持、深度/法线缓冲区中的法线贴图、非受光表面和粒子特效。
从内置渲染管线到URP的升级现在有了更为强大的转换框架,现在材质以外的文件也可转换。
新的Motion Vectors(动作矢量)可捕捉并记录对象从前一帧到下一帧每块像素及屏幕空间上的运动,再将其存储到一个向量缓存中。
URP Volume System Update Frequency(体积系统更新频率)允许用户根据内容和目标平台的要求来优化体积效果的性能。
Package Manager现在为URP提供了新的示例场景,各个场景中将展示多个功能的配置与实际用例,以帮助用户入门和学习。
下列功能同时支持URP与HDRP。
本次更新推出了新的Lens Flare(镜头光晕)系统。Lens Flares可模拟光线在镜头内的折射,从而用以表现强烈的光照,或巧妙地用于营造氛围。类似于内置渲染管线中的系统,新系统允许堆叠光效,改进了用户界面与许多其它选项。
Light Anchor(光照锚点)是一种设定光照中心支点的工具,能让光照围绕支点旋转,让影视制作的打光能更为轻松高效。工具带有多种预设,可快速为角色或任意兴趣点摆放好光照。此功能同样兼容内置渲染管线。
GPU Lightmapper新增的Lightmap Space Tiling(光照贴图空间平铺)是一种图块烘焙技术,可将烘焙过程拆分成能随时载入GPU内存的数据块来减少对GPU内存的占用。该功能可加快渐进式GPU光照贴图器的烘焙速度,让其能应对分辨率更高的光照贴图。
Enlighten Realtime GI能生成更具动态的光效,比如可影响全局光照的移动光照。功能的平台兼容范围已延申至Apple Silicon、Sony PlayStation(R) 5和Microsoft Xbox Series X|S。
SRP还包含了一系列UI/UX改进,目的在于加快工作流程、提高管线间的连贯性。本次迭代的重点主要是统一URP与HDRP的光照和摄像机组件,包括标题、子标题、展开按钮的样式,设置排序、名称和下属字段的缩进。这些外观上的修改对提高工具一致性具有很大的影响。
本次更新为Terrain(地形)工具增添了如下功能:
总体界面改进,更为精简的Terrain Toolbox及创作流程
SpeedTree 8植被生成已整合至HDRP和URP,支持使用Shader Graph制作带有风吹动画的植被。
在2021.2中,Visual Effect Graph迎来了以下更新:
重修后的ShaderGraph集成让Visual Effect Graph能支持用任意Shader Graph生成的HDRP着色器(非受光、受光、发丝、织物等)渲染原始形状。此次更新在Shader Graph中替换了已遭弃用(但仍受支持)的Visual Effect target接口,还新增修改粒子特效顶点的功能,可做出着色器上的翅膀扇动动画或肥皂泡一般的晃动粒子。
新工具Signed Distance Field Baker(符号距离场烘焙器)可在编辑器中快速地将3D纹理的静态几何图形烘焙成符号距离场。
我们还为Bounds助手添加了一些辅助建立粒子特效边界的功能,来提高特效的剔除效果、防止不正确的边界破坏特效。
结构化/图形缓存器支持将数据经由结构化/图形缓存器传入Visual Effect Graph,并独立于纹理。此功能专门针对复杂的发丝或流体运动模拟,或借助Visual Effect Graph完成的动态数据(如敌人位置)分配。
改进了Visual Effect Graph在URP上的稳定性与兼容性,URP和2D Unlit Sprite着色器渲染受光粒子的功能也即将推出。
Shader Graph在2021.2中新添如下修改:
着色器关键字限制已被移除。我们添加了一个更高效的API来处理关键字,并明确区分了全局和本地着色器关键字。详情请在论坛讨论中了解。
我们还更新了ShaderLab Package Dependency句法。此前,工具与资源的依赖无法在着色器与软件包之间表达,它们也就无法兼容多条渲染管线。这给资源商店与开发者们造成了一定的困扰,开发者们通常会为每条管线提供一个单独版本来绕过该问题。为了应对该问题,ShaderLab Package Dependency功能扩展了ShaderLab句法,让开发者能够在软件包中清晰地表达出着色器的依赖。
UI Toolkit现在可用于为游戏和应用制作运行时UI。它提供了专门用于制作与调试UI的可视化工具,还能借助TextMesh Pro渲染出漂亮的可缩放文本,可生成清晰的无纹理渲染,还可与Unity UI(UGUI)组合使用。请在文档或论坛讨论中了解更多信息。
*注意:在本文攥写时,Unity 2021.2 beta的2D包尚未发布。具体发布日期请以实际为准。
部分URP/2D渲染器在此次更新中有了一定的改进。
使用2D渲染器的2D开发者现在可借助URP新的SceneView Debug Mode查看Mask(遮罩)、Alpha channel(Alpha通道)、Overdraw(过度绘制)或Mipmap等视图。调整过的Sprite Mask(精灵遮罩)功能已经能正常地在SRP中运作,功能可在Window>Analysis>Rendering Debugger>Material Override下找到。
2D Renderer现在可使用Renderer Features进行定制或添加自定义通道。
2D Lights现在集成到了Light Explorer 窗口中,并且将不再带有Experimental标签。2D Shadow的优化工作正在进行中,部分改进已经落实,包括代码重构、单通道阴影渲染及单光源阴影剔除。
2D Lights生成的纹理现在可由Shader Graph的2D Light Texture节点存取,你可以用它制作发光精灵材质。
VFX Graph现在支持2D Unlit着色器,Visual Effect渲染器尚不会受到2D Light的影响。欢迎各位前往论坛贴分享自己的使用体验。
加入了全新的2D URP默认模板。模板包含所有经过验证的2D工具,并且经过预先编译。新项目不仅能更快地加载,还将带有URP及配置好的2D Renderer,以及其它所有2D工具。该模板还包含最优的2D开发软件包和默认设置。
其他2D方面的改进包括Sprite Atlas v2:第二版的Sprite Atlas增添了文件夹功能与新的API,可在多张图集中查找重复的精灵、可查询MasterAtlas和IsInBuild。2D Pixel Perfect的检视器UI现在更加直观。2D PSD Importer有了更好的使用体验、更好的Photoshop图层控制与精灵名称映射。新增合并图层组的选项,导入器现在可以自动生成物理形状,方便导入角色以外的场景元素。
2D Animation更新了包括骨骼颜色设置(详见visibility面板),方便区分不同颜色或结构的骨架。在用户体验方面,蒙皮编辑器工具的使用提示将包括快捷键,一个新工具可用于查看精灵对骨骼的影响。
2D Tilemaps新添了覆盖块图色板按钮或添加新按钮的功能,方便用户制作自定义工具。API改动包括:新的TileChangeData结构, 该结构 可在特定位置摆放带色彩的图块,并一次完成所有实例的变换,省去了多次绘制调用的必要。你还能使用新的API来根据动画图块的数据来生成图块。使用API放置多个图块的效率更高,如SetTiles(Tile 组和TileChangeData)及SetTilesBlock。
2D Physics现在支持用一种同类型形状组功能来读取和写入原始物理形状(圆形、胶囊形、多边形和边界线),所有形状都可归纳到一个形状组中,也可在任意Rigidbody2D的Collider2D组件中检索。此外,新的CustomCollider2D可直接写入形状组,让Collider2D内部数据的存取高效又直接。CustomCollider2D可以还原已有的Collider2D,也能用于制作简单或程序化的Collider2D。在未来,物理形状组将成为物理运算请求、精灵物理交互等新功能的基础。
为庆祝DLSS预览版的发布,NVIDIA为我们提供了两张GeForce RTX™ 3090用于Beta测试抽奖活动,获胜者将能享受到光线追踪和DLSS带来的画面感染力与开发效率!
如果你想直接向Unity团队提供反馈,就来注册Unity Pulse吧。Unity Pulse社区的作用是收集用户反馈、开展用户调研,用户的体验与意见是Unity不可或缺的组成部分。你将有机会直接联系Unity产品团队、接触到概念产品、提供Beta测试反馈,帮助我们打造最为出色的产品和体验。快来 用Unity ID注册登录吧!
Unity正在寻找一起展示新版Unity的合作伙伴,快来与我们一起,让全球的开发者们见识Unity引擎吧。
感兴趣的小伙伴请在此处上传你的项目。
以上内容仅供参考,不具备任何法律效力,不包含任何诱导性信息。Unity不承诺提供任何功能、特性或代码。所有产品、功能和特性的开发、时间安排和发布均由Unity自行决定,如有变动,恕不另行通知。