저는 최근에 프로젝트에서 3D를 구현해야 할 일이 생겨
이렇게 three.js에 대해서 공부하고 사용하고자 글을 쓰게 되었습니다


three.js는 웹페이지에 3D 객체를 더욱더 쉽게 렌더링 할 수 있도록 도움을 주는 JavaScript의 3D 라이브러리입니다
3D 객체를 렌더링하기 위해서 webGL이라는 것을 사용합니다
webGL이 있지만 three.js를 쓰는 이유는
webGL이 점, 선, 삼각형만 그릴 수 있어 코드양이 굉장히 많아지기 때문입니다

npm install three # npm
yarn add three # yarn
// react에서 사용하기 필수 X
npm install @react-three/fiber
npm install @react-three/drei
// option 1: 다 불러오기
import * as THREE from 'three';
const scene = new THREE.Scene();
// option 2: 필요한 부분 불러오기
import { Scene } from 'three';
const scene = new Scene();
import { Canvas } from "@react-three/fiber";
import { OrbitControls } from "@react-three/drei";
export default function App() {
return (
<Canvas
id="root"
style={{ width: "100%", height: "100%" }}
camera={{ position: [0, 0, 5] }} // 카메라 위치
>
<OrbitControls /> {/* 터치 (카메라 컨트롤) */}
<ambientLight /> {/* 빛 */}
<mesh position={[0, 0, 0]}>{/* 큐브 MESH */}
<boxGeometry args={[5, 5, 5]} /> {/* GEOMETRY 큐브 크기 */}
<meshStandardMaterial color="hotpink" /> {/* MATERIAL 색상 */}
</mesh>
</Canvas>
);
}
이렇게 three.js에 대해서 배워보았는데 모르는 개념들이 많아서 학습하기 매우 힘들었던거 같습니다
여러분들도 three.js를 사용해서 좋은 결과물을 내셨으면 좋겠습니다
글을 읽어주셔서 감사합니다
| 무한 스크롤과 가상 스크롤에 대해서 알아보자 (0) | 2025.11.25 |
|---|---|
| Redis 사용기 (0) | 2025.09.04 |
| 터보레포(Turborepo) 사용기 (with. monorepo) (1) | 2025.04.18 |
| [Library] 🔧 json-server??? 그게 뭐고 어떻게 사용하는건데!! (3) | 2024.08.19 |