Хостинг Unity WebGL Game с использованием Laravel Framework

Как поместить мою игру Unity, встроенную в WebGL, в Laravel?

К вашему сведению, Unity WebGL, при сборке дает мне эти файлы:
— Сборка (папка)
— TemplateData (папка)
— index.html

Позвольте мне рассказать, что я сделал:

[Как я проверяю, работает ли игра в WebGL с использованием XAMPP]

  1. Я построил игру Unity в WebGL
  2. Я положил встроенную папку в каталог xampp / htdocs
  3. Я запускаю xampp, затем включаю сервер apache
  4. Я открываю свой браузер и захожу в localhost / mygamefolder
  5. Работает нормально, но для этого используется xampp

Теперь то, что я хочу, это как проверить, работает ли игра, используя сервер, размещенный с использованием фреймворка Laravel …

[ Что я сделал ]

  1. Я помещаю встроенную папку в директорию mylaravelproject / public
  2. Я скопировал содержимое файла index.html из встроенного проекта Unity и вставил его в один из моих файлов представлений (.blade.php).
  3. Я изменил таблицу стилей и ссылки на тег в соответствии с путем, куда я положил встроенную папку.
  4. Я открываю терминал и запускаю ‘php artisan serve’
  5. Я открываю браузер и захожу на IP-адрес, как показано в терминале
  6. Я пошел на страницу, где я положил игру, но игра не загружается. (Только игра, другие вещи, такие как навигационная панель, кнопка, которую я вставил и т.д., работает нормально)
  7. Я открываю консоль, там сказано:
    • «Uncaught ReferenceError: UnityLoader не определен
    • «Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден)» в демоверсии: 15 »

Есть идеи? Или, если вы можете направить меня к учебнику о том, как поместить вашу игру Unity WebGL в Laravel, это было бы хорошо. С тех пор, как я попытался найти его, я обнаружил, что никто не размещает Unity на их веб-сайте Laravel.

— Редактировать: вот файл index.html, созданный Unity WebGL —

<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | Projectile</title>
<link rel="shortcut icon" href="TemplateData/favicon.ico">
<link rel="stylesheet" href="TemplateData/style.css">
<script src="TemplateData/UnityProgress.js"></script>
<script src="Build/UnityLoader.js"></script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "Build/OrangeCodeGame.json", {onProgress: UnityProgress});
</script>
</head>
<body>
<div class="webgl-content">
<div id="gameContainer" style="width: 960px; height: 600px"></div>
<div class="footer">
<div class="webgl-logo"></div>
<div class="fullscreen" onclick="gameInstance.SetFullscreen(1)"></div>
<div class="title">Projectile</div>
</div>
</div>
</body>
</html>

2

Решение

Догадаться:

Когда вы создаете игру Unity с WebGL, Unity предоставит следующие файлы:

  • index.html
  • Сборка (папка)
  • TemplateData (папка)

  1. Скопируйте файл index.html в папку resources / views и измените расширение «index.html» на «index.blade.php».
  2. Откройте общую папку в проекте Laravel, скопируйте и вставьте папки Build и TemplateData.
  3. Перейдите в route / web.php, добавьте контроллер, который будет маршрутизировать в index.blade.php.

    4. Вы можете проверить это кнопкой или чем угодно.

Готово, теперь будет работать нормально. Вы даже можете поместить содержимое Laravel в index.blade.php единства с вашей панелью навигации или чем угодно.

Плюс сеанс аутентификации также может быть пройден нормально.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]