Unity转微信小游戏 HybridCLR + YooAsset 实践

这篇具有很好参考价值的文章主要介绍了Unity转微信小游戏 HybridCLR + YooAsset 实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文档

参考链接:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform?tab=readme-ov-file

环境

Unity 2021.3.15f1c1
Unity 2021.2.5f1c302 wxSDK

HybridCLR 5.0.0
YooAsset 1.5.7

CDN环境配置:

后台配置白名单

YooAssets

微信小游戏注意事项:
不支持同步加载。
不支持资源加密。
不支持多Package
关闭WebGL本地缓存
参考地址
因为微信小游戏平台的特殊性,需要关闭WebGL的缓存系统,使用微信自带的缓存系统。
YooAssets.SetCacheSystemDisableCacheOnWebGL();
注意:一定要禁止微信对资源清单版本文件进行缓存(文件名称样例:PackageManifest_xxx.version)
注意:如果未调用该方法,微信小游戏有内存崩溃的风险!

针对微信对于文件缓存的设置方法看这里:资源缓存
我当前使用YooAssets 所以设置忽略 .version

初始化不能使用 单机运行模式,联机运行模式

只能使用 WebGL运行模式
具体请看:https://www.yooasset.com/docs/guide-runtime/CodeTutorial1

不然会提示:

xception: HostPlayMode can not support WebGL plateform ! Please use WebPlayMode
  at YooAsset.ResourcePackage.CheckInitializeParameters (YooAsset.InitializeParameters parameters) [0x00000] in <00000000000000000000000000000000>:0 

屏幕适配

屏幕信息可以通过 WX.GetSystemInfo(option); 接口获取到

关键是获取到之后如何使用。
适配相关的有3个参数,
SystemInfo.screenWidth
SystemInfo.screenHeight
SystemInfo.safeArea

如下图所示,屏幕坐标和 unity 不同,unity 中 ScreenHeight 是从下到山是 y 正方向,而微信中是 从上到下是 y 正方向。适配时候需要注意换算
offlineplaymode can not support webgl plateform ! please use webplaymode,unity,unity,微信小游戏

问题

1、引擎选择
2、导出设置

转换插件不能勾选 IL2CPP Optimize Size,勾选会导致 自动设置为 Faster (smaller) builds,导致报错。

3、StreamingAssets

Unity 转微信小游戏,使用的事 WebGL 平台,此平台下的StreamingAssets 目录不会随着打包自动进入包体。需要使用动态资源加载 aa、ab、yoo 等等方式加载。

AOT 补充元数据的过程不能再使用离线模式,只能使用正式模式或者直接放入 Resources 中加载,但是要注意放入 Resources 中会增加首包大小。

4、代码里不能使用Thread类,Task.Delay 之类的方法需要换成其他方法,我这里有自己写的 job.make 使用携程替换。

注意:
YooAsset 的同步加载方法LoadAssetSync 也不能用,因为其内部使用了Thread 的方式。

使用后报错:
WaitForAsyncComplete failed ! WebGL platform not support sync load method !

至此所有程序代码在微信开发者工具中正常启动运行,可以上传成功。文章来源地址https://www.toymoban.com/news/detail-848928.html

到了这里,关于Unity转微信小游戏 HybridCLR + YooAsset 实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity项目转微信小游戏 微信小程序保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试

    借着某人需求,做了一波简单的技术调研:将Unity项目转换为微信小游戏。 本文主要内容:Unity转换小游戏的步骤,遇到问题的解决方法,以及简单的性能测试对比 微信小游戏的限制 微信小游戏对程序包体大小有严格限制:首包必须小于2M,首包加分包(后加载)不得大于

    2024年02月05日
    浏览(37)
  • Unity 转微信小游戏Error building Player: Incompatible color space with graphics API

    Unity 开发 微信小游戏,进行转换小游戏时报Error building Player: Incompatible color space with graphics AP错误,主要原因是不兼容WEBGL2.0。 需要在 Unity Editor中File-Build settings-Player Settings中设置Color space为Gamma。默认值是Linear这需要WebGL2.0支持。 勾选选项WebGL2.0(Beta)选项。也可解决上述问题

    2024年02月14日
    浏览(27)
  • Unity - 微信小游戏

    总参考:Unity WebGL 微信小游戏适配方案(公测)   下载 Unity插件,并导入至游戏项目中,版本更新请查看更新日志 请查阅推荐引擎版本,安装时选择 WebGL 组件 最终选择 Unity2021.2.5f1c1 InstantGame 前往Node官网安装长期稳定版 之前已安装 v16.17.0 前往微信开发者工具下载安装 Stable

    2024年02月06日
    浏览(39)
  • unity微信小游戏——排行榜

    设置时记住排行榜唯一标识 此处建议使用官方案例的UI进行修改 minigame-unity-webgl-transform: Unity WebGL 微信小游戏适配方案 (gitee.com) DemoRanking这个项目就是 1.新建Canvas 此处要选择Overlay 否则排行榜会无法拖动 此处RankingBox默认状态为SetActive(false) bg:排行榜背景 也可以把背景让在

    2024年02月02日
    浏览(38)
  • Unity微信小游戏使用微信云开发记录

    最近项目上架微信小游戏,首先使用了微信官方sdk转成微信小游戏,官方地址如下: https://github.com/wechat-miniprogram/minigame-unity-webgl-transform 官方给了各种指导,虽然都有但是都不太精哈哈 因为要做排行榜,云存档,而我司没服务器,那只能用微信云开发了。具体开通啥的初始

    2023年04月09日
    浏览(32)
  • Unity微信小游戏资源下载失败问题

    unity导出微信小游戏后,打开报错 plugin.js:77 [PLUGIN ERROR 11:30.26.366] 下载资源包失败: networkType: wifi ; isVisible: true downloadFile:fail createDownloadTask:fail invalid url {}(env: Windows,mg,1.06.2210310; lib: 2.27.2) 这个问题是导出时没有填写游戏资源CDN 原来的版本没问题,升级之后出现的 游戏资源CD

    2024年02月09日
    浏览(62)
  • Unity微信小游戏登录授权获取用户信息

    最近需要在接微信获取用户信息的功能,在小游戏官方API中翻找资料。不得不说官方接口很多、很全,但是真的很乱而且部分遗漏。 对于不明所以的人来说,真的非常不友好。文档一堆堆的罗列下来,有些也不知道要怎么组合使用。 文档下有不少留言也是“骂骂咧咧”想必

    2024年02月02日
    浏览(41)
  • Unity-微信小游戏上架流程-个人开发者

    写在前面         微信上架流程个人认为比较繁琐,而且严格,时间跨度长。在微信平台上架小游戏,实际上相当于将一个Unity WebGL的工程上架到微信小程序,只不过将微信小程序的类型设置成小游戏,使用微信专门的打包工具打包导出,并且使用微信专门的调试工具进行

    2024年04月17日
    浏览(32)
  • unity开发微信小游戏3-获取微信权限

    ` 用unity3d开发微信小游戏,遇到了一些问题,记录一下, 同时创建了一个交流群QQ 641029627,有需要的可以加入一起讨论,广告哥远离 提示:以下是本篇文章正文内容,下面案例可供参考 首先SDK里面的微信小游戏-使用好友关系链要勾选 初始化SDK,首次调用 获取设置,也就是

    2023年04月09日
    浏览(41)
  • 微信小游戏开发之unity-精灵的创建动画和操作移动

    我们的目标是通过unity开发微信小游戏! 这是第一篇正式实战开发文章,将会很详细介绍每一个步骤和代码。 废话不多说直接操作! 由于目标开发游戏是2D小游戏,我们选择2D核心模板. 我们的目标是开发微信小游戏所以我们需要修改setting,选择运行平台选择转换 WebGL ,刚开

    2024年01月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包