【发布时间】:2019-07-31 07:42:03
【问题描述】:
我正在尝试使用 Angular 7 在 Aframe 中显示 gltf 模型。
`<a-scene embedded="" cursor="rayOrigin: mouse">
<a-assets>
<a-asset-item id="bedroom" src="../../assets/models/homedesign/scene.gltf"></a-asset-item>
</a-assets>
<a-entity id="camera" camera="" position="0 0 0" look-controls wasd-controls>
</a-entity>
<a-entity id="room" gltf-model="#bedroom" position="-14 -30 -125" rotation= "0 160 0" material-map="map: map">
</a-entity>
</a-scene>
`
但模型没有显示,我在控制台日志中看到以下消息 -
core:propertyTypes:warn "#bedroom" 资产未找到。
提到的路径是正确的,因为我可以在代码编辑器中从 html 打开 gltf 文件。
此外,“a-box”等所有其他原语都会显示出来。
这是我的应用程序文件夹结构的屏幕截图 -
html 位于 homedecor.component.html 中,而 gltf 文件位于 homedesign 文件夹中。我使用 ng serve 启动服务器
有人可以帮忙看看吗?
谢谢
【问题讨论】:
-
这可能与您的构建系统有关。网页包?代码看起来不错,但在这里很难诊断出构建问题...
-
感谢您抽空唐。我没有使用 webpack。我只是做 ng build 来构建 dist 文件夹。我可以看到在 dist 的资产文件夹中的文件夹中创建的 gltf/bin 文件。然后我使用 ng serve 在浏览器上提供它。我注意到的一件事是包含 gltf/bin 文件的文件夹没有显示在 Chrome 开发人员门户的“源”选项卡下。完全不知道为什么会这样
-
我发现 ng serve 内部使用了 webpack。此外, ng serve 不会从 /dist 而是从内存中提供文件夹。此时,我无法弄清楚是否需要修改 webpack 配置才能提供 gltf 文件,如果是,那么需要进行哪些修改?我也尝试使用 angular-http-server 来提供我的文件,但仍然存在同样的问题。会不会是文件类型的原因?
标签: angular angular7 aframe gltf