Three.js – Larghezza di visualizzazione

C’è un modo per scoprire la larghezza di una porzione renderizzata della scena?

Ad esempio, se abbiamo una mesh di larghezza 100, ma renderizzata con un certo livello di zoom … come posso calcolare la larghezza della porzione della mesh che viene visualizzata sullo schermo?

Devi essere preciso qui.

È ansible calcolare la regione rettangular visibile in base al campo visivo della camera.fov , camera.fov e una distanza determinata, dist , dalla fotocamera.

Poiché l’object presumibilmente ha profondità, devi scegliere un piano attraverso la mesh e fare il calcolo a quella distanza.

Ecco come calcolare l’ height e la width visibili per una distanza determinata dalla telecamera.

 var vFOV = THREE.Math.degToRad( camera.fov ); // convert vertical fov to radians var height = 2 * Math.tan( vFOV / 2 ) * dist; // visible height var width = height * camera.aspect; // visible width 

three.js r.87