我正在以波前格式加载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>
如何使此模型的纹理可见?
答案 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