包含此页的版本:
不含此页的版本:
在模板的index.html文件,并使用createUnityInstance().
有关模板变量、JavaScript 宏和条件指令的信息,请参阅 Web 模板变量。
要添加自定义 Web 模板,请参阅添加自定义 Web 模板。
选择 Web 模板时,Unity 会解析模板并查找 JavaScript 宏和条件指令。
如果 JavaScript 变量符合以下条件,则 Unity 会将 JavaScript 变量视为自定义用户变量:
Unity 会自动将这些自定义用户变量添加到玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表窗。
例如,如果您想控制生成的index.html页面直接从“播放器设置”窗口中,首先需要修改<title>行的index.html在您的自定义模板中,如下所示:lang-html
<title>{{{ PAGE_TITLE }}}</title>
完成此作后,重新选择您的自定义模板。这将再次解析模板,并且“页面标题”字段将显示在“播放器设置”窗口的“分辨率和演示”> Web 模板部分中。
当您在此字段中输入文本并构建项目时,自定义变量PAGE_TITLE自动成为“页面标题”字段中的文本。
如果您想在宏中使用自定义整数或浮点变量,请使用parseInt()或parseFloat()宏中的 JavaScript 函数,用于预处理 Unity 编辑器提供的字符串值。这是因为自定义用户变量始终被分配一个字符串值。
注意:变量名称中的下划线字符在字段内显示为空格,以提高可读性。
这index.html包含加载构建所需的代码,并且应包含以下内容:
<canvas>元素。Unity 运行时使用<canvas>元素来呈现应用程序。var buildUrl = "Build";
var loaderUrl = buildUrl + "/{{{ LOADER_FILENAME }}}";
var script = document.createElement("script");
script.src = loaderUrl;
script.onload = () => {
// code for instantiating the build
};
document.body.appendChild(script);`
在此示例中,{{{ LOADER_FILENAME }}}在生成构建时由模板预处理器自动解析。
或者,您可以使用脚本标记下载构建加载程序,例如:lang-js
<script src="Build/{{{ LOADER_FILENAME }}}"></script>
createUnityInstance()函数,该函数在构建加载器脚本中定义。这createUnityInstance()函数创建内容的新实例。你可以这样使用它:lang-js
createUnityInstance(canvas, config, onProgress).then(onSuccess).catch(onError);
此函数返回一个Promise对象,其中:
| 对象 | 用 |
|---|---|
canvas |
Unity 运行时使用canvas对象来渲染游戏。 |
config |
这config对象包含构建配置,例如代码和数据 URL、产品和公司名称以及版本。有关配置定义的更多信息,请参阅 Web 模板构建配置和交互。 |
onProgress(progress) {...} |
Web 加载器调用onProgresscallback 对象。这progress参数onProgresscallback 将加载进度确定为 0.0 和 1.0 之间的值。 |
onSuccess(unityInstance) {...} |
这onSuccess在构建成功实例化后调用回调。创建的 Unity 实例对象作为参数提供。此对象可用于与构建进行交互。 |
onError(message) {...} |
这onError如果在构建实例化期间发生错误,则会调用回调。错误消息作为参数提供。 |
这createUnityInstance()函数在构建加载器脚本中定义,并且特定于实例化的构建。因此,如果您要在同一个 HTML 文档中嵌入两个或多个构建版本,请确保createUnityInstance()函数从onload相应的构建加载器脚本的回调。有关 Unity Web 加载程序的更多信息,请参阅 Web Build 文件夹和 Web 模板结构和实例化。