3D 模型不在 ASP.NET 带有 Stl 查看器 Javascript 插件的核心 MVC 网页中呈现

3D model does not render in ASP.NET Core MVC webpage with Stl Viewer Javascript PlugIn

我使用他们的远程托管选项进行了此操作,但速度相当慢。我浪费了很多时间试图让 JS 插件工作。

我无法在 div 中显示 3d 模型,如他们的指南所示:https://www.viewstl.com/plugin/#usage .

我的页面上有 div 容器,因此:

<div id="stl_cont" style="various color and size stuff">Rendering 3D... Please Wait</div>

我在 wwwroot 的 js 文件夹中有所有的 js 文件,所以我有这个:

<script src="~/js/stl_viewer.min.js"></script>

(如果我查看源代码,我可以点击 link 到 min.js 并且它会显示在浏览器中,所以我假设路径也是有效的)

接下来我有这个代码:

<script>
    var stl_viewer = new StlViewer(document.getElementById("stl_cont"),{models:[{ id: 0, filename: "https://www.exploredungeons.com/3dmodels/012/filename.stl", load_three_files: "js" }]});
</script>

我可以查看源代码并单击 link 找到 STL 文件,它会下载,所以路径似乎是正确的。

我是 运行 ASP.NET CORE MVC 如果有帮助的话。当我 运行 并指向远程服务时,一切正常。我无法弄清楚缺少什么。

当我将所有相关的 js 文件从 wwwroot/js 删除到 wwwroot 文件夹时它起作用 direcltly.And 更改为使用

<script src="/stl_viewer.min.js"></script>

更新:

我所有的脚本文件和STL文件都直接在wwwroot文件夹下。

查看:

<div id="stl_cont" style="width:500px;height:500px;margin:0 auto;"></div>
@section Scripts{
    <script src="/stl_viewer.min.js"></script>
    <script>
    var stl_viewer = new StlViewer(document.getElementById("stl_cont"), { models: [{ id: 0, filename: "Sheep_1.stl" }] });
</script>
}

找到答案了。

Stl Viewer 希望所有的 js 文件与使用它的页面位于同一文件夹中,这对于 MVC 应用程序是不切实际的,因此它们还提供了一个参数 LOAD_THREE_FILES,您可以使用该参数指定它需要的js文件的位置。