Version: Unity 6.0 (6000.0)
语言 : 中文
Web 模板变量
部署 Web 应用程序

Web 模板构建配置和交互

使用 Web 模板配置 Web 构建并与之交互。

有关模板变量、JavaScript 宏和条件指令的信息,请参阅 Web 模板变量

构建配置

配置对象包含构建配置,而构建配置由代码和数据 URL、产品名称、公司名称和版本组成。可以使用以下代码定义它:

var buildUrl = "Build";
var config = {
  dataUrl: buildUrl + "/{{{ DATA_FILENAME }}}",
  frameworkUrl: buildUrl + "/{{{ FRAMEWORK_FILENAME }}}",
  codeUrl: buildUrl + "/{{{ CODE_FILENAME }}}",
#if MEMORY_FILENAME
  memoryUrl: buildUrl + "/{{{ MEMORY_FILENAME }}}",
#endif
#if SYMBOLS_FILENAME
  symbolsUrl: buildUrl + "/{{{ SYMBOLS_FILENAME }}}",
#endif
  streamingAssetsUrl: "StreamingAssets",
  companyName: "{{{ COMPANY_NAME }}}",
  productName: "{{{ PRODUCT_NAME }}}",
  productVersion: "{{{ PRODUCT_VERSION }}}",
  // additional options can go here, see below
};

在上面的示例中,构建文件夹 URL 存储为名为 buildUrl 的单独变量。在不知道嵌入页面与托管服务器上的构建文件夹之间关系的情况下,这十分有用。它使您能够在其他 HTML 文档中重用嵌入代码。何时使用此方法的一个示例是将 Build 文件夹移动到服务器上的另一个位置的情况。可以在嵌入页面中调整 buildUrl 变量的值,并且可以使用相同的嵌入代码。这也适用于 StreamingAssets 文件夹 (streamingAssetsUrl)。

除了在构建上设置 URL 和字段名称之外,还可以在 config 对象上设置以下属性。

属性 用途
matchWebGLToCanvasSize: false 默认情况下(如果设置为 true 或 unset),Unity 会将__ WebGL__一款 JavaScript API,可在 Web 浏览器中渲染 2D 和 3D 图形。Unity WebGL 构建选项让 Unity 能够将内容发布为 JavaScript 程序,而这些程序会使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。更多信息
See in Glossary
画布渲染目标大小与画布元素的文档对象模型 (DOM) 大小(按 window.devicePixelRatio 缩放)同步。如果要手动设置画布 DOM 大小和 WebGL 渲染目标大小,请将此属性设置为 false。
devicePixelRatio: <number> 此字段允许强制渲染页面的 DPI 缩放比例。设置为 1 可强制渲染到“标准 DPI”(或非 Retina DPI),这有助于提高低端移动设备的性能。默认情况下,此字段未设置,这意味着渲染的页面使用浏览器 DPR 缩放比率,从而产生高 DPI 渲染。
autoSyncPersistentDataPath: true 如果设置为 true,Unity Application.persistentDataPath 目录中的所有文件写入都会自动保留,以便在用户下次访问网站时记住内容。如果取消设置(或设置为 false),必须通过调用 JS_FileSystem_Sync() JavaScript 函数在 Application.persistentDataPath 目录中手动同步文件修改。

构建交互

构建成功实例化后,Promise 对象的执行处理程序回调会接收新创建的 Unity 实例对象(以参数形式)。要与构建交互,请调用 Unity 实例的以下方法:

方法 用途
unityInstance.SetFullscreen(fullscreen) SetFullscreen 方法切换全屏模式。此方法不返回值。注意:需要使用用户交互(如按钮或按键)来激活全屏模式。无法在启动时激活全屏模式。
- 要激活全屏模式,请将 fullscreen 参数设置为 1。
- 要退出全屏模式,请将 fullscreen 参数设置为 0。
unityInstance.SendMessage(objectName, methodName, value) SendMessage 方法向游戏对象发送消息。此方法不返回值。
- objectName 是场景中对象的名称。
- methodName 是脚本中方法的名称,当前附加到该对象。
- value 可以是字符串、数字,也可以为空。
unityInstance.Quit().then(onQuit) 使用 Quit() 方法退出运行时并清理 Unity 实例使用的内存。此方法返回一个 Promise 对象。注意:某些浏览器加载项会干扰垃圾回收器在调用 unityInstance.Quit() 后从网页上回收 Unity 内容的能力。禁用浏览器加载项可解决问题或参阅 Mozilla 文档了解 <iframe>:用于退出和卸载启用了加载项的 Unity 应用程序的内联帧元素
- 在构建运行时退出后调用 onQuit 回调。

其他资源

Web 模板变量
部署 Web 应用程序