Unity 始终致力于推动开发大众化,帮助开发者解决技术问题,提高工作效率,让开发者集中所有精力在内容创作上来最大程度的释放创意。在第四届中国计算机教育大会上,Unity 中国技术总监顾申华先生分享了 Unity 云编辑器如何帮助创作者打破硬件门槛,赋能实时 3D 教育。
大家好,我是顾申华,Unity 中国的技术总监。今天给大家的分享是 Unity 最新推出的云编辑器。我们对云编辑器做了一个云原生级别的修改,使得它能够在云上直接运行。借助云端的超级算力,我们可以随时随地的从任何设备运行 Unity 编辑器。
因为在云端运行,所以创作者们可以拥有比本地更加强大的性能。比如,最新的商用级的 GPU,高达 4GHz 频率的 CPU,高达 192GB 的内存容量以及最高 2Gbps 带宽的公网连接。这样的高性能是可以动态扩展的,意味着创作者们可以根据项目的不同需要,选择不同的计算性能,在不同时段自由切换,切换过程中保证项目数据不会丢失。
在新建项目时,我们提供多个区域选择,创作者们可以选择自己离自己比较近的区域,达到更低的延迟。
除了 Unity 编辑器,我们还预装了其他配套的程序,使创作者的主要创作流程都可以在云端完成。首先是 Unity 编辑器本身,这是一个网页版,在网页直接打开 Unity 运行编辑器。我们通过串流加本地渲染的方式,直接把 Editor 放在了网页上面。
其次,我们提供了基于 Visual Studio Code 的代码空间,在这里开发者不但可以编写 C# 脚本,而且可以直接调试 Unity Editor,在两个 tab 之间自由切换,不断进行迭代开发。
我们提供网页版的终端,高级开发者可以使用终端去完成一些系统级别的高级操作,比如跑一些脚本命令。
我们还预装了文件管理器,提供了类似于本地文件管理器的功能以管理资源。
最后一个功能是,用户可以直接看到云上资源的使用状况,这里我们提供了 CPU、内存、显存以及磁盘这几个重要资源的占用率指标。
如何上传和下载本地文件是云上体验的重要一环,我们提供了简单的拖拽功能,把一个本地模型拖到云上的编辑器,就可以自动上传,并且我们支持同时拖拽多个文件。
通过云上的文件管理器,我们也可以方便地下载一个或多个文件。多个文件点击即可批量打包下载。
因为 Unity 云编辑器跑在云端,并且可以通过浏览器直接打开,所以几乎任何设备都可以支持:便携笔记本,平板或者手机,相互之间能够无缝切换,可以方便地用不同设备打开同一个 Unity 项目。你可以在一个平板上面打开项目进行创作编辑,之后无缝切换到 PC 桌面,进行更深度的操作,甚至可以挪到另外一台笔记本。
同样是因为 Unity 云编辑跑在云端,我们可以在一个设备上面打开多个 Unity 项目,而完全不用担心本地的 CPU/内存/显存/磁盘,突破了单机资源限制。平时可能一台机器打开两个三个项目就开始卡了,而在云上跑的优势是可以无限打开多个项目,在不同设备之间相互操作。
那么,资源放在云上会不会不安全呢?其实相反,Unity 云编辑器反而更加安全,因为项目的资源都放在云上,不会落在本地,我们可以做一些权限管理,对于受保护的项目和模板,可以让它只在云上进行编辑,不允许下载到本地。我们可以控制它的下载流程,防止个人操作导致数据或设备丢失,避免造成外泄,特别是一些美术资源或场景资源。
通过 Unity 云编辑器,我们可以方便地协同和共享,可以邀请同事或客户直接加入同一个编辑器实例,共同创作,极大增加沟通效率。
创作者也可以把项目制作成模板分享给团队或需要项目的成员,成员可以直接打开操作。
同时,Unity 云编辑器提供了大量的公共模版供创作者使用。创作者也可以发布自己的项目模版给大家来用。视频中是我们的一些优秀作品,我们会把项目模板上架到一个空间,空间中可以筛选成员看到该模板并使用。
在团队模式下,我们提供了后台管理和权限管理的功能来方便团队管理员进行管理。
对于个人和团队用户,我们提供简单的定价模式,按照分钟和存储的量来收费。对于企业用户,我们可以提供定制化的开发,比如说对接企业的账号体系,以及私有化的部署。
接下来介绍云编辑器的一些典型的应用场景。第一个就是学习和教育。
Unity 有很多网上的教程和资源,供开发者们学习。但如果想在本地运行学习,比如 HDRP 高清渲染管线,往往先要找一台不错的电脑,还要装正确版本的 Unity 编辑器,再把相关的资源下载到本地,最后打开,这个过程是比较长的,可能有很多环节会造成问题。云编辑器就可以提供一个环境一键打开云端项目,让开发者直接开始学习,省去了配置的烦恼,也不用担心电脑的性能问题。
比如,云编辑器可以和 Unity 中文课堂结合,把线上课程直接放进云编辑器进行学习,同学和老师可以直接加入云编辑器中的同一个项目进行指导。
另一个应用场景是,开发多人游戏开发时,经常需要模拟多玩家的情况以进行调试。以往的做法是把同一个项目拷贝一份,同时打开两个编辑器,或者把游戏打包出来多人连接测试。通过云编辑器就可以同一个项目打开多个编辑器同时编辑,一个作为 Game Host,一个作为 Game Client,省去了打包的过程。可以直接点 Play 连接在一起进行调试,中间有任何问题也可以停止,改了以后再 Play,整个迭代的周期就会快很多。
Unity 大项目开发过程中有三大痛点:资源导入时间长,光照烘焙时间长,资源打包时间长。在本地受资源的限制,比如 CPU 核数、GPU 内存显存,很难有优化的余地。但是对于云编辑器而言,项目一开始就在云上,可以充分利用云上资源。有两种思路,一个是横向扩展 Scale-out,一个是纵向扩展 Scale-up。我们可以把一些耗时的步骤并行,比如导入的过程就是在做各种各样的数据处理,每个数据处理相互之间独立性比较强,可以并行;包括烘焙和最终的出包也可以并行,这是一个思路。
另外一个思路是,我们可以在临时需要做某项任务的时候,把任务调度到云上资源性能好的机器上面,快速完成任务,完成后再把这个机器资源释放出来给下一个人用。反观本地,很可能有打包机只在打包的时候用,平时开发的时候就基本上闲置。这样在云上反而可以更充分地利用资源。
另外一个场景是,如果有新的小伙伴加入项目团队,以往本地开发的基本步骤是先去申请性能足够的机器,再去下载,然后打开项目,导入资源,可能还会发现各种错误和问题,这样好几个小时就过去了。而使用云端编辑器,可以通过磁盘快照快速分享项目,并且打开项目的时候无需再次导入,从而可以在分钟级别让一个新员工打开项目,并且降低因环境问题导致的出错,方便新员工快速上手当前项目。
在 Unity 云编辑器中,我们也支持多个平台同时发布。
举个例子,比如可以在云上打包安卓应用,把它直接发布在云真机(Unity 的真机测试服务云平台)上,在云上进行真机测试。这就是一个思路,把编辑器和设备都放在云上。另外,我们也提供了从本地到云上的链接打通,保证如安卓的 ADB 可以连接到云上。
大家知道, Unity 有很多插件(Unity Package),通过 Unity Package,Unity 编辑器可以被高度定制。所以我们可以扩展出面向各种场景的云编辑器。比如,我们可以推出一个低代码面向 PGC 或者 UGC 的场景编辑器,直接在云上创作,快速发布到元宇宙或云渲染平台。再如基于 Unity 的云上数字人编辑器,让大家在云上进行数字人的二次创作,然后直接生成相应的资源包给 Unity 使用。
我们有两个插件—— Unity ProBuilder 和 Polybrush,分别是用来做建模和雕刻的。原先你需要在本地装这些东西,现在可以直接在云上进行创作。
我们的另一个产品 Unity Forma 产品配置器,之前需要申请 lisence,下载很大的应用包,在本地安装过程中也会出现很多问题,但使用的功能仅仅是启动配置器做各种产品的配置。叠加到云编辑器后,就直接可以作为云上产品配置器一键打开快速分享,让大家体验到 Unity Forma 的产品功能。
对于使用 Unity 工业产品 Pixyz 做工业模型的导入和处理,此前也需要在本地做,但是在云上直接可以打开网页导入工业模型处理,减面或转换格式都可以做。
以上就是 Unity 云编辑器的亮点之处。下面是简单的演示视频,只要四步即可上手:
  1. 登录官网;
  2. 创建新项目:选择模板,选择机型或者地区,点击创建;
  3. 打开项目,我们在云上会动态分配相应性能的资源;
  4. 项目启动,开始创作。
想尝试的小伙伴,打开 cloudeditor.unity.cn 即可使用。现在是在 beta 阶段,资源有限,先到先得。
Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐