我有一个统一的webgl项目和一个asp.net mvc项目。
我需要在视图中显示webgl内容。
我想到的第一件事就是简单地复制index.html那个统一给了我,然后将其粘贴到.cshtml文件中并更改地址。但是,当我这样做时,会弹出错误的标题错误。
是我做错了什么还是做错了什么。我应该完全改变我的方法吗?
我也将这些文件扩展名添加到了web.config
<staticContent>
<!-- Unity 5.x -->
<remove fileExtension=".mem" />
<mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
<remove fileExtension=".data" />
<mimeMap fileExtension=".data" mimeType="application/octet-stream" />
<remove fileExtension=".memgz" />
<mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
<remove fileExtension=".datagz" />
<mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
<remove fileExtension=".unity3dgz" />
<mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
<remove fileExtension=".jsgz" />
<mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
</staticContent>
基本上,您将所有文件引用复制到您的视图,当然也将画布容器与初始化它的代码一起复制。
添加带有css样式文件的所有内容,
@Styles.Render("~/webgl/TemplateData/style.css")
以及所有带有]的js文件>
@Scripts.Render("~/webgl/TemplateData/UnityProgress.js");
所以您会有类似的东西
@{ ViewBag.Title = "Stage"; @Styles.Render("~/webgl/TemplateData/style.css") @Scripts.Render("~/webgl/TemplateData/UnityProgress.js"); @Scripts.Render("~/webgl/Build/UnityLoader.js"); } <h2>Stage</h2> <script> var gameInstance = UnityLoader.instantiate("gameContainer", "../webgl/Build/Builds.json", {onProgress: UnityProgress}); </script> <div class="webgl-content"> <div id="gameContainer" style="width: 960px; height: 600px"></div> <div class="footer"> <div class="webgl-logo"></div> <div class="fullscreen" onclick="gameInstance.SetFullscreen(1)"></div> <div class="title">Figurines</div> </div> </div>
不要忘记将unityweb mime类型添加到web.config
<system.webServer>
<staticContent>
<remove fileExtension=".unityweb" />
<mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>