atnartur
@atnartur
Веб-разработчик

Как запустить Unity3D WebGL player с абсолютными путями до файлов?

Здравствуйте!

Пишем проект по просмотру 3D-моделей мебели. Плеер моделей реализован на Unity3D. После того, как хром вырубил поддержку NPAPI и Unity 3D Plugin перестал работать, пришлось переносить плеер моделей на WebGL. Сборка через среду разработки Unity работает нормально, и просмотр диванов там работает тоже нормально.

Но для реализации библиотеки просмотра мебели нужно прописывать абсолютные пути до файлов, которые участвуют в просмотре модели (раньше - WebPlayer.unity3d, сейчас - WebGLPlayer.js, WebGLPlayer.data, WebGLPlayer.html.mem и т. д.). После того, как я добился загрузки всех файлов, начала вылезать ошибка, stack trace которой уходит далеко в asm.js, который прочитать просто так невозможно.

Текст ошибки:
exception thrown: TypeError: Cannot read property 'addEventListener' of undefined,TypeError: Cannot read property 'addEventListener' of undefined
    at Object.JSEvents.registerOrRemoveHandler (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:1:115907)
    at Object.JSEvents.registerMouseEventCallback (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:1:119681)
    at _emscripten_set_mousedown_callback (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:1:191086)
    at BCc (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:18:614839)
    at Object.eCc [as _main] (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:18:609112)
    at Object.callMain (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:31:49538)
    at doRun (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:31:50368)
    at run (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:31:50536)
    at runCaller (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:31:48822)
    at Object.removeRunDependency (http://host/player/WebGL/Release/WebGLPlayer.path_fixed.js:1:28378)


WebGlPlayer.path_fixed.js - такой же файл, как и WebGLPlayer.js, только с исправленными путями до WebGLPlayer.data и WebGLPlayel.html.mem.

В инете решения проблемы не нашел, так как такой метод публикации проектов Unity3D только выпустили.

В чем может быть проблема? Как сделать кастомную сборку WebGLPlayer.js, чтобы можно было избежать таких багов?
  • Вопрос задан
  • 1918 просмотров
Решения вопроса 1
atnartur
@atnartur Автор вопроса
Веб-разработчик
Костылями через замену текст в файлах получалось заменять пути, но это костыль.
Решили открывать iframe на сайте. А в iframe тот самый index.html из сборки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
13 июн. 2024, в 13:38
3000 руб./за проект
13 июн. 2024, в 13:30
1500 руб./за проект