OrbitControls와 TrackballControls는 모두 Three.js에서 3D 장면을 탐색하기 위한 컨트롤러지만, 동작 방식에 차이가 있다.
OrbitControls | TrackballControls | |
회전 중심 | 특정 포커스 지점을 중심으로 카메라를 회전 | 사용자가 마우스를 드래그하는 방향에 따라 장면이 회전 |
사용자 경험 | 카메라가 특정 지점을 중심으로 움직이게 해 준다. | 다양한 각도에서 장면을 탐색할 수 있게 해 주지만, 직관적이지 않을 수도 있다. |
컨트롤 방식 | 지정된 범위 내에서 카메라를 제어 | 모든 방향으로 자유롭게 이동 |
설정 및 사용 용도 | 설정이 비교적 간단 | 복잡한 설정이 가능 |
루프에 update 작성하지 않았을 때 | 회전은 가능, 자동 회전 옵션일 때 동작 안함 | 동작 모두 불가능 |
결론 | 특정 대상에 초점을 맞추고 안정적으로 관찰할 때 유용 | 더 자유로운 3D 탐색이 필요할 때 적합 |
1. 회전 중심
OrbitControls
- 특정 포커스 지점을 중심으로 카메라를 회전시켜 준다.
- 카메라는 고정된 중심점을 기준으로 대상 주위를 공전하는 것처럼 동작해 준다.
TrackballControls
- 사용자가 마우스를 드래그하는 방향에 따라 장면이 회전하여, 자유롭게 카메라를 움직일 수 있게 해 준다.
2. 사용자 경험
OrbitControls
- 특정 오브젝트를 안정적으로 관찰할 수 있도록 설계되었기 때문에, 카메라가 특정 지점을 중심으로 움직이게 해 준다.
TrackballControls
- 회전이 더 자유로워 다양한 각도에서 장면을 탐색할 수 있게 해 주지만, 직관적이지 않을 수도 있다.
3. 컨트롤 방식
OrbitControls
- 마우스 오른쪽 버튼을 사용하여 팬(pan) 기능을, 마우스 휠을 사용하여 줌 기능을 제공해 준다.
- 각도와 줌 제한 설정이 가능하여, 지정된 범위 내에서 카메라를 제어할 수 있게 해 준다.
TrackballControls
- 마우스의 모든 버튼을 사용하여 회전, 팬, 줌이 가능하게 해 준다.
- 모든 방향으로 자유롭게 이동할 수 있게 해 준다.
4. 설정 및 사용 용도
OrbitControls
- 설정이 비교적 간단하고, 대부분의 3D 뷰어에서 기본적으로 사용되도록 해 준다.
TrackballControls
- 복잡한 설정이 가능하며, 자유로운 3D 탐색이 필요한 상황에서 사용되도록 해 준다.
결론적으로, OrbitControls는 특정 대상에 초점을 맞추고 안정적으로 관찰할 때 유용하게 해 주고,
TrackballControls는 더 자유로운 3D 탐색이 필요할 때 적합하게 해 준다.
'Frontend > Three.js' 카테고리의 다른 글
카메라 컨트롤, FirstPersonControls (0) | 2024.09.05 |
---|---|
카메라 컨트롤, FlyControls (0) | 2024.09.04 |
카메라 컨트롤, TrackballControls (0) | 2024.09.04 |
카메라 컨트롤, OrbitControls (0) | 2024.09.03 |
Geometry 형태 조작하기 (0) | 2024.08.31 |