Unity 2018版本主要升级和新添加了哪些内容
????????题外话:写篇文章的主要动力来源还是看了Unity2018.3.0发布视频(地址:https://v.qq.com/x/page/z0815ok9b0l.html)之后对我带来的惊喜和冲动。恰好公司项目组也有员工分享会,所以就想把这些内容整理一下分享更大家。同时给Unity官方这次升级内容点个赞,新内容的确不错。
文章内容主要主要根据Unity2018的三个版本(1.0,2.0,3.0)进行整理,都是主要核心功能,并不是这次升级的所有内容。
1.0版本主要功能:
1、新渲染架构:Scriptable Render Pipeline
????????Scriptable Render Pipeline可编程脚本渲染管线,简称SRP。是一种在Unity中通过C#脚本配置和执行渲染的方式。
渲染入口点
????????当使用SRP时,你需要定一个类,用于控制渲染;这就是你将要创立的渲染管线。入口点是一个对“Render”函数的调用,它需要两个参数,渲染上下文以及一个需要渲染的摄像机列表。
public class BasicPipeInstance : RenderPipeline
{
???public override void Render(ScriptableRenderContext context, Camera[] cameras){}
}
????????简单详情一下什么是渲染上下文:SRP渲染采用的是推迟执行的方式。客户要设置好需要执行的命令列表,而后再执行。用来设置这些命令的对象叫做“ScriptableRenderContext”。当你向上下文填充完操作命令后,可以通过调用“Submit”提交队列中的所有绘制调用。
????????渲染的摄像机列表就是游戏中的Camera了,一个游戏画面有可能有多个相机绘制,最终叠加或者拼凑出一个显示画面。所有需要把这些相机都放到一个数组列表内传入到Render。
2、着色器可视化编程工具Shader Graph
????????你可以通过可视化的方式来创立Shader Graph以生成所需的着色器,无需再手动编写着色器代码,只要通过连接各种节点创立节点网络就可。简单的讲就是官方出了一个相似Shader?Forge的插件,简单操作如下图:
3、C# Job System
????????随着我们在Unity 2018.1中推出新的高性能多线程系统,我们正在重构Unity的核心基础。新的系统将使你的游戏完全利用当下的多线程解决器,不用再为编程而烦恼。
????????这得益于全新的C# Job System,它为客户提供了一个安全简易的沙盒环境,能够在里面编写并行代码。我们还引入了新的模型来默认使用实体组件系统(ECS)编写高性能代码,并使用Burst Compiler宣称高度优化的本地代码。
????????有了默认提供的高性能,你不仅可以在更多的硬件上运行自己的游戏,还能使用更多的单位和更复杂的模拟效果来创立更丰富的游戏世界。
4、实体组件系统(ECS)
????????在Unity 2018.2中,我们加入了多个改进内容,包括反应系统(Reactive system)示例。反应系统将使你在组件状态发生变化时做出反应,并模拟由事件驱动的行为。
????????ECS是什么?简单来说就是Unity中的一种新的架构模式。准备未来取代GameObject / Component的模式。其模式遵循组合优于继承准则,游戏内的每一个基本单元都是一个实体,每个实体又由一个或者多个组件构成,每个组件仅仅包含代表其特性的数据(即在组件中没有任何方法)。系统便是来解决拥有一个或者多个相同组件的实体集合的工具,其只拥有行为(即在系统中没有任何数据)。实体与组件是一个一对多的关系,实体拥有怎么的能力,完全是取决于其拥有哪些组件,通过动态增加或者删除组件,可以在(游戏)运行时改变实体的行为。
????????ECS旨在比GameObject / MonoBehaviour更容易解决大量物体。
????????ECS的特点是,因为面向数据的设计 , 很容易并行高速解决,和 C# Job System 一起工作。
5、Burst Compiler
????????Burst是一个编译器,它使用LLVM将IL / .NET字节码转换为高度优化的本机代码。它作为Unity包发布,并使用Unity Package Manager集成到Unity中。
????????Burst主要用于与Job系统高效协作。您可以通过使用属性[BurstCompile]装饰Job结构,从而在代码中简单地使用burst编译器 。默认情况下,在编辑器中,Burst JIT是通过异步来编译job,但在上面的示例中,我们使用该选项CompileSynchronously = true确保在第一个Schedule中编译该方法。通常,您应该使用异步编译。
6、移除了独立播放器构建中对Windows XP的支持。Windows Vista现在是Windows独立播放器所支持的最老操作系统。
????????说白了就是不支持XP电脑了,现在的确好多游戏慢慢都都不支持XP系统了,包括LOL,据说2019年春节的10.0版本就不在支持XP系统完了,主要是微软很早就中止了对XP系统的支持。就连现在Unity2018也必需在window10下面才可以运行。
7、放弃了对MonoDevelop-Unity的支持,意味着现在Visual Studio是MacOS和Windows系统上的推荐和支持的C#编辑器。
????????自从官方推出IL2CPP之后,就意味着Mono的终结迟早要来,现在只是IDE的不支持,未来有可能完全放弃Mono。给大家推荐一款牛逼的IDE,也是现在市面上比较火的VS Code,这个也是微软轻量级的IED,功能缺失非常强大,主要还是由于开源,外围插件太丰富了。有兴趣的可以理解一下。
8、逐渐移除旧粒子系统 新的系统Shuriken
????????这个没啥说的,旧的粒子系统应该是3.x版本的了,我记得4.x就已经使用Shuriken忍者粒子系统了。
2.0版本主要功能:
1、升级可编程渲染管线SRP
2、升级着色器视图Shader Graph(预览版)
3、升级对Vulkan支持(试验版)
????????Unity 2018.2包含在Windows和Linux端编辑器运行Vulkan的支持。Vulkan是新一代图形和计算API。它可以对PC、主机、手机端和嵌入式平台的各类设施上的GPU提供高效的跨平台访问功能。
4、纹理Mipmap流
? ? ? ? 1、在Unity 2018.2中,我们根据需要向内存增加了纹理Mipmap流支持,启用此功能可以减少Unity应用的纹理内存要求。
????????2、启用此系统后,Unity将仅在网格靠近已激活的摄像机时,加载更高分辨率的纹Mipmap。高分辨率Mipmap数据保存在内存中,整体的纹理内存会限制在客户定义的预算范围内。
????????3、假如在加载新的纹理Miplevel后,纹理内存超出预算,那么与摄像机距离最远网格上的较高分辨率Midmap会从内存中释放出来。
????????4、因为初次加载的纹理数据减少,即仅加载较低分辨率Mipmap,初始场景的载入速度也会加速。初始加载速度的提升效果将根据平台有所不同。
????????5、你可以完全控制Texture Mipmap Streaming系统,决定哪些Mipmap会加载到内存中。通常Unity会加载所有存储在硬盘上的Mipmap,但使用此系统,你可以直接控制要加载哪些Mipmap等级。
????????6、该系统还会占用一小部分的CPU时间,从而节省大量的GPU内存。
????????7、启用和管理过程十分简单通过质量设置(Quality Setting)可以轻松启用该功能,你可以定义每个纹理能否应进行流式解决,你也可以查询指标,以识别纹理内存的使用情况,同时还能节省内存。你还可以调整各种设置来控制系统,从而平衡内存节省和CPU消耗,并允许你优先解决少量纹理,例如:将角色纹理优先于环境纹理。
5、根据架构分离APK文件
????????现在新添加一个选项用来根据目标架构,如x86、ARM 32和ARM 64分离出多个APK文件,而不是生成一个较大的APK文件。而后,对于支持此选项的商店,例如Google Play,你只要要下载相应架构的APK文件就可。
6、Google Play Instant Games插件
????????获取新客户的一大阻碍往往是由于繁琐的安装过程。下载并打开应用程序需要花费时间,这会导致不少客户还没体验游戏之前就放弃。
????????有了Google Play Instant,客户不需要预先安装即可以尝试体验游戏的10MB版本。此插件简化了基于Unity的Android应用转换为即时应用的过程,并可以通过Google Play Instant来进行部署。
该插件在GitHub上作为一个项目提供,并且能在Unity 2017.x及更高版本上使用。
????????该插件的功能包括:
????????1、可在已安装(Installed)和即时构建(Instant-build)模式之间切换的选项。
????????2、带有Unity构建设置上的集中式视图和Android安装包设置,这些设置经过修改后能够支持Google Play Instant。
????????3、能够在连接ADB的Android设施上构建并运行即时应用。
7、结束对UnityScript的支持
????????C#、UnityScript、Boo。这三种Unity最早支持的开发语言,现在只剩下c#一种了,boo是最早被淘汰的。
8、Visual Studio Code调试器扩展
????对于使用Visual Studio Code作为IDE的客户,我们开发并维护了Visual Studio Code Debugger for Unity扩展,它目前作为预览版推出。
PS:Unity 2018.2还包括183项改进内容和1426个错误修复。
3.0版本主要功能:
1、预制件嵌套和改进的工作流程
????????官方演示视频 https://v.qq.com/x/page/q0708i3vd0p.html
主要分为下面三个功能点,这是2018的大功能,详细内容可以自行谷歌查找,这里就不开展写了。
????????1 、预设模式 (Prefab Mode)
????????2、预设嵌套功能(Nested Prefab)
????????3、预设变体(Variants Prefab)
2、编辑器客户偏好设置改进
????????1、入口改变了,以前的那个地方找不到偏好设置了。同时新的窗口外观
????????2、新的窗口外观还提供了一个API,方便开发者可以插件自己设置到偏好设置里面
3、影视相关Timeline和Cinemachine改进
????????1、Timeline增加了权限的轨道偏移模式、改进了编辑器的预览功能
????????2、Cinemachine加入了物理摄像机支持,事件映射器和一个具备可交互展现功能的程序化噪声编辑器。我们可以通过可视化噪声编辑器,调整Cinemachine摄像机的逼真感。
4、地形系统改进
????????主要包括:性能提升、多地形支持、新资源类型
5、资源包管理器
????????????资源包管理器可为项目动态加载和升级Unity开发的功能,帮助开发者快速获取Unity的新功能。随着更多Unity功能以资源包格式提供,我们正在稳步改进客户体验,从而帮助开发者更轻松地发现可用资源包和升级,并管理项目中已安装的资源包。
6、Unity Hub改进
????????2018年9月,我们发布了Unity Hub v1.0,Unity Hub是一个连接Unity的桌面端应用程序,旨在通过提供管理Unity项目、许可证和附加组件的中心化位置,来简化所有客户的使用和制作流程。Unity Hub v1.2加入了通过Unity下载存档URL来直接下载和安装旧版Unity编辑器的功能。依赖特定(旧版)编辑器版本的客户可以通过Unity Hub一键获取旧版编辑器。
7、代码大小移除等级(Stripping Level)选项已替换为托管移除等级(Managed Stripping Level)选项
8、内存分析器Memory Profiler
????????Memory Profiler这个分享工具在5.x就有了,只是在github上面自己下载导入工程,这次升级了一下功能,但是还是预览版本,不过可以通过资源包管理器在Unity编辑器内直接下载使用了。
9、Android App Bundle
????????Android App Bundle是Google Play全新的应用发布格式,包含游戏中所有已编译的代码和资源,但它会延迟APK生成和Google Play签名。
????????Google Play的新版应用服务模型Dynamic Delivery,它会使应用程序包根据客户的设施配置来生成并提供优化过的APK文件,因而客户只要下载运行应用所需的代码和资源就可。
开发者不再需要构建、签名并管理多个APK来为多个不同设施提供支持,而客户则能下载到更小的优化过的文件。
10、TextMesh Pro
????????Unity 2018.3的TextMesh Pro是验证过的资源包,它加入了高度优化的Font Generator字体生成器,可在运行时生成字形。
????????你可以通过调用混合动态字体系统(Hybrid Dynamic Font System)来结合项目中的静态字体资源和动态字体资源。
11、Visual Effect Graph(预览版)
????????全新的Visual Effect Graph在Unity 2018.3中作为预览版提供,需结合HDRP使用。你可以使用它来制作可配置,可重用的次世代效果,还可以在GPU上解决数百万个粒子。
????????Visual Effect Graph受到主流电影特效软件的启发,提供了灵活且易于使用的节点系统,能够帮助艺术家为游戏等交互式内容创作惊艳的视觉效果。
Visual Effect Graph演示项目地址:
观看Visual Effect Graph详情视频地址:
12、Project Tiny小游戏开发套件
????????Project Tiny是Unity的一个全新板块,提供了全新的运行时和编辑器模式,旨在构建可以即时加载而无需安装的游戏和体验。
Project Tiny为开发者提供了快速创立高质量2D小游戏和可玩式广告所需的工具,创立出的游戏安装包非常之小,可以在各种移动设施上快速启动。
13、Unity FPS示例项目
?在今年10月Unite LA上,我们正式发布了FPS示例项目,这是一款第一人称多人射击游戏的演示项目。该项目旨在成为开发者的灵感源泉,你可以用它来学习Unity中的新功能。
视频演示地址:
Unity FPS示例项目下载地址:
Unity-Technologies/FPSSample
14、除此之外还升级了:物理功能:PhysX 3.4、多场景物理、垃圾回收控制、NET 4.x Equivalent脚本运行时、C# 7.3:Roslyn编译器、用于重新压缩下载资源包的运行时API、寻路系统升级、2D功能升级少量了新功能、粒子系统、光照升级、AR、XR等等内容
PS:Unity 2018.3正式版中包含新添加45项功能,250项改进,以及1915个Bug修复
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Unity 2018版本主要升级和新添加了哪些内容