我正在尝试将位图纹理材质放置在从 three.js ShapeGeometry 创建的网格上。
几何图形是一个简单的八边形(我最终会添加曲线使其成为圆角矩形)。
Mesh 创建并显示得很好,除了位图纹理显示为四个巨大的正方形,这似乎是加载图像的超级低分辨率版本。
这是它的样子:
(加载的图片实际上是一张 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);
谢谢!!!