Unity WebGL多线程WebWorker

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值