我们在Unity 2018.2正式版功能介绍(上)向大家重点介绍Unity 2018.2中的图形方面改进,今天我们将分享Unity 2018.2版本中粒子系统、2D等方面的改进。
对Vulkan支持(实验版)
Unity 2018.2包含在Windows和Linux端编辑器运行Vulkan的支持。Vulkan是新一代图形和计算API。它可以对PC、主机、移动端和嵌入式平台的各类设备上的GPU提供高效的跨平台访问功能。
对Vulkan支持(实验版)
在Unity 2018.2中,我们根据需要向内存添加了纹理Mipmap流支持,启用此功能可以减少Unity应用的纹理内存要求。
1、如何运行
启用此系统后,Unity将仅在网格靠近已激活的摄像机时,加载更高分辨率的纹Mipmap。高分辨率Mipmap数据保存在内存中,整体的纹理内存会限制在用户定义的预算范围内。
如果在加载新的纹理Miplevel后,纹理内存超出预算,那么与摄像机距离最远网格上的较高分辨率Midmap会从内存中释放出来。
2、加速初次载入时间
由于首次加载的纹理数据减少,即仅加载较低分辨率Mipmap,初始场景的载入速度也会加速。初始加载速度的提升效果将根据平台有所不同。
3、更多的可控性
你可以完全控制Texture Mipmap Streaming系统,决定哪些Mipmap会加载到内存中。通常Unity会加载所有存储在硬盘上的Mipmap,但使用此系统,你可以直接控制要加载哪些Mipmap等级。
该系统还会占用一小部分的CPU时间,从而节省大量的GPU内存。
4、启用和管理过程十分简单
通过质量设置(Quality Setting)可以轻松启用该功能,你可以定义每个纹理是否应进行流式处理,你也可以查询指标,以识别纹理内存的使用情况,同时还能节省内存。
你还可以调整各种设置来控制系统,从而平衡内存节省和CPU消耗,并允许你优先处理一些纹理,例如:将角色纹理优先于环境纹理。
C#动画作业
AnimationPlayables现在允许用户编写自定义的C# Playables来直接与动画数据进行交互。
用户也可以编写多线程C#代码来控制PlayableGraph所使用的AnimationStream数据,它也允许将用户编写的IK解算器、程序化动画或甚至是自定义混音器集成到当前动画系统中。
粒子系统的改进:
下面在Unity 2018.1中的粒子系统改进:
支持多达8个UV:这使你可以使用比以往更多的自定义数据。
MinMaxCurve和MinMaxGradient:现在可以在自定义脚本中和粒子系统外使用这二个类型,从而匹配粒子系统UI所使用的风格。
线性颜色空间:上传粒子系统数据到GPU前,粒子系统能适时将颜色转换为线性空间。
从精灵发射:我们给形状(Shape)模块加入了二个新模式,从而使它能够从精灵或SpriteRenderer组件发射对象,并将粒子发射效果与精灵视效完美匹配。
BakeMesh:我们新增了二个API来将粒子系统的几何体烘焙到网格中: BakeMesh会烘焙粒子几何体,BakeTrailsMesh会将轨迹模块(Trails module)烘焙到网格中。
仅显示选取的对象(即Solo Mode):这是一个用户非常需要的功能,我们使得这个功能更具探索性和易用性,并在场景视图的Overlay层加入了其它预览控件,例如:播放、重放和暂停等控件。
ETC纹理支持:当你在纹理集动画(Texture Sheet Animation)模块中使用精灵时,带有独立Alpha纹理的着色器现在可以在粒子上使用了。
2D
1、Pixel Perfect Camera(预览包)
请尝试使用完美像素(Pixel Perfect)预览资源包,使画面遵循你的像素艺术风格。无论屏幕大小如何,完美像素摄像机(Pixel Perfect Camera)组件将通过自动完成所有计算来帮助你获得完美清晰的像素画面。
Infectonator 3: Apocalypse的画面
在精灵进行运动或旋转时,此功能有助于它们保持清晰的像素效果,而且不用添加补帧画面来使边界变得平滑,效果如下图所示。
2、2D精灵渲染器“通过轴心点排序”
在过去,精灵渲染器和坐标轴之间的距离用来决定哪个精灵最后渲染,从而出现在所有图像的最前面。
在此版本中,你可以使用轴心点而不是精灵中心作为各种排序方法的参照点。例如:按距离来安排对象到屏幕顶部。举例:在俯视角RPG游戏中,你需要底部精灵来决定精灵的渲染顺序。新的轴心点配置会让你选择更为适合你游戏的标准。
3、2D六边形瓦片地图
Unity 2018.2能够构建六边形瓦片地图(Hexagonal Tilemap)。这包括支持创建平坦的和点状凸起的六边形瓦片,这类瓦片在制作策略游戏或是数字桌游时十分实用。
4、SVG导入器(预览版资源包)
此功能允许你将可拓展矢量图形(Scalable Vector Graphics,即SVG)直接导入到自己的项目中。SVG导入器(SVG Importer)能让你以很小的文件大小来创建精灵资源,并且在任意分辨率下保持它们原有的画面质量。
SVG导入器支持SVG 1.1规范中的常见功能,例如:渐变、填充、剪切路径、虚线和圆角等。Unity的2D工具支持以这种方式导入矢量图形精灵。
当一个SVG文件被导入后,矢量数据会被曲面细分为三角形,然后生成精灵。这个精灵能够在之后用在2D系统中。SVG导入器的源代码可以在资源包的Editor文件夹中找到。
你可以从资源包管理器中获取SVG导入器,它是矢量图形(Vector Graphics)预览版资源的一部分。
矢量图形API可以直接在代码中用于创建和操作矢量构造。矢量图形API的源代码可以在Runtime文件夹下的矢量图形命名空间中找到。
5、全新2D API
你可以在代码中使用Vector Graphics API来创建或操作矢量数据。全新的2D Atlas API能让你编写自定义工具来创建或更新图集。例如:你可以使用玩家的个人资料图片创建个性化角色纹理,也可以基于安装包的设置来优化图集。
编辑器
1、支持将.java和.cpp源文件用作Unity项目中的插件
现在你可以添加.java(以及.cpp和.a)源文件到Unity项目的插件文件夹中。这些文件将被识别为Unity插件,不需要用户在Android Studio中单独构建库就可以被编译到APK文件中。插件代码会作为Unity项目的一部分,不需要额外创建单独的Android Studio项目。
2、标准资源更换
在Unity 2018.2中,我们从安装器移除了Unity 5.0版本的标准资源,并为之前的每个原型资源包制作了替代资源包。
第一个资源包(即Standard Assets: Characters)将在Unity 2018.2发布后不久作为预览版资源包推出。它将包含一个与Cinemachine集成的第一人称和第三人称控制器,以及通过Probuilder构建的原型环境。
3、Unity Hub
Unity Hub (v1.0)将在最近正式推出,作为一个全新工具,旨在简化所有用户的入门和设置过程。它提供了一个集中式位置,用以管理Unity项目,简化搜索和下载的过程,管理Unity编辑器的许可证和附加组件。
下面是随着Hub v1.0推出的一些功能:
项目模板功能
自定义安装位置
为新项目增加的Asset Store资源包
修改的项目构建目标
编辑器:新增的组件后安装内容
影视方面
1、摄像机的物理属性
Unity 2018.2版本包括一些新功能,使得艺术家和电影摄影师在使用Unity创作时更有自信,也得到更多的控制权,这些新功能包括:
新增了一个用于显示物理摄像机(Physical Camera)设置的按钮,它上面有艺术家和摄影师十分熟悉的属性。例如:标准的焦距、传感器尺寸和镜头位移属性。
模型导入器现在能够保留从Autodesk® Maya®和其它兼容DCC中导出的物理摄像机属性。
Unity中的摄像机现在能与其它DCC中的摄像机完美匹配,不用添加额外的组件或是手动进行FOV计算。
摄像机组件现在会提供一个传感器尺寸的下拉列表,用来设置现实中的常见摄像机配置。
2、Unity Recorder 1.0
Unity Recorder 1.0将在不久后正式推出,它带有很多项更新,让用户以十分简单的方式在编辑器管理和录制动画剪辑、视频和图像序列:
全新UI:新的UI带有简洁的视图,能够轻松管理录制结果。
预设置:你可以保存已有设置,不用每次都从头修改设置内容。
API:你可以通过脚本中的API来触发录像。
多个录像:你可以立即开始多个录像,并将它们保存在一个列表中,以便之后在需要时使用相同的设置。
以多种格式录制带音频的视频剪辑。
以多种格式录制图像序列。
录制并导出动画:通过FBX导出动画剪辑到你喜欢的DCC应用软件上。