原帖:http://answers.unity3d.com/questions/1350392/webgl-build-not-using-custom-unityprogressjs.html
我有一个我在WebGL中部署的Unity项目。在Assets / WebGLTemplates文件夹中,我有自定义模板数据。
的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_WEB_NAME%</title>
<link rel="stylesheet" href="TemplateData/style.css">
<script src="TemplateData/UnityProgress.js"></script>
<script src="%UNITY_WEBGL_LOADER_URL%"></script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "%UNITY_WEBGL_BUILD_URL%");
</script>
</head>
<body>
<div id="gameContainer" style="width: %UNITY_WIDTH%px; height: %UNITY_HEIGHT%px; margin: auto"></div>
</body>
</html>
TemplateData / UnityProgress.js
function UnityProgress(gameInstance, progress) {
if (!gameInstance.Module)
return;
if (!gameInstance.logo) {
gameInstance.logo = document.createElement("div");
console.log("Try it out");
//gameInstance.logo.className = "logo " + gameInstance.Module.splashScreenStyle;
//gameInstance.container.appendChild(gameInstance.logo);
}
...
麻烦的是,Unity识别自定义模板,但坚持使用自己的UnityLoader,它在加载器中完整地具有Unity徽标(自定义加载程序删除)。作为一种解决方法,我已将自定义模板插入Unity文件夹本身,并且它按预期工作。但是,我想在项目本身内管理模板文件(因此它与机器无关)。
我找不到关于TemplateData的任何文档,即使我觉得我错过了一些非常明显的东西......
...我在Unity论坛上已经收到回复约一个星期了。
答案 0 :(得分:0)
我认为问题在于你错过了在实例化函数中初始化进度的调用
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "%UNITY_WEBGL_BUILD_URL%", {onProgress: UnityProgress});
</script>