纹理Aframe对象

时间:2016-12-05 21:06:25

标签: aframe wavefront

我正在以波前格式加载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>

如何使此模型的纹理可见?

1 个答案:

答案 0 :(得分:1)

如果对象是在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