Unity引擎
制作。微信小游戏
则是近几年火起来的,由于其简洁性和通用性 在微信平台迅速火爆占领市场。Unity WebGL转换微信小游戏的插件(minigame-unity-webgl-transform)
制作。简介:
使用 Unity WebGL 小游戏适配(转换)方案,本方案设计目的是降低 Unity 游戏转换到微信小游戏的开发成本
。
基于WebAssembly技术,无需更换Unity引擎与重写核心代码的情况下将原有游戏项目适配到微信小游戏。
官方项目地址如下:
先来看一张图简单了解下Unity开发微信小游戏的流程步骤。
Unity的 BuildTarget 支持 WebGL 平台,WebGL导出包是基于 WebAssembly 技术运行在浏览器环境。 为了能让导出包运行在微信小游戏环境,我们提供了以下支持:
其中要注意的是 可行性评估 。小团队为接入游戏提供了评估表,问卷内容是本转换方案最重要的影响因素。
当根据实际项目填写之后与我们联系后一起评估可行性和技术风险点,重要的能力支持情况如下:
该方案适合多种品类的游戏项目
可以通过转换案例先来体验下 Unity WebGL 适配小游戏表现
更多转换案例如下:https://gitee.com/wechat-minigame/minigame-unity-webgl-transform/blob/main/Design/ShowCase.md
版本兼容性
Unity WebGL微信小游戏适配方案是以WebAssembly为基础,具有非常宽泛的兼容性,转换插件理论上支持的Unity版本涵盖:2018、2019、2020、2021。
但并非每个小版本都有足够的验证,会根据验证情况以及大量转换游戏反馈的情况给出引擎版本建议。
推荐版本
引擎版本 | 压缩纹理/音频 | 编译体积 | 已验证小版本 | 其他 |
---|---|---|---|---|
2018 | 仅DXT,不支持ETC2/ASTC | 100% | 2018.4.25~2018.4.34 | 不支持设置dpr分辨率 |
2019 | 仅DXT,不支持ETC2/ASTC | 100% | 2019.4.28~2019.4.35 | — |
2019 InstantGame | 全支持DXT/ETC2/ASTC | 100% | 2019.4.29 | — |
2020 | DXT/ETC2,不支持ASTC | 100% | 2020.3.1~2020.3.36 | — |
2021 | 全支持DXT/ETC2/ASTC | 80% | 2021.2.5~2021.2.18 | — |
2021 InstantGame | 全支持DXT/ETC2/ASTC | 80% | 2021.2.5 | 增强的UnityProfiler |
备注:
官方下载地址:https://nodejs.org/zh-cn/download/
根据自己的设备类型选择对应的软件版本,下载完成后一直下一步安装即可。
实在不会安装的同学,网上搜索一篇Node.js安装的教程即可,非常简单。
这一步的主要目的是注册一个微信小游戏需要使用的应用 并获取该应用的APPID。
在微信官方文档中已有详细的方法步骤,这里简单筛选出比较重要的步骤进行参考。
注册一个小游戏帐号
进入 小程序注册页 根据指引填写信息和提交相应的资料,服务类目应选择“游戏”,子类目可以先选择“休闲游戏”,就可以拥有自己的小游戏帐号。
安装并启动开发者工具
注册小游戏帐号后,应下载 开发者工具 并安装到计算机中。
打开已安装的开发者工具客户端,使用刚刚注册小游戏帐号登记的微信帐号“扫一扫”扫码即可进入小游戏开发环境。
选择左侧“小程序项目”中的“小游戏 Tab”,然后点击右侧“+”号,开始创建小游戏项目。
填写合适的项目名称,选择合适的本机空目录后,登录 刚刚注册的小程序管理平台,如下图找到小程序的 AppID,填入表单的“AppId”文本框中。
填写完整后点击右下角“新建”按钮,即可完成创建小游戏。
在开发者工具中就能进入小游戏的可视化开发界面了。
此处只在第一次制作的时候去开启,不然的话后面在使用微信开发者工具打开小游戏的时候会报错,去开启即可。
添加需要导出的scene,也就是我们的游戏场景。
这里建议仅勾选Loading场景,后续场景使用AssetsBundle/Addressable
进行按需加载。
第一次转换的时候建议大家使用Unity新建一个空场景进行测试即可,可以免去一些不可抗因素。
顶部菜单栏 点击 微信小游戏 -> 转换小游戏
, 填写相应参数,点击导出WEBGL并转换为小游戏按钮 ,等待转换完成。
填写完之后点击 导出WEBGL并转换为小游戏 ,这样就将Unity的WebGL和小游戏包一起打包出来了。
重要
- 值得注意的是当我们的游戏项目体量较小时 首包资源加载方式可以选择
小游戏包内
,此选项只能在整体资源包小于20M时使用。- 当资源过大时则需要将首包放置到服务器上 并传入对应的资源地址URL即可。后面会对
CDN方式
进行一个详细介绍。
注意,此处只在打包CDN的时候使用
在微信公众平台将CDN地址设为合法请求地址
- 登录微信公众平台
- 找到开发管理,开发设置
- 下滑找到服务器域名,点击开始配置
- 将CDN地址填入,需要带https://协议头
在转换完成后,会在导出路径下生成如下目录
.
├── minigame
└── webgl
转换完成后,参照小游戏资源部署章节进行资源部署,并了解启动Loader在加载资源时的缓存逻辑。
这里需要下载的工具在前面我们已经弄过了,可以再来看一下具体步骤。
注意: 项目使用了小游戏Unity适配插件,若小游戏是第一次使用本插件,在开发者工具会报错提示插件未授权
请前往mp后台-能力地图-生产提效包-快适配,开通使用。这里我们前边已经做过了,如果还提示插件未授权的话可以再去操作一下即可。
关于 Unity WebGL转微信小游戏 还有很多需要注意的点,后面会根据遇到的实际情况更新相关文章。
优质专栏分享 |
温馨提示: 点击下面卡片可以获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!