第一,Unity将自己的引擎代码和游戏代码一起构建成wasm 代码,所以这依赖wasm能力,前面我们已经说了,小游戏已经支持了wasm能力;第二,游戏引擎都离不开渲染能力,在浏览器端,Unity会使用WebGL接口来渲染,这个能力微信小游戏一直都是有的;
因此Unity游戏在小游戏上运行也就可行了 。
我们来具体看下几个步骤,首先是技术评估,为什么要做技术评估呢?前面说到了,从原理上来讲,我们将Unity导出的针对浏览器的工程迁移适合成适配浏览器的工程,它是有一些要求的,目前我们已经适配了Unity2018、Unity2019和Unity 2021版本,更新的版本我们也会陆续适配 。
除此之外,从刚刚的原理来说,Unity导出成webgl模式本身也就有一些限制,比如说暂时不能使用多线程能力,比如说如果有用原生插件,需要提供原生插件原码,再比如过小游戏对WebGL标准的支持程度不是很完善等,因此并不是任何类型的游戏都适合这个方案迁移成微信小游戏的 。从我们目前建联的内测游戏来看,这里提到的游戏品类都会比较适合我们的方案来转换成小游戏,比如休闲类的消除答题、动作类的跑酷和飞行射击等 。
如果是比较重度游戏,如MMO/FPS等游戏需根据实际情况评估,当然不是说这些MMO类型的游戏不能做,并且我们也有一些游戏在调了 。
技术评估完成之后就可以进行项目导出了,首先我们会提供一个Unity插件 。它可以做很多事情,比如最基础的,Unity 导出的胶水层代码是在浏览器上运行的,我们会转换成小游戏需要的代码;再比如Unity默认构建出来的工程结构是浏览器需要的,而我们会一键转换成小游戏的工程结构 。除此之外我们会提供资源处理、纹理压缩等各种工作 。
从效果来说,左边图和右边部分是Unity工具,中间是转换插件,右边是Unity Editor,中间的窗口是转换工具,整个的还原度是很高的 。
转换完成后就可以接入平台能力了,对普通小游戏而言,是调用小游戏提供的JSAPI在开发者工具内就完成了,而Unity导出到小游戏的工程代码是wasm,基本是没法二次开发的 。因此我们提供了微信小游戏的服务 C# SDK,游戏要对接微信小游戏的能力只需要在Unity IDE内使用C#接口即可,插件导出后会自动适配到小游戏 。这些能力包括基础的分享能力、关系链能力、支付与广告和各种其他能力,整个开发过程都可以在Unity原先的工具内闭环完成 。
在欧西上线前,我们需要做一定的调优,调优需要两部分:首先是启动问题,启动是很重要的一部分 。
我们看一个普通的休闲游戏导出之后,大概代码是35M,资源是80M,我们知道小游戏是即点即玩的特性,一下子要加载100兆,这对很难接受的,所以要调优 。首先是代码有35M,这是一个很夸张的数字,我们知道目前为止小游戏的首包是不能超过4M的,因此我们针对wasm能力支持了brotli压缩算法,经过压缩后,35兆文件会压缩到6.5兆,仍然是很大,里面有很多在首场景根本用不到的逻辑 。因此我们实现了一个分包能力,经过分包之后代码可以压缩到2.7M,这个已经和普通的小游戏没有太大差异了 。
其次是资源,如果一下子就加载80M的资源显然是不合理的,按照小游戏按需加载的特性 。
首先,要对游戏进行一定的改造,比如使用AA或者AB加载的方式使用资源、再比如精简首场景、去掉小游戏模式下不需要的逻辑等,更重要的是我们提供了自动懒加载资源的工具,这可以使得不需要对代码逻辑改动就自动懒加载资源,经过这一系列的处理,首包的资源大概是3 - 5M左右 。总体来看,一个休闲游戏经过启动优化之后,首次进入的耗时大概是7- 10秒左右,二次进入的时间可以达到2 -5秒,这已经是相对理想的情况了 。
- slenderman下载 slenderman手机游戏
- 风雷游戏正版 下载风雷游戏游戏
- 剑灵游戏 减龄发型
- steam的游戏怎样退款 steam,游戏怎么退款
- 腾讯游戏开服表 网页游戏开服表
- 雷神加速器APP 雷神加速器手机版
- 游戏修改器 游戏修改大师 天使计划修改器怎么用
- 宅男拯救世界游戏 宅男拯救世界是什么意思
- touch游戏下载 touch游戏店
- 随身游戏在异界 异界之玩家降临
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
