从JavaScript(Vue)调用Unity WebGl函数

问题描述 投票:0回答:1

我现在有一个VueJs项目,我正在其中构建一个网页。为了显示3D内容并让用户使用它,我想将Unity项目嵌入为WebGL。我不是专业的程序员,我的知识比我在互联网上可以找到的更多。

首先,我创建了一个插件,如here所述。我的.jslib文件如下所示:

var UnityJavascipt = {

 $JustAWebGLObject:
  {
  },
  SendToJavscript: function ()
  {
              console.log("worked!")
  }     
}; autoAddDeps(UnityJavascipt , '$JustAWebGLObject'); mergeInto(LibraryManager.library, UnityJavascipt );

我在Vue中嵌入了我的Unity WebGl:

<template>
  <unity src="static/Build/game.json" width="1000" height="600" unityLoader="static/Build/UnityLoader.js" ref="myInstance"></unity>  
</template>

我也可以从C#脚本中调用“ SendToJavaScript”。但是现在对我来说它变得不清楚,因为我希望能够从外部JavaScript调用“ SendToJavaScript”函数(或以后将添加的任何其他函数)。在手册中,他们参考emscripten page以获取更多详细信息。但是对我来说,这一切都很混乱。我已经尝试在VueJs中像这样调用我的函数:

_SendToJavaScript()

但是我总是得到一个ReferenceError:_SendToJavaScript没有定义,我也在这里的论坛上阅读过,这样可以调用该函数:

UnityInstance.Module.asmLibraryArg._SendToJavaScript()

UnityInstance是我的index.html文件中的变量,在其中实例化UnityLoader。但是我又收到参考错误。

如果有人可以解释我在做什么错,这将非常有帮助... WebGL和Vue之间的通信对于我的项目至关重要,但我在这里呆了几天。所以提前谢谢!

我现在有一个VueJs项目,我正在其中构建一个网页。为了显示3D内容并让用户使用它,我想将Unity项目嵌入为WebGL。我不是专业人士...

unity3d vue.js unity-webgl
1个回答
0
投票

使用unityInstance.SendMessage() documented here.

© www.soinside.com 2019 - 2024. All rights reserved.