1.新建一个test.jslib文件,放在Plugins文件夹下,内容如下:
mergeInto(LibraryManager.library, {
CaculateInfo:function(str1,str2)
{
window.alert(Pointer_stringify(str1));
CaculateUnityInfo(Pointer_stringify(str1),Pointer_stringify(str2));
},
});
2.Unity中新建一个WebGLMsgSend.cs,挂在场景中。添加一个Text,收到WebWorker数据后显示出来
打包后Unity,会调用Jslib中CaculateInfo方法,传两个参数。jslib又去调网页html中的CaculateUntiyInfo方法。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.UI;
public class WebGLMsgSend : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void CaculateInfo(string msg, s

本文介绍了如何在Unity WebGL项目中利用WebWorker实现多线程处理,通过创建.jslib文件与Unity交互,然后在WebWorker中进行计算并回传数据,最后展示在Unity的Text组件上。尽管存在序列化和反序列化的复杂性,但这种方法为大型计算任务提供了可能。
最低0.47元/天 解锁文章
6398

被折叠的 条评论
为什么被折叠?



