使用Laravel Framework托管Unity WebGL游戏

时间:2018-10-06 04:24:28

标签: php laravel unity3d web unity-webgl

如何将内置于WebGL中的Unity游戏放入Laravel中?

仅供参考,Unity WebGL在生成时会提供以下文件: -构建(文件夹) -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>

1 个答案:

答案 0 :(得分:1)

想通了:

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

  • index.html
  • 构建(文件夹)
  • TemplateData(文件夹)

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

    4.您可以使用按钮或任何您喜欢的东西对其进行测试。

完成,现在可以正常工作了。您甚至可以将Laravel内容与navbar或任何您喜欢的东西放到index.blade.php中。

此外,身份验证会话也可以正常通过。