纹理框架对象

Texture Aframe Object

我正在加载波前格式的 Aframe 对象,但纹理仍然不可见,这意味着该对象显示为全黑:

<!doctype html>
  <head>
  <meta charset="utf-8">
    <script src="https://aframe.io/releases/0.3.2/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-assets>
        <a-asset-item id="test-obj" src="test.obj"></a-asset-item>
        <a-asset-item id="test-mtl" src="test.mtl"></a-asset-item>
      </a-assets>
      <a-entity position="1.75 0 1.2" rotation="0 28 0">
        <a-camera near="0.1" user-height="0"></a-camera>
      </a-entity>
      <a-obj-model src="#test-obj" mtl="#test-mtl" scale="0.1 0.1 0.1"></a-obj-model>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      <a-sky color="#ECECEC"></a-sky>
    </a-scene>
  </body>
</html>

如何让这个模型的纹理可见?

如果对象是在 Magica Voxel 或类似的编辑器中创建的,那么这里有一个可能有效的解决方案。

在文本编辑器中打开您的 .mtl 文件,查找以 map_Kd 开头的行。紧随其后的是另一个文件的名称,例如 "test.png".

该文件还必须与您的 .mtl 和 .obj 文件位于同一目录中,因此请确保包含它。它是将颜色映射到对象位置的纹理贴图。

可在此处找到有关 Wavefront .mtl 文件格式的更多信息: https://people.cs.clemson.edu/~dhouse/courses/405/docs/brief-mtl-file-format.html