将PlaneGeometry与纹理图像大小匹配

时间:2014-03-12 20:58:49

标签: javascript three.js textures

我有一个PNG图像作为Three.js planeGeometry上的纹理,并且它被拉伸以适合大于原始图像大小的几何体。有没有办法自动调整几何图形纹理的大小 - 或者至少允许图像不在超大几何图形上拉伸?

一种解决方案是在加载时保存图像的大小,并使用这些测量来创建几何图形,但我想知道是否有比这更直接或更有效的解决方案?谢谢!

1 个答案:

答案 0 :(得分:4)

诀窍是创建几何1x1尺寸,然后缩放:

var geometry = new THREE.PlaneGeometry( 1, 1 );
var mesh = new THREE.Mesh( geometry, material );
mesh.scale.x = image.width;
mesh.scale.y = image.height;