出现在织地不很细飞机上的灰色线

时间:2015-02-28 06:47:35

标签: three.js

我对three.js相当新。我一直在玩通过操纵平面的顶点来构建粗糙的地形对象。我还将其UV映射到方形纹理的图集。

我遇到了一个问题,我的灰色线条在一个方向上穿过飞机。我之前看到过类似的问题,有些人提到CanvasRenderer存在问题,overdraw: true是合适的修复方法。我正在使用WebGL渲染器(我试过overdraw: true但是没有任何效果)。

当我剪掉我的紫外线操作时,线条会消失。下面是我用来操作UV的代码,其中biomeTerrains[biome][#]返回Vector2值。

for (var y = 0;y < rowLength-1;y++) {
    for (var x = 0;x < rowLength-1;x++) {
        var i = (x + (y * (rowLength-1))) * 2;
        var biome = chunk.cells[x+','+y].biome;
        geometry.faceVertexUvs[0][i] = [biomeTerrains[biome][0],biomeTerrains[biome][1],biomeTerrains[biome][3]];
        geometry.faceVertexUvs[0][i+1] = [biomeTerrains[biome][1],biomeTerrains[biome][2],biomeTerrains[biome][3]];
    }
}

这是生成的灰线的屏幕截图:http://i.imgur.com/r0BGKpT.png

我很感激有关处理这个问题的任何想法或建议。

1 个答案:

答案 0 :(得分:0)

我睡着了,淋浴时我得到了解释。它不是一个神器问题,问题是我的UV坐标超出了他们想要的空间,因此线条是地图集中下一个纹理溢出的结果。我通过以小的任意量挤压UV来测试这个理论,并且线条消失了。不幸的是,这不是一个理想的解决方案,但我应该能够根据这些知识找出更准确的东西。