2014-05-03 19 views

Trả lời

32

Để có được một cái nhìn isometric, bạn có thể sử dụng một OrthographicCamera. Sau đó, bạn cần đặt hướng của máy ảnh đúng cách. Có hai cách để làm điều đó:

Phương pháp 1 - sử dụng 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 

phương pháp 2 - thiết lập các thành phần x của 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)); 

Isometric View Using Orthographic Camera

fiddle: http://jsfiddle.net/q3m2kh5q/

th ree.js r.73

+0

Nếu bạn đặt vị trí máy ảnh thành 100 trên trục Z thì bạn sẽ duy trì sẽ ngăn việc cắt lưới bằng mặt phẳng kẹp gần trên máy ảnh. Để giữ cùng một góc nhìn isometric mặc dù bạn cũng sẽ cần phải cập nhật các vị trí X Y để phù hợp. Dòng 44 'camera.position.set (100, 100, 100);' –

1

bạn cần phải sử dụng quỹ đạo và theo dõi kiểm soát, như ở đây:

http://codepen.io/nireno/pen/cAoGI

Edit:

bạn cũng có thể xem xét sử dụng máy ảnh ortho bài này ở đây có thể giúp bạn:

Three.js - Orthographic camera

ví dụ có thể xem tại đây:

http://threejs.org/examples/canvas_camera_orthographic.html

và đây là một liên kết (Udacity) giải thích việc sử dụng:

https://www.udacity.com/course/viewer#!/c-cs291/l-158750187/m-169414761

+0

Tôi muốn một góc cố định chứ không phải điều khiển. –

+0

vâng tôi biết, các điều khiển sẽ giúp bạn chỉ định góc bạn mong muốn, sau đó bạn có thể đặt máy ảnh theo góc bạn muốn. máy ảnh có rotationx, rotationy và rotationz, aslo positionx, positiony, và positionz – ProllyGeek

+0

Nó không thực sự giúp tôi bởi vì khi tôi gỡ lỗi xoay camera, nó nằm trong đối tượng Euler thay vì radian bình thường. –

Các vấn đề liên quan