vue.js - 使用 A-Frame 和 Vue.js 加载 3D 模型
问题描述
我正在学习围绕 A-Frame 的方法,我希望能够与 Vue.JS 一起使用。我遇到的一个问题是,将这两个模型一起使用时,我似乎无法加载任何 3D 模型。我试过.glb
文件和.obj
文件。
使用纯 HTML 时,我可以像这样加载资产。
...
<body>
<a-scene>
<a-assets>
<a-asset-item id="apple-obj" src="assets/Apple_Green.obj"></a-asset-item>
<a-asset-item id="apple-mtl" src="assets/Apple_Green.mtl"></a-asset-item>
</a-assets>
<a-entity obj-model="obj: #apple-obj; mtl: #apple-mtl" position="0 1.5 -4"></a-entity>
</a-scene>
</body>
...
这将按预期加载资产。
当我在 Vue 组件中尝试类似的东西时,我最终a-entity
在我的场景中出现了一个空白,没有模型出现。这是代码。
<template>
<div class="sandbox">
<a-scene>
<a-assets>
<a-asset-item id="apple-obj" src="../assets/Apple_Green.obj"></a-asset-item>
<a-asset-item id="apple-mtl" src="../assets/Apple_Green.mtl"></a-asset-item>
<audio id="grey" src="../assets/Gray_noise.mp3"></audio>
</a-assets>
<a-entity obj-model="obj: #apple-obj; mtl: #apple-mtl" position="0 1.5 -4"></a-entity>
<a-sound position="0 -1 -1" src="#grey" autoplay="true" loop="true" on="true"></a-sound>
<a-sky color="#fff"></a-sky>
</a-scene>
</div>
</template>
我的第一个猜测是我弄乱了路径,但路径是有效的。我能够加载其他数据类型,例如音频文件和图像,但不能加载 3D 模型。
我对 Vue 还是很陌生,但我认为这与 Vue 加载资产的方式有关。我将 Vue CLI 与一个新项目一起使用,对默认设置的更改很少(我刚刚添加了路由器和 VueX)。
解决方案
推荐阅读
- python - 使用 Python 从 Windows 开始菜单获取可执行路径
- batch-file - 尝试制作批处理文件以更快地离线启动蒸汽
- eclipse - 无法连接到 Eclipse 市场 Eclipse 霓虹灯
- javascript - Tone.PitchShift 和 Howler.js 问题
- javascript - 为什么 onmouseover 不在正确的模态索引上调用函数
- css - 如何在 Firefox 94 中更改选择框选项悬停背景颜色?
- python - 如何在 Python 中将列表转换为字符串
- class - 将按钮绑定到 Dice 类
- python - 按位置解包 UTF-8 编码的行
- amazon-web-services - 将 Google Colab 连接到 Amazon EC2 实例