Three.js есть способ адаптировать геометрию к текстуре - PullRequest
1 голос
/ 16 марта 2019

Я работаю над проектом в Three.js, и мне нужно, чтобы несколько изображений плавали в трехмерном пространстве. Поэтому я начал просто использовать эти изображения в качестве текстур на плоскостях. Тем не менее, изображения имеют разную высоту и ширину, поэтому мне просто интересно, есть ли способ заставить плоскость адаптироваться к размеру текстур. Или быть пропорциональным с этим.

Возможно, есть простой способ сделать это, но я ничего не нашел. Может кто-нибудь из вас может мне помочь или сказать, чтобы я прекратил его искать?

1 Ответ

1 голос
/ 16 марта 2019

При загрузке текстуры вы можете проверить ее размер, а затем создать плоскость для размещения с правильным соотношением ширины / высоты:

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

} );
...