为什么我的模型没有加载 A-Frame?

Why is my model not loading with A-Frame?

我有一个 COLLADA、OBJ/MTL 等 A 型框架模型 <a-collada-model><a-obj-model>

当我将它添加到场景中时,我没有看到任何东西。这是怎么回事?

使用网络服务器:

确保您使用的是本地网络服务器或托管网络服务器,其 CORS 具有正确的 MIME 类型。而不是尝试使用文件系统。

检查 CORS:

如果您从不同的域加载资产,您将需要在资产上设置 cross-origin 资源共享 (CORS) headers。

对于某些选项,GitHub 页面上托管的所有资源都使用 CORS headers 提供。我们强烈推荐 GitHub Pages 作为简单的部署平台。

或者,您也可以使用 A-Frame + Uploadcare Uploader 上传资产,该服务将有助于为我们的资产提供 CORS。 (目前不工作)。

这是针对 OBJ 的一个问题,只有 A-Frame 的最新版本在 MTLLoader 上启用了 0.3.0 之前的 cross-origin,所以在 0.3.0 之前可能有效也可能无效。不确定。

检查比例:

与相机相比,模型的比例通常非常非常大。它们可能比用户大 1000 倍,以至于用户在模型内部并且看不到它。试着缩小它 scale=".001 .001 .001" 看看它在哪里。

0.3.0 附带的 A-Frame Inspector 对此有很大帮助。当它出现时,按 ctrl+shift+i 打开它。

如果缺少纹理,请检查您的路径:

您通常可以判断图片是否出现 404。如果使用带有单独 material 文件的模型,例如 MTL,它们通常通过相对路径引用图像纹理。通过读取图像路径的 MTL 文件,确保图像位于与 MTL 文件相关的正确预期位置。还要确保他们的名字正确。

如果渲染为黑色,将纹理转换为使用图像:

Why does my OBJ / MTL model material show up as black?