我正在尝试在由three.js ShapeGeometry创建的网格上放置位图纹理材质。
这个几何体是一个简单的八边形(最终将添加曲线使其成为圆角矩形)。
网格已经创建并正常显示,但是位图纹理显示为四个巨大的正方形,似乎是所加载图像的超级低分辨率版本。
它看起来像这样:
(实际加载的图像是一张512x512的法国国旗图片)
如何让纹理使用所加载图像的完整分辨率?(顺便说一下,当应用于由THREE.PlaneGeometry创建的网格时,此纹理运作良好。)
以下是我的代码...
var shape = new THREE.Shape();
shape.moveTo(-width/2 + radius, height/2);
shape.lineTo(width/2 - radius, height/2);
shape.lineTo(width/2, height/2 - radius);
shape.lineTo(width/2, -height/2 + radius);
shape.lineTo(width/2 - radius, -height/2);
shape.lineTo(-width/2 + radius, -height/2);
shape.lineTo(-width/2, -height/2 + radius);
shape.lineTo(-width/2, height/2 - radius);
shape.lineTo(-width/2 + radius, height/2);
var myGeometry = new THREE.ShapeGeometry( shape );
var myMesh = new THREE.Mesh(myGeometry, myMaterial);
Thanks!!!