💬

【React Three Fiber】Reactで作る3D【#2Your First Scene】

2023/03/23に公開

【#2Your First Scene】

YouTube: https://youtu.be/81JZJNNS_Ac

https://youtu.be/81JZJNNS_Ac

今回は公式ドキュメントのチュートリアルを使用して、
3Dのオブジェクトの表示について解説します。

https://docs.pmnd.rs/react-three-fiber/getting-started/your-first-scene

まずは、背景が明るいと少し見ずらいので、背景色を暗めに設定します。
こちらは暗めであればお好きな色で大丈夫です。

src/index.css
@tailwind base;
@tailwind components;
@tailwind utilities;

body {
  background: darkblue;
}

こちらの設定ができましたら、
公式のドキュメントを上から順に進めていきます。

src/App.tsx
import './App.css'
import { Canvas } from '@react-three/fiber'

function App() {
  return (
    <div className="w-full h-screen">
      <Canvas>
        <ambientLight intensity={0.1} />
        <directionalLight position={[0, 0, 5]} />
        <mesh>
          <boxGeometry args={[2, 2, 2]} />
          <meshStandardMaterial color="red" />
        </mesh>
      </Canvas>
    </div>
  )
}

export default App

「Canvas」が3Dを表示する領域で、
「mesh」のタグの中身が3Dのオブジェクトに関する設定になります。
「mesh」には「Geometry」と「Material」を設定する必要があります。

「ambientLight」は全方向から同じ強さでライトアップすることができ、
「directionalLight」は1方向から直線上にライトを当てる設定になります。

「Material」によるのですが、
3Dのオブジェクトにはライトを当てないと黒い物体が表示されます。

Discussion