1. useThree


const {
  camera,     // Three.js의 카메라
  scene,      // Three.js의 씬
  gl,         // Three.js의 WebGLRenderer
  size,       // 현재 Canvas 크기 (width, height)
  viewport,   // 3D 씬 관점의 뷰포트 크기 (카메라 FOV 등 고려한 크기)
  clock,      // Three.js의 시간 관리용 Clock
  raycaster,  // 마우스 등으로 3D 객체를 선택하는 Raycaster
  mouse,      // 마우스 위치 (정규화된 좌표)
  // ...
} = useThree();

import { useThree } from "@react-three/fiber";
import { useEffect } from "react";

function CameraController() {
  const { camera } = useThree();

  useEffect(() => {
    camera.position.set(0, 2, 5);
    camera.fov = 60;
    camera.updateProjectionMatrix();
  }, [camera]);

  return null; 
}

2. useFrame


3. useLoader