我在Three.js的一个项目中工作,我需要将多个图像浮动到3D空间中。所以我开始简单地将这些图像用作平面上的纹理。但是,图像具有不同的高度和宽度,所以我只是想知道是否有办法使平面适应纹理的大小。或与之成正比。
可能有一种简单的方法可以做到,但我没有找到任何东西。愿你们其中一个人可以帮助我,或者告诉我不要再寻找它了吗?
加载纹理时,您可以检查其大小,然后创建平面以使用正确的宽高比来托管它:
var loader = new THREE.TextureLoader();
var texture = loader.load( "./img.png", function ( tex ) {
console.log( tex.image.width, tex.image.height );
// here you can create a plane based on width/height image linear proportion
} );