자바스크립트/threeJS

[three.js] camera.position.set() / camera.rotation.set()

KIMJAVAN 2023. 8. 11. 14:06
728x90

1. camera.position.set(x, y, z)

2. camera.rotation.set(z, y, x)

 

카메라 position / rotation의 set값에 들어가는 값이 각각 다르다 

camera.position.set은 

x (좌우)

y (상하)

z (앞뒤)
값이지만

 

camera.rotation.set은

z (yaw / heading) : z축을 기준으로 좌우방향으로의 회전 
y (pitch / attitude) : y축을 기준으로 상하방향으로 회전

x (roll / bank) : x축을 기준으로 차체나 물체의 좌우기울임, roll각은 비행기 날개가 좌우로 기울어지는 동작

 

 

 

tip : camera.rotation 값을 숫자로 / x, y, z 순서대로 적고싶을 때

var euler = new THREE.Euler(1, 2, 3, 'XYZ');

camera.rotation.copy(euler);
이유 : 세 개의 각도 값을 모두 직접 설정하는 것은 예상치 못한 결과를 낼 수 있음. 오일러 각은 회전 순서에 따라 결합되기 때문이다. 원하는 회전을 얻기 위해서는 위와 같은 방법을 사욯하는 것이 좋다.