У меня есть проект VueJs прямо сейчас, где я создаю веб-страницу. Чтобы показать 3D-контент и позволить пользователю работать с ним, я хотел встроить Unity Project в WebGL. Я не профессиональный программист, мои знания более понятны из того, что я могу найти в Интернете.
Прежде всего, я создал плагин, как объясняется здесь . Мой файл .jslib выглядит так:
var UnityJavascipt = {
$JustAWebGLObject:
{
},
SendToJavscript: function ()
{
console.log("worked!")
}
}; autoAddDeps(UnityJavascipt , '$JustAWebGLObject'); mergeInto(LibraryManager.library, UnityJavascipt );
Я встраиваю свой Unity WebGl в Vue:
<template>
<unity src="static/Build/game.json" width="1000" height="600" unityLoader="static/Build/UnityLoader.js" ref="myInstance"></unity>
</template>
Я также могу вызывать «SendToJavaScript» из моего C # Script. Но теперь это начинает становиться неясным для меня, так как я хочу иметь возможность вызывать мою функцию «SendToJavaScript» (или любую другую, которая будет добавлена позже) из внешнего JavaScript. В руководстве они ссылаются на страницу emscripten для получения более подробной информации. Но для меня это все просто очень запутанно. Я уже пытался вызывать свою функцию в VueJs следующим образом:
_SendToJavaScript()
Но я всегда получаю ReferenceError: _SendToJavaScript не определен. Я также читал здесь на форуме, что можно было бы вызвать функцию какчто:
UnityInstance.Module.asmLibraryArg._SendToJavaScript()
UnityInstance - это переменная из моего файла index.html, где создается экземпляр UnityLoader get. Но снова я получаю ошибку ошибки.
Было бы очень полезно, если бы кто-то мог объяснить, что я делаю неправильно ... Связь между WebGL и Vue важна для моего проекта, но я застрял здесьнесколько дней. Так что спасибо заранее !!