Unity2019.3新功能抢先体验笔记

你好,我是你的技术探路者郑洪智,你可以叫我大智。

直播《聊一聊2019.3的新功能》回放:https://www.bilibili.com/video/av85824703

Unity2019.3终于在2020年的1月28日发布了。对于这个姗姗来迟的版本,咱们一起来看看都有哪些高(yao)大(xue)上(xi)的新功能吧。

大智根据官方博客发布的2019.3的文章(https://blogs.unity3d.com/2020/01/28/unity-2019-3-is-now-available/),对里面提到的新功能进行了体验,并结合之前Unity官方公众号发布的文章进行了整理。

最受关注的几个功能可能是:

  • HDRP正式版发布
  • DOTS大幅更新
  • 更新了多个正式版的2D工具

先通过官方的一个短视频来看看都更新了哪些内容吧:
https://v.qq.com/x/page/o3058vkrcep.html

下面我们依次来看看都更新了哪些主要功能:

编辑器工具方面

地形更新

现在地形可以挖洞了,可以创建洞穴、地下室等地形了。

Timeline上可以直接编辑动画的骨骼

Presets功能有重大更新

Preset功能是一个没有被广泛推广但是非常有用的一个功能。

使用Preset可以预设一个项目中各种类型的默认值,举个简单的例子比如灯光、刚体等等。

这次更新之前呢,每个类型只能对应一个默认的Preset。
这次更新之后呢,每个类型可以对应多个默认Preset,并且根据GameObject的命名规则设置不同的默认Preset。

支持第三方材质

编辑器增加了三种材质的支持:

  • Autodesk Arnold Standard Surface shader
  • Autodesk 3ds Max physical material
  • Autodesk Interactive shader

场景工具更新

现在ProGrids成为了Unity内置的场景网格工具,之前是一个插件。

此外在Hierarchy上面增加了一个小功能:设置GameObject在场景中是否可以选中。在大场景中编辑时非常有用。

2D工具重磅更新

2D更新了非常多的正式版本的工具包,都可以在Package Manager中找到并安装使用。

此次更新还有一个2D的示例工程,应用了很多下面提到的新功能,你可以在AssetStore中下载安装:https://assetstore.unity.com/packages/essentials/tutorial-projects/lost-crypt-2d-sample-project-158673

2D更新的正式版工具包括:

  • 2D PSD Importer:PSD文件导入器,可以直接导入PSD并且使用其中的图层。
  • 2D Animation:提供制作2D骨骼动画的功能(包括Sprite绑定、骨骼创建、配饰等等)
  • 2D Tilemap Editor:瓦片世界编辑器。此外还有一个额外的工具(https://github.com/Unity-Technologies/2d-extras)可以用来创建带动画的瓦片;这个工具还能自动将瓦片的图形匹配相邻的瓦片。
  • 2D Sprite Shape:精灵形状编辑器。可以用来创建轮廓是曲线的精灵和地形。
  • 2D Pixel Perfect:在任何分辨率下都保证2D的渲染是像素最优化的,此外Cinemachine还增加了一个扩展CinemachinePixelPerfect,这样Cinemachine的2D相机也可以支持Pixel Perfect了。

此外还发布了一些处于实验中的功能:

  • 2D Lights和2D Shadows:包含在URP的2D渲染器中,支持2D的灯光和阴影。

  • 支持精灵的第二套贴图:可以给精灵添加法线贴图和遮罩贴图,同时能根据不同的光照环境做出真实的反应。
    以上两个功能可以在URP的2D渲染器文档中具体查看。

  • Sprite Swap:动画重用的功能(包含在2D Animation包中),替换精灵外观的同时保持骨骼和动画。

程序员工具

增加SerializeReference属性

之前的[Serialiablable]序列化之后都是值类型,而这个新的SerializeReference属性可以引用其他对象。

并且这个属性也能支持多态的数据。比如List<IAnimal>列表可以包含class Dog : IAnimal{}class Cat : IAnimal{}

SerializeReference修饰的成员也可以是null值,而不是像之前使用的是每个类型的构造默认值。

这么说可能还有点抽象,你可以体验一下下面这一段代码。此外还有一个最直接的改变是可以提高UnityYAML库文本序列化的速度,带来场景加载和保存的速度提升。

using System;
using System.Collections.Generic;
using UnityEngine;

public interface IShape {}
[Serializable]
public class Cube : IShape
{
    public Vector3 size;
}
[ExecuteInEditMode]
public class BuildingBlocks : MonoBehaviour
{
    [SerializeReference]
    public List<IShape> inventory;
   void OnEnable()
    {
        if (inventory == null)
        {
            inventory = new List<IShape>()
            {
                new Cube() {size = new Vector3(1.0f, 1.0f, 1.0f)}
            };
            Debug.Log("Created list");
        }
        else
            Debug.Log("Read list");
    }
}

可配置进入播放模式(实验阶段)

设置的地方在Project Settings > Editor > Enter Play Mode

使用好这个配置可以加快进入Play模式的速度,具体怎么用Unity官方已经有相关说明了:https://mp.weixin.qq.com/s/4mQX9XTmnFx-1g-qFuNXhQ

PhysX从3.4升级到4.1

明显的改变会是:MeshCollider生成速度加快,布料性能提升。

Profile功能的改进

  • 可配置记录的帧数,之前最多300帧,现在可以配置(300-2000),查看更多的数据了
  • Deep Profile现在可以让你在所有的Player中看到C#代码的结构,托管内存的申请,调用堆栈等。

图形渲染改进

这次还发布了Unity2019电影Heretic的完整版(记得看到底哦,这次是完整版),先来一睹为快吧!

https://v.qq.com/x/page/q3058fjiesf.html

HDRP现在是正式版了

HDRP在2019.3增加了Custom Render Pass、Custom Post processing、Physically Based Sky功能。
此外还有一个好消息是HDRP支持VR了。

HDRP中的实时光线追踪功能,现在是预览包。如果你感兴趣,可以看一看这个项目:https://github.com/Unity-Technologies/SmallOfficeRayTracing

LWRP更名为URP

之前的LWRP会让人有些混淆,以为只能用于低端机。实际上URP的目标是用于所有的终端,对画质有极高追求的可以使用HDRP。

使用URP相对于原来的内置管线将会有更好的性能和扩展性。

URP也有上图的Demo可以下载学习:https://github.com/Verasl/BoatAttack/tree/demo-work

Visual Effect Graph正式版发布

Visual Effect Graph是Unity中新一代的特效工具,可以创建非常强大的特效。相比原来的粒子系统,这个工具更系统,可以处理特效的整个生命周期,可以用图形化的方式连接制作。

《大话Unity》中已经有Visual Effect Graph的入门教程:https://edu.hongliu.cc/detail/p_5ce27b17264b9_aSdvSmWz/6

扫描/长按识别二维码查看

编辑器和团队工作流

编辑器UI的更新

包含图标、字体、交互视觉反馈、支持高DPI、性能等一系列更新。

Quick Search

Quick Search是Package Manager中的一个包,现在已经正式发布了。可以用于搜索工程中的几乎所有东西,包括资产、场景中的物体、设置甚至菜单等。

UIElements和UI Builder

Unity的新一代UI系统UIElements有一些更新,此外还有处于预览版中的UI Builder工具。目前这个UI系统仅能用于编辑器的相关UI的构建,预计在2020版将能用于运行时。

关注洪流学堂公众号,将会第一时间推出UI Elements的实战教程。

Package Manager更新

主要有两点:
1、可以通过Url安装,从Git版本库安装一个package,那就意味着你现在可以制作自己的package,托管在自己的Git库中,提高团队之间的协作能力
2、Asset Store中的插件资源可以在Package manager中管理安装了(Unity编辑器中的Asset Store移除了,现在只能通过网页进行浏览和购买,然后通过package manager安装)

AssetDatabae Pipeline更新到Version 2

你可能对于这个更新不感兴趣,但是这个更新能带来:在不同平台之间的切换速度会加快很多。(原因是现在它可以保存多个平台的资产版本,同样也会带来项目硬盘占用空间增大)

平台

新的Input System(预览版)

旧的输入系统已经被诟病了很久,实现自定义可配置的键盘布局都很费劲,那么新的输入系统是什么样子呢?

新的输入系统分离了输入操作和游戏逻辑,然后进行绑定。

具体可以阅读官方的博客:《Unity新一代输入系统介绍》https://mp.weixin.qq.com/s/yWJLD6x2kBblKe7V6FX7jA

Incremental Garbage Collector(增量垃圾回收,正式版)

增量垃圾回收现在是正式版了。增量垃圾回收的机制是:把需要依次回收的垃圾分为几帧回收,这样可以将回收的压力分摊,减少卡顿的现象。(除了WebGL平台,其他平台都支持)

AR/VR

AR和VR平台上更新和增加了很多工具。包括:

AR Foundation

大一统的AR平台,现在添加了对Magic Leap和HoloLens的支持。

XR Interaction Toolkit

XR交互工具。包含了XR交互中常见的操作。

更详细的内容可见官方博客:《XR Interaction Toolkit预览版资源包发布》:https://mp.weixin.qq.com/s/je-RYfXsiSroOkttF164Bg

移动平台

Device Simulator(预览版)

Device Simulator设备模拟器,你可以使用它预览不同手机的具体行为和硬件特点,从而让游戏代码能够在Unity编辑器内以接近真实设备的条件运行。开发者可以在游戏视图中预览特定分辨率和屏幕刘海布局的具体效果,也可以预览针对设备的自定义设置。

详见:《全新设备模拟器加速移动端迭代》:https://mp.weixin.qq.com/s/trjK_RsIignA65alpPjj9A

Unity as a Library

很多时候,我们会遇到这样的需求:将3D的内容嵌到已有的App中。这个需求之前也是可以实现的,不过会很麻烦。从Unity2019.3开始呢,可以将Unity打包成一个库,直接丢到原生应用中使用,对未来的AR应用有巨大的助力。

详见:《在原生iOS或Android应用中将Unity作为库使用》:https://mp.weixin.qq.com/s/JOnqzZfQbTs89Rgm1Bae-Q

On-demand rendering(按需渲染)

使用按需渲染可以让你独立控制渲染,独立于其他子系统。可以降低电量消耗,并避免出现CPU过热的情况。

具体API:https://docs.unity3d.com/2019.3/Documentation/ScriptReference/Rendering.OnDemandRendering.html

DOTS

DOTS可谓是目前Unity最重要的发展方向之一。但是很多人说,DOTS简直是一个新的引擎,那么DOTS究竟有什么好处,值不值得我们投入学习呢?我们先来看看DOTS都有什么更新吧。

DOTS示例项目:https://github.com/Unity-Technologies/DOTSSample

DOTS编写代码更简单了

了解过ECS的童鞋可能直到,编写ECS代码代码量会大幅增加。Unity的ECS系统也是在做各方面的优化,使得在易用性和性能方面取得平衡。

其他的还有

  • DOTS的动画系统
  • DOTS NetCode:基于DOTS的网络库
  • Unity Physics:基于Job System和Burst Compiler的物理库
  • 转换工作流:可以将GameObjects转换为ECS中的entities的工具。
  • Unity Live Link(实验阶段):有点类似实时热更新,但目前仅局限于资产。在编辑器中修改后,可以直接在发布的客户端中查看到变化。

下面动图中可以看到,编辑器中做的修改,可以实时同步到已经发布出来的程序中。

Live Link

直播《聊一聊2019.3的新功能》回放:https://www.bilibili.com/video/av85824703

Unity2019.3的新功能视频教程将会在《大话Unity》中更新。

扫描识别上图二维码查看课程详细内容

《大话Unity》直达链接:https://edu.hongliu.cc

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容