使用 Laravel 框架托管 Unity WebGL 游戏

Nas*_*rif 6 php unity-game-engine web laravel unity-webgl

如何将我在 WebGL 中构建的 Unity 游戏放入 Laravel?

仅供参考,Unity WebGL,在构建时给了我这些文件:- Build(文件夹)- TemplateData(文件夹)- index.html

让我说一下我做了什么:

[我如何使用 XAMPP 测试游戏是否在 WebGL 中运行]

  1. 我在 WebGL 中构建了一个 Unity 游戏
  2. 我将构建的文件夹放在 xampp/htdocs 目录中
  3. 我运行 xampp,然后打开 apache 服务器
  4. 我打开浏览器并转到 localhost/mygamefolder
  5. 它工作正常,但这是使用 xampp

现在我想要的是,如何使用 Laravel 框架托管的服务器来测试游戏是否工作......

[ 我做了什么 ]

  1. 我将构建的文件夹放入 mylaravelproject/public 目录
  2. 我从 Unity 构建的项目中复制了 index.html 文件的内容,并将其粘贴到我的一个视图文件 (.blade.php) 中。
  3. 我根据我放置构建文件夹的路径更改了标签处的样式表和引用。
  4. 我打开终端并运行“php artisan serve”
  5. 我打开浏览器并转到终端中显示的IP地址
  6. 我去了我放置游戏的页面,但游戏没有加载。(仅限游戏,我放置的导航栏和按钮等其他东西可以正常工作)
  7. 我打开控制台,它说:
    • “未捕获的 ReferenceError:未定义 UnityLoader
    • “加载资源失败:服务器响应状态为 404(未找到)”在演示:15”

有任何想法吗?或者,如果您可以指导我学习如何将您的 Unity WebGL 游戏放入 Laravel 的教程,那就太好了。由于我试图搜索它,到目前为止我发现没有人将 Unity 放在他们的 Laravel 网站上。

--- 编辑:这是由 Unity WebGL 生成的 index.html 文件 ---

<!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>
Run Code Online (Sandbox Code Playgroud)

Nas*_*rif 5

弄清楚了:

当您使用 WebGL 构建 Unity 游戏时,Unity 将提供以下文件:

  • 索引.html
  • 构建(文件夹)
  • 模板数据(文件夹)

  1. 将index.html复制到resources/views文件夹中,将“index.html”的扩展名改为“index.blade.php”
  2. 在 Laravel 项目中打开 public 文件夹,复制并粘贴 Build 和 TemplateData 文件夹。
  3. 转到 routes/web.php,添加将路由到 index.blade.php 的控制器。

    4.你可以用按钮或任何你喜欢的东西来测试它。

完成,现在它会正常工作。您甚至可以将 Laravel 内容与导航栏或任何您喜欢的内容放在统一的 index.blade.php 中。

另外,认证会话也可以正常通过。