Come si imposta l'angolo della fotocamera su qualcosa come isometric projection?Fotocamera isometrica con THREE.js
risposta
Per ottenere una vista isometrica, è possibile utilizzare un OrthographicCamera
. È quindi necessario impostare correttamente l'orientamento della fotocamera. Ci sono due modi per farlo:
Metodo 1 - utilizzare camera.lookAt()
var aspect = window.innerWidth/window.innerHeight;
var d = 20;
camera = new THREE.OrthographicCamera(- d * aspect, d * aspect, d, - d, 1, 1000);
camera.position.set(20, 20, 20); // all components equal
camera.lookAt(scene.position); // or the origin
metodo 2 - impostare la x-componente della camera.rotation
camera.position.set(20, 20, 20);
camera.rotation.order = 'YXZ';
camera.rotation.y = - Math.PI/4;
camera.rotation.x = Math.atan(- 1/Math.sqrt(2));
violino: http://jsfiddle.net/q3m2kh5q/
th ree.js r.73
è necessario utilizzare l'orbita e tenere traccia dei controlli, come qui:
http://codepen.io/nireno/pen/cAoGI
Edit:
anche si può considerare l'uso della telecamera orto questo post qui possono aiutare:
Three.js - Orthographic camera
un esempio può essere visto qui:
http://threejs.org/examples/canvas_camera_orthographic.html
e qui è un link (Udacity) che spiega l'uso:
https://www.udacity.com/course/viewer#!/c-cs291/l-158750187/m-169414761
Voglio un angolo fisso, non controlli. –
sì, lo so, i controlli ti aiuteranno a specificare l'angolo che desideri, dopo di che potrai impostare la videocamera sull'angolazione desiderata. la camera ha rotazionex, rotazione e rotazionez, come positionx, positiony e positionz – ProllyGeek
In realtà non mi aiuta perché quando eseguo il debug della rotazione della telecamera, è in oggetto Eulero anziché normale radiante. –
Se si imposta la posizione della telecamera su 100 sull'asse Z, si manterrà che impedirà di tagliare la griglia con il piano di clip vicino sulla fotocamera. Per mantenere la stessa vista isometrica, dovrai anche aggiornare le posizioni di X Y in modo che corrispondano. Riga 44 'camera.position.set (100, 100, 100);' –