【问题标题】:How do I run a local Unity WebGL (file:// url) build?如何运行本地 Unity WebGL (file:// url) 构建?
【发布时间】:2020-10-12 12:33:34
【问题描述】:

多个浏览器(Chrome、Firefox、Internet Explorer)在尝试打开本地 Unity WebGL 构建时会出现以下错误:

您的浏览器似乎不支持从 file:// url 运行 Unity WebGL 内容。请将其上传到 http 服务器,或尝试其他浏览器。

Microsoft Edge 能够运行它,但我想知道是否可以更改任何设置以使其在 Chrome/Firefox/其他浏览器上运行。

【问题讨论】:

  • 这是一个有趣的问题,因为 WebGL 可以替代 Flash,但如果不能只打开一个文件,它至少会变得乏味并限制其潜力
  • Edge 现在不支持

标签: unity3d unity-webgl


【解决方案1】:

只需打开您的终端并进入您的目录(HTML 文件所在的位置),然后使用以下命令之一启动服务器。

python -m CGIHTTPServer 8360
python -m http.server --cgi 8360
python3 -m http.server --cgi 8360

这将为您打开端口。

然后将浏览器指向 http://localhost:8360/YOURFILENAME.html 默认的通常是 index.html ;)

【讨论】:

  • 它说没有安装 CGIHTTPServer。
  • 为什么不安装它
  • 不再需要 cgi 参数。 python -m http.server <portNum> 对我来说很好用,不过我通常会添加 -u 参数,以便在运行时看到输出。 (使用 Python v3.9.2)
【解决方案2】:

在本地运行 Unity-WebGL 应用程序的正确方法是使用简单的服务器。

即使 Unity 本身作为小型 Web 服务器运行,您也可以从编辑器运行 WebGL 构建。

Here's oneHere's anotherhere's a whole list others

关闭浏览器安全性与关闭病毒扫描程序或防火墙一样糟糕。不要这样做。尤其是当正确的方法如此微不足道时。

【讨论】:

  • * “正确”的方式 - 在那里,为你解决了这个问题。 ¬_¬
  • 像魅力一样工作!
【解决方案3】:

这些说明在Dr. Tim Chamillard's game development course:

Firefox(推荐用于运行 WebGL 的浏览器)

  1. 在导航栏中输入 about:config
  2. 搜索 security.fileuri.strict_origin_policy 参数
  3. 单击该参数将其更改为 false

  1. 如果您没有 Chrome 的快捷方式,请在桌面上添加一个快捷方式
  2. 右键单击快捷方式并选择属性
  3. 选择Target文本框,走到最后,加个空格,加上--allow-file-access-from-files
  4. 在浏览器打开时,双击 WebGL 构建的索引 html 文件并复制导航栏中的 URL
  5. 关闭浏览器
  6. 使用快捷方式启动浏览器,粘贴您在第 4 步中复制的 URL,然后按 Enter 键

Microsoft Edge

无需做任何事情,WebGL 构建工作正常。

Safari

  1. 在高级→“在菜单栏中显示开发菜单”下使用首选项面板启用开发菜单
  2. 从 Safari 的“开发”菜单中,选择“禁用本地文件限制”

作为一般规则,在进行这些更改后重新启动您的计算机,因为浏览器需要它,而有些则不需要。

【讨论】:

  • 这是一个可怕的建议。关闭您的安全意味着浏览任何网站都可以读取您的硬盘的网络。
  • 如果它让我工作,这几乎不可怕。显然,您应该知道您正在更改什么,但特别是在 Chrome 的情况下(可以使用单独的实例来测试 WebGL 和常规互联网使用),这是一个非常方便的建议。比起安装本地网络服务器,我更愿意这样做。
猜你喜欢
  • 2021-03-13
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
相关资源
最近更新 更多