网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】在Unity转微信小游戏下,如何用Worker实现多线程

0
分享至

这是第422篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com

本期目录:

  • 在Unity转微信小游戏下,如何用Worker实现多线程
  • Unity的jslib库和微信小游戏的game.js如何互相调用函数或者通信
  • 如何在Unity中实现资源的深度复制

Script

Q:想用WebWorker计算Unity里的小球的运动轨迹,请问Unity转微信小游戏的情况下,可以用Worker实现多线程吗?

A:可以参考官方文档:

Worker wx.createWorker(string scriptPath, object options)

功能描述:

创建一个Worker线程。

参数:

string scriptPath

Worker入口文件的绝对路径

object options:

可选参数:

属性:useExperimentalWorker

类型:boolean

默认值:false

必填:否

说明:是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验Worker提升数倍,如需在Worker内进行重度计算的建议开启此选项。同时,实验Worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合worker.onProcessKilled事件使用,在Worker被回收后可重新创建一个。

最低版本:2.13.0

返回值

Worker

Worker对象

注意事项

  • 接口使用前需要在game.json(插件为plugin.json)中配置workers字段,表示Worker代码根目录。

  • scriptPath为入口文件的绝对路径,且不以/开头。

  • 目前限制最多只能创建一个Worker,创建下一个Worker前请先调用Worker.terminate。

  • 多线程Worker指南(小游戏)。

示例代码

// 创建普通worker
wx.createWorker('workers/index.js')

function createNewWorker() {
const worker = wx.createWorker('workers/index.js', {
useExperimentalWorker: true
})
// 监听worker被系统回收事件
worker.onProcessKilled(() => {
// 重新创建一个worker
createNewWorker()
})
}
// 创建实验worker
createNewWorker()

官方文档链接:

https://developers.weixin.qq.com/minigame/dev/api/worker/wx.createWorker.html

感谢左君博@UWA问答社区提供了回答欢迎大家转至社区交流

https://answer.uwa4d.com/question/67c559603d306f3e9d594e69

Script

Q:做WebWorker的时候,打包出来的game.js和WebWorker成功通信上了,但是返回的结果不知道怎么还给Unity脚本,请问Unity可以调用的jslib库和打包出来的微信小游戏的game.js可以互相调用函数或者通信吗?

A1:可参考:自定义SDK调用

微信SDK提供了WX.CallJSFunction与WX.CallJSFunctionWithReturn接口实现了简单的第三方SDK调用,支持可序列化为JSON的任意数量的参数与返回值。

其中,JS侧的实际调用逻辑为GameGlobal.sdkName.functionName(args),所以在调用之前需要保证SDK位于GameGlobal下且SDK中含有该名称的function。

在WX.CallJSFunctionWithReturn中,会将函数返回值转换为JSON后传回,若无返回值则传回""。

如需更加复杂的调用,可参考 WebGL:与浏览器脚本交互 进行自定义定制。

版本要求

转换插件 >= 202406062127

代码示例

示例中的"sdk"、"testFunction"、TestFunctionOption仅作为演示,实际使用中请自行更改。

WeChatWASM.WX.CallJSFunction("sdk", "testFunction", new TestFunctionOption {     type = "text",     text = "反馈",     style = new OptionStyle()     {         left = 10,         top = 10,         width = 100,         height = 100,         backgroundColor = "#ff0000",         color = "#ffffff",         textAlign = "center",         fontSize = 20,         borderRadius = 10,         lineHeight = 100,     } });

另外,在js侧代码中合适位置添加以下代码,可配合构建模版能力使用。

  GameGlobal["sdk"] = sdk;

官方文档链接:

https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/CustomSDK.html#自定义SDK调用

感谢袁梓民@UWA问答社区提供了回答

A2:可以使用SendMessage的方法。

感谢Hong@UWA问答社区提供了回答

A3:也可以使用moduleHelper.send方法,用反射调用和传参。

感谢左君博@UWA问答社区提供了回答欢迎大家转至社区交流

https://answer.uwa4d.com/question/67c55a77682c7e5cd61bfa0e

Asset

Q:请问一个预制(网格+材质+纹理) 复制一个新预制(网格+材质+纹理), 新的GUID和复制的GUID都需要不同,如何才能做到?

针对以上问题,有经验的朋友欢迎转至社区交流:

https://answer.uwa4d.com/question/67c5539a3d306f3e9d594e68

封面图来源于网络

今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
70岁大爷相亲,女方:你退休金没有上万不谈,大爷:3千还少?

70岁大爷相亲,女方:你退休金没有上万不谈,大爷:3千还少?

热心柚子姐姐
2026-06-22 14:22:14
大家提前做好准备,7月开始,不出意外的话,中国或将出现4大变化

大家提前做好准备,7月开始,不出意外的话,中国或将出现4大变化

猫叔东山再起
2026-06-23 08:45:06
明天会不会大跌甚至暴跌?我直接说观点,6.24开盘前听我一言!

明天会不会大跌甚至暴跌?我直接说观点,6.24开盘前听我一言!

另子维爱读史
2026-06-23 21:24:30
普京再谈战争起源:乌克兰打顿巴斯8年,俄忍了8年才被迫出手

普京再谈战争起源:乌克兰打顿巴斯8年,俄忍了8年才被迫出手

桂系007
2026-06-23 23:36:31
四大原因 大盘只是假摔

四大原因 大盘只是假摔

趋势巡航
2026-06-23 14:49:58
“再走几步,可能就是生离死别!”上海医生突然冲出诊室,拦下一位老人!极易漏诊,高危救活几率只有15%

“再走几步,可能就是生离死别!”上海医生突然冲出诊室,拦下一位老人!极易漏诊,高危救活几率只有15%

环球网资讯
2026-06-23 15:10:28
荷兰男篮主帅:这次杭州之行是荷兰队外出参赛体验最好的一次

荷兰男篮主帅:这次杭州之行是荷兰队外出参赛体验最好的一次

懂球帝
2026-06-23 22:55:07
杨天真贾玲双双复胖上热搜!一个因伤一个为活,回应态度出奇一致

杨天真贾玲双双复胖上热搜!一个因伤一个为活,回应态度出奇一致

以茶带书
2026-06-22 13:48:30
刚刚,186万个号码中签!深交所史上最大IPO,你中了吗?

刚刚,186万个号码中签!深交所史上最大IPO,你中了吗?

新浪财经
2026-06-23 20:48:33
ESPN记者:绿军错失字母哥后,多支球队已准备报价杰伦-布朗

ESPN记者:绿军错失字母哥后,多支球队已准备报价杰伦-布朗

懂球帝
2026-06-23 21:00:10
树木多了,鸟却少了?新研究揭示防护林的隐藏代价

树木多了,鸟却少了?新研究揭示防护林的隐藏代价

科学边界哦
2026-06-22 21:35:43
卷巨额遗产出逃英国,给杨振宁戴绿帽子,翁帆身上的谣言有多离谱

卷巨额遗产出逃英国,给杨振宁戴绿帽子,翁帆身上的谣言有多离谱

叨唠
2026-05-27 04:13:37
央视暗访曝光!直播间27个“茶农”,20个是演员,月入千万全靠演

央视暗访曝光!直播间27个“茶农”,20个是演员,月入千万全靠演

寒士之言本尊
2026-06-22 17:30:26
京东工业CEO宋春正因健康原因辞职,2025年年薪668万元,公司上市仅半年

京东工业CEO宋春正因健康原因辞职,2025年年薪668万元,公司上市仅半年

红星资本局
2026-06-23 14:23:04
受贿1726万余元,贵州省卫健委原副主任田艳一审被判11年

受贿1726万余元,贵州省卫健委原副主任田艳一审被判11年

界面新闻
2026-06-23 17:18:15
毛剑卿:从专业角度讲,梅西踢得其实并不好,他本来至少能进4个

毛剑卿:从专业角度讲,梅西踢得其实并不好,他本来至少能进4个

风过乡
2026-06-23 13:29:36
贾平凹之女贾浅浅被指“涉学术论文抄袭”,西北大学两月前启动调查,陕西省教育厅最新回应:高校还在调查,应该很快有结果

贾平凹之女贾浅浅被指“涉学术论文抄袭”,西北大学两月前启动调查,陕西省教育厅最新回应:高校还在调查,应该很快有结果

大风新闻
2026-06-23 19:50:16
著名杂志:C罗为世界杯进行形象大改造,包括发型和妆容

著名杂志:C罗为世界杯进行形象大改造,包括发型和妆容

懂球帝
2026-06-23 18:20:45
俄媒女主持人曾言:若中国愿出兵300万,俄军很快就能打败乌克兰

俄媒女主持人曾言:若中国愿出兵300万,俄军很快就能打败乌克兰

南宗历史
2026-03-17 16:53:10
1957年,周总理和夏梦的罕见合影,注意看总理的眼神,有点不一般

1957年,周总理和夏梦的罕见合影,注意看总理的眼神,有点不一般

明月清风阁
2026-06-23 13:00:10
2026-06-24 00:20:49
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1589文章数 987关注度
往期回顾 全部

科技要闻

48名中国开发者联名举报苹果

头条要闻

男孩6岁时被女子挖眼永久失明 如今以721分被高校录取

头条要闻

男孩6岁时被女子挖眼永久失明 如今以721分被高校录取

体育要闻

扬尼斯去了迈阿密:凯尔特人怎么办?

娱乐要闻

内娱95后顶流格局发生潜移默化的变化

财经要闻

AI“算力稀缺”信仰开始动摇?

汽车要闻

施鹏泽:为什么奥迪E7X强调座舱气味安全?

态度原创

教育
时尚
亲子
本地
房产

教育要闻

十年深耕!“十一系”这所成员校做对了啥?

Dualipa的婚礼,一场高级定制的盛大巡演

亲子要闻

雯雯弄坏了豌豆的气球,慌张地把气球藏到身后,豌豆问起来...

本地新闻

吃一次广东龙舟饭,才懂什么是豪华盛宴

房产要闻

洞察新局|预算不变 居住升级 2026广州置业成本观察

无障碍浏览 进入关怀版