UnityWebGl与Vue通讯问题(及如何内嵌Webgl至Vue)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UnityWebGl与Vue通讯问题(及如何内嵌Webgl至Vue)相关的知识,希望对你有一定的参考价值。

参考技术A 最近有一个需求,需要把网页的用户登录信息在unity webgl 项目启动时传进unity,试了很多方法都不成功,下面是最后 的解决方案

将unity工程打包发布,所有文件放到Vue的public目录下

运行 yarn serve ; 可以看到token已经被传进unity

UnityWebgl和js通讯

使用unity开发webgl避免不了和web端进行通讯,废话不多说直接上代码。



1.unity向js通讯代码

c#代码:

    /// <summary>
    /// unity向js发送消息
    /// </summary>
      public void UnityToJs()
      {
        Debug.LogError("Unity向js发送数据::"+input .text);
        Application.ExternalCall("UnityToJs", input.text);
     }

JS代码:

       //接受Unity向js发送的消息
        function UnityToJs(string){
                console.log("[email protected]@--::"+string );
           alert("[email protected]@--::"+string);
        }

2.JS向Unity通讯

c#代码 :

   /// <summary>
    /// js向unity发送消息
    /// </summary>
    /// <param name="pstr">消息内容</param>
    public void JsToUnity(string pstr)
    {
        jsMessage.text = pstr;
    }``

JS代码:

        //发送消息给unity。
        function SendUnityMessage(funcname, data) {
            console.log(funcname + data);
            SendMessage("JsObject", funcname, data);
            window.focus();
        }
        //JS发送消息给Unity
        function JsToUnity(){
            SendUnityMessage("JsToUnity","ddddd");
        }

3.运行效果图

Js向Unity通讯

技术分享图片

当按下1时untiy接受到消息并显示到界面上如下图:

技术分享图片

Unity向JS通讯

技术分享图片

在界面的输入框中输入内容,点击按钮发送消息给js在界面中显示。

需要源码工程的朋友可以留言给我要工程源码

以上是关于UnityWebGl与Vue通讯问题(及如何内嵌Webgl至Vue)的主要内容,如果未能解决你的问题,请参考以下文章

Vue项目使用UnityWebGl和交互通信-案例

Vue项目使用UnityWebGl和交互通信-案例

如何编写一个 Vue JS 内嵌组件

关于vue项目和内嵌iframe页面之间的通信问题

vue项目如何内嵌如iframe页面

Vue如何内嵌tableau server报表