使用 Laravel 框架托管 Unity WebGL 游戏
Hosting Unity WebGL Game using Laravel Framework
如何将我在 WebGL 中构建的 Unity 游戏放入 Laravel?
仅供参考,Unity WebGL 在构建时为我提供了这些文件:
- 构建(文件夹)
- 模板数据(文件夹)
- index.html
让我说说我做了什么:
[我如何使用 XAMPP 测试游戏是否在 WebGL 中运行]
- 我在 WebGL 中构建了一个 Unity 游戏
- 我把建好的文件夹放在xampp/htdocs目录下
- 我运行xampp,然后开启apache服务器
- 我打开浏览器并转到 localhost/mygamefolder
- 它工作正常,但这是使用 xampp
现在我想要的是,如何使用 Laravel 框架托管的服务器测试游戏是否正常运行...
[我做了什么]
- 我把建好的文件夹放到mylaravelproject/public目录下
- 我从 Unity 构建的项目中复制了 index.html 文件的内容并将其粘贴到我的视图文件之一 (.blade.php)。
- 我根据我放置构建文件夹的路径更改了标记处的样式表和引用。
- 我打开终端然后运行'php artisan serve'
- 我打开浏览器并转到终端中显示的 IP 地址
- 我转到了我放置游戏的页面,但是游戏没有加载。 (仅限游戏,我放置的导航栏和按钮等其他功能正常)
- 我打开控制台,它说:
- “未捕获的引用错误:未定义 UnityLoader
- "Failed to load resource: the server responded with a status of 404 (Not Found)" 在 demo: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>
想通了:
当您使用 WebGL 构建 Unity 游戏时,Unity 将提供以下文件:
- index.html
- 构建(文件夹)
- TemplateData(文件夹)
- 将index.html复制到resources/views文件夹中,并将"index.html"的扩展名改为"index.blade.php"
- 打开 Laravel 项目中的 public 文件夹,复制并粘贴 Build 和 TemplateData 文件夹。
- 转到 routes/web。php,添加将路由到 index.blade.php 的控制器。
4.你可以用按钮或任何你喜欢的东西来测试它。
完成,现在可以正常使用了。您甚至可以将 Laravel 内容放在 index.blade.php 中,与您的导航栏或任何您喜欢的内容统一。
另外,认证会话也可以正常通过
如何将我在 WebGL 中构建的 Unity 游戏放入 Laravel?
仅供参考,Unity WebGL 在构建时为我提供了这些文件: - 构建(文件夹) - 模板数据(文件夹) - index.html
让我说说我做了什么:
[我如何使用 XAMPP 测试游戏是否在 WebGL 中运行]
- 我在 WebGL 中构建了一个 Unity 游戏
- 我把建好的文件夹放在xampp/htdocs目录下
- 我运行xampp,然后开启apache服务器
- 我打开浏览器并转到 localhost/mygamefolder
- 它工作正常,但这是使用 xampp
现在我想要的是,如何使用 Laravel 框架托管的服务器测试游戏是否正常运行...
[我做了什么]
- 我把建好的文件夹放到mylaravelproject/public目录下
- 我从 Unity 构建的项目中复制了 index.html 文件的内容并将其粘贴到我的视图文件之一 (.blade.php)。
- 我根据我放置构建文件夹的路径更改了标记处的样式表和引用。
- 我打开终端然后运行'php artisan serve'
- 我打开浏览器并转到终端中显示的 IP 地址
- 我转到了我放置游戏的页面,但是游戏没有加载。 (仅限游戏,我放置的导航栏和按钮等其他功能正常)
- 我打开控制台,它说:
- “未捕获的引用错误:未定义 UnityLoader
- "Failed to load resource: the server responded with a status of 404 (Not Found)" 在 demo: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>
想通了:
当您使用 WebGL 构建 Unity 游戏时,Unity 将提供以下文件:
- index.html
- 构建(文件夹)
- TemplateData(文件夹)
- 将index.html复制到resources/views文件夹中,并将"index.html"的扩展名改为"index.blade.php"
- 打开 Laravel 项目中的 public 文件夹,复制并粘贴 Build 和 TemplateData 文件夹。
- 转到 routes/web。php,添加将路由到 index.blade.php 的控制器。
4.你可以用按钮或任何你喜欢的东西来测试它。
完成,现在可以正常使用了。您甚至可以将 Laravel 内容放在 index.blade.php 中,与您的导航栏或任何您喜欢的内容统一。
另外,认证会话也可以正常通过