Хостинг Unity WebGL Game с использованием Laravel Framework - PullRequest
0 голосов
/ 06 октября 2018

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

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

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

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

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

Теперь я хочу узнать, как проверить, работает ли игра на сервере, размещенном на Laravel Framework ...

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

  1. Я поместил встроенную папку в mylaravelproject / public directory
  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.

--- Edit: вот файл 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>

1 Ответ

0 голосов
/ 18 ноября 2018

Понял:

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

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

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

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

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

Кроме того, сеанс аутентификации также может проходить нормально.

...