OrbitControls의 target과 maxPolarAngle은 Three.js와 **react-three/drei**에서 거의 동일한 방식으로 사용됩니다. react-three/drei는 Three.js의 기능을 React 컴포넌트로 감싸서 제공하는 라이브러리이기 때문에, props의 동작은 기본적으로 Three.js의 OrbitControls와 일치합니다.
Three.js의 OrbitControls
Three.js에서는 OrbitControls가 THREE.OrbitControls 클래스로 제공되며, target과 maxPolarAngle은 다음과 같이 사용됩니다.
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.target.set(0, 1, 0); // 카메라 초점 설정
controls.maxPolarAngle = Math.PI / 2; // 카메라 수직 회전 제한
controls.update(); // 변경 사항 적용
react-three/drei의 OrbitControls는 @react-three/fiber와 함께 사용되는 React 컴포넌트입니다. Three.js와 달리 props로 설정을 전달하며, React 컴포넌트의 특성상 상태 관리와 리렌더링을 쉽게 할 수 있습니다.
<OrbitControls target={[0, 1, 0]} maxPolarAngle={Math.PI / 2} />
| setHSL(), offsetHSL() 의 차이 (0) | 2024.12.25 |
|---|---|
| GLSL, WGSL 의 차이 (2) | 2024.12.14 |
| 이미지 매핑하기 (1) | 2024.11.24 |
| touch event - @react-three/fiber (2) | 2024.11.23 |
| video backgorund with @react-three/fibre (1) | 2024.11.22 |