0
我搜索了互联网,但没有找到适合此问题的正确答案。我注意到很多人都在问同样的想法。Three.js DDS Json紫外线贴图问题
我有一个从3D max导出的包含UV信息的JSON文件。 我试图加载应用到Three.js中的DDS图像的JSON文件。 (使用THREE.ImageUtils.loadCompressedTexture) DDS图像是从Photoshop中导出的。
图像被加载到对象,但它被拉伸(我认为这是一个事实,即DDS文件不是长方形了,因为它包含几个的贴图引起的)。
如何判断three.js图像是否是DDS文件?
预先感谢您。
我已经放在一起现场演示。这里的链接:http://aeche.eu/DDS/DDS.html 你可以看到正确使用左侧的JPG文件,并在右侧的DDS文件。
这里的原始JPG图片:http://aeche.eu/DDS/art/cubeJPG.jpg
下面是使用DDS文件立方体代码:
var map1 = new THREE.ImageUtils.loadCompressedTexture('art/cubeDDS.dds');
{
jsonLoader.load("art/cube2.js", addCubeDDS);
function addCubeDDS(geometry, materials) {
var material = new THREE.MeshPhongMaterial({map: map1});
cube1 = new THREE.Mesh(geometry, material);
cube1.position.x = 66;
scene.add(cube1);
}
我想的jsfiddle或其他现场演示将有助于特别是在你的情况我 – yaku
没有看到任何“伸展”。我确实看到黑色的脸。我相信这是因为嵌入式DDS mipmap是颠倒的(或者在three.js中存在一个bug)。你是什么意思“告诉three.js该图像是一个DDS文件”? – WestLangley