如何在 Blazor 的 Unity 中打开为 WebGL 编译的游戏?
How do I open a game compiled for WebGL in Unity in Blazor?
我已经创建了一个 Blazor Server 项目。在其中,我想将我在 Unity3d 中创建的 WebGL 游戏放在一个单独的页面上。结果照样做了,还是不行。虽然,我认为,考虑了所有因素,但我看到 WebGL 游戏中的代码标记 index.html 与其他示例不同,而且我还没有找到一行代码:
unityInstance = UnityLoader.instantiate("unityContainer", "unity/WebGL/Build/WebGL.loader.js", { onProgress: UnityProgress });
我想我是对的:
<script src="~/unity/WebGL/Build/WebGL.loader.js"></script>
@*<script src="~/unity/WebGL/Build/WebGL.framework.js.gz"></script>*@
<script src="~/unity/WebGL/run.js"></script>
我相信我写的 mime 类型是正确的:
var provider = new FileExtensionContentTypeProvider();
provider.Mappings.Remove(".data.gz");
provider.Mappings[".data.gz"] = "application/octet-stream";
provider.Mappings.Remove(".wasm.gz");
provider.Mappings[".wasm.gz"] = "application/wasm";
provider.Mappings.Remove(".js.gz");
provider.Mappings[".js.gz"] = "application/javascript";
provider.Mappings.Remove(".symbols.json.gz");
provider.Mappings[".symbols.json.gz"] = "application/octet-stream";
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "unity", "WebGL", "Build")),
RequestPath = "/Build",
ContentTypeProvider = provider
});
app.UseStaticFiles();
JavaScript 控制台中的错误为:
UnityLoader is not defined
如果有兴趣,这是我的整个项目:
https://github.com/EgorPavlovich/FPS.Servers.Test
我必须使用游戏构建中的 index.html 文件
我已经创建了一个 Blazor Server 项目。在其中,我想将我在 Unity3d 中创建的 WebGL 游戏放在一个单独的页面上。结果照样做了,还是不行。虽然,我认为,考虑了所有因素,但我看到 WebGL 游戏中的代码标记 index.html 与其他示例不同,而且我还没有找到一行代码:
unityInstance = UnityLoader.instantiate("unityContainer", "unity/WebGL/Build/WebGL.loader.js", { onProgress: UnityProgress });
我想我是对的:
<script src="~/unity/WebGL/Build/WebGL.loader.js"></script>
@*<script src="~/unity/WebGL/Build/WebGL.framework.js.gz"></script>*@
<script src="~/unity/WebGL/run.js"></script>
我相信我写的 mime 类型是正确的:
var provider = new FileExtensionContentTypeProvider();
provider.Mappings.Remove(".data.gz");
provider.Mappings[".data.gz"] = "application/octet-stream";
provider.Mappings.Remove(".wasm.gz");
provider.Mappings[".wasm.gz"] = "application/wasm";
provider.Mappings.Remove(".js.gz");
provider.Mappings[".js.gz"] = "application/javascript";
provider.Mappings.Remove(".symbols.json.gz");
provider.Mappings[".symbols.json.gz"] = "application/octet-stream";
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "unity", "WebGL", "Build")),
RequestPath = "/Build",
ContentTypeProvider = provider
});
app.UseStaticFiles();
JavaScript 控制台中的错误为:
UnityLoader is not defined
如果有兴趣,这是我的整个项目:
https://github.com/EgorPavlovich/FPS.Servers.Test
我必须使用游戏构建中的 index.html 文件