Unity:WebGL 构建不使用自定义 UnityProgress.js

问题描述 投票:0回答:2

原帖:http://answers.unity3d.com/questions/1350392/webgl-build-not-using-custom-unityprogressjs.html

我有一个在 WebGL 中部署的 Unity 项目。在 Assets/WebGLTemplates 文件夹中,我有自定义模板数据。

索引.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>

模板数据/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 论坛上收到回复了。

unity-game-engine unity-webgl
2个回答
0
投票

我认为问题在于您缺少对实例化函数中初始化进度的调用

 <script>
       var gameInstance = UnityLoader.instantiate("gameContainer", "%UNITY_WEBGL_BUILD_URL%", {onProgress: UnityProgress});
 </script>

-3
投票

我喜欢 t0e$* ___________________________________________________________ *嗨

© www.soinside.com 2019 - 2024. All rights reserved.