노베이스가 말아주는 3D 웹사이트

처음으로 서버에서 3D 도형을 만들고, 세그먼트, 로테이션, 색을 조절할수있어서 뭔가 신기하고 재미있었다.

Featured image

오늘의 기록

오늘은 정말 힘든 날이었다. 코딩 중 여러 에러를 마주하며 React Three Fiber를 활용한 3D 그래픽 애플리케이션을 개발했다. 주요 학습 내용은 다음과 같다

학습 내용

App.jsx 코드

3D 씬을 구성하는 주요 코드로, 다음 요소를 포함한다:

주요 컴포넌트

핵심 코드

<Canvas
  camera=
>
  <color attach="background" args={[color.value]} />
  <OrbitControls />
  <axesHelper args={[5]} />
  <gridHelper args={[10, grid.segment]} />
  <ThreeElement />
</Canvas>

ThreeElement.tsx 코드

3D 박스를 정의하고 조작하기 위한 주요 코드로, 다음 기능을 포함합니다:

주요 기능

핵심 코드

<mesh
  ref={boxRef}
  rotation={[
    THREE.MathUtils.degToRad(45), // X축 회전
    THREE.MathUtils.degToRad(box.rotation), // Y축 회전 (사용자 조정 가능)
    0 // Z축 회전
  ]}
>
  <boxGeometry /> {/* 박스 형태 */}
  <meshStandardMaterial color="blue" /> {/* 파란색 재질 */}
</mesh>

Scene, Camera, Renderer

Scene

Camera

Renderer


실행 전 준비

  1. Node.js 버전 설정
  $ nvm use 18

  $ npm install @react-three/fiber @react-three/drei leva

소괄호, 중괄호, 대괄호 차이 (코딩)

소괄호 ()

중괄호 {}

대괄호 []

지금까지 완성본