react-three-fiberで3Dシーンを構築するための、すぐに使えるReact用ヘルパーコンポーネントとフックのコレクションです。
pmndrs/react-three-fiber
JSXコンポーネントを使い、宣言的に3Dシーンを構築できるThree.js向けReactレンダラーです。
- スター
- 33,534
- フォーク
- 2,080
- 未解決の Issue
- 15
- 最終コミット
- 17 日前
これは何?
react-three-fiber (@react-three/fiber) は、Three.js向けのReactレンダラーです。メッシュ、マテリアル、ライトを命令的に作成する代わりに、<mesh /> や <ambientLight /> のようなJSX要素として記述すると、それぞれの要素が対応するThree.jsオブジェクトにマッピングされます。各コンポーネントは独自のReact stateを持ち、ポインターイベントに応答したり、useFrameなどのフックを通じてレンダーループを購読したりできます。
レンダリングはReactのコンポーネントツリーの外で行われるため、通常のThree.jsと比べてオーバーヘッドはないとプロジェクトは説明しています。Three.jsのクラスや機能はすべてJSX要素として利用できるため、新しいThree.jsがリリースされてもライブラリ自体を変更する必要はありません。React Native向けのパッケージも提供されています。このライブラリは、対応するメジャーバージョンのReact(React 18にはv8、React 19にはv9)と組み合わせて使う設計です。
より広い@react-threeエコシステムには、drei、ポストプロセス、物理エンジン(Rapier、Cannon)、XRサポート、Node向けのテストレンダラーなどのヘルパーが用意されています。
主な機能
- 01Three.jsのシーンを、Three.jsオブジェクトに直接対応するJSX要素として記述できます。
- 023DオブジェクトでReact stateや、onClick、onPointerOverなどのイベントハンドラーを利用できます。
- 03useFrameフックを使い、レンダーループ内でフレームごとの処理を実行できます。
- 04ライブラリの更新を待たずに、Three.jsのあらゆる機能を利用できます。
- 05別のエントリーポイントを通じてReact Nativeをサポートしています。
ユースケース
- Reactアプリで、インタラクティブな3D製品コンフィギュレーターやデータビジュアライゼーションを構築する。
- 独自のstateやアニメーションを持つ、再利用可能な3D UIコンポーネントを作成する。
- React Nativeのモバイルアプリに3Dシーンを追加する。
- テストレンダラーを使い、Nodeで3Dシーンコンポーネントの単体テストを書く。
クイックスタート
- 1
npm でパッケージをインストールします
npm install three @types/three @react-three/fiber - 2
Canvas を作成し、JSX コンポーネントでシーンをレンダリングします(README の例を参照)
使う前に知っておきたいこと
- react-three-fiber のバージョンは React のメジャーバージョンに合わせる必要があります。v8 は react@18、v9 は react@19 に対応します。
トピック
よくある質問
- react-three-fiber とは?
- JSXコンポーネントを使い、宣言的に3Dシーンを構築できるThree.js向けReactレンダラーです。 react-three-fiber (@react-three/fiber) は、Three.js向けのReactレンダラーです。メッシュ、マテリアル、ライトを命令的に作成する代わりに、<mesh /> や <ambientLight /> のようなJSX要素として記述すると、それぞれの要素が対応するThree.jsオブジェクトにマッピングされます。各コンポーネントは独自のReact stateを持ち、ポインターイベントに応答したり、useFrameなどのフックを通じてレンダーループを購読したりできます。
- react-three-fiber は無料で使えますか?ライセンスは?
- react-three-fiber は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- react-three-fiber は今もメンテナンスされていますか?
- 活発にメンテナンス中。react-three-fiber の最終コミットは 2026年10月21日 です。
- react-three-fiber は何に使えますか?
- Reactアプリで、インタラクティブな3D製品コンフィギュレーターやデータビジュアライゼーションを構築する。 独自のstateやアニメーションを持つ、再利用可能な3D UIコンポーネントを作成する。 React Nativeのモバイルアプリに3Dシーンを追加する。 テストレンダラーを使い、Nodeで3Dシーンコンポーネントの単体テストを書く。
- react-three-fiber のインストール方法は?
- npm でパッケージをインストールします: npm install three @types/three @react-three/fiber Canvas を作成し、JSX コンポーネントでシーンをレンダリングします(README の例を参照)
- react-three-fiber はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pmndrs/react-three-fiber
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
react-three-fiberのシーンに、JSXコンポーネントとして宣言的にポストプロセスエフェクトを適用できる、postprocessingライブラリのReactラッパーです。
Three.jsを基盤とする、ブラウザー向けのインタラクティブな3D/WebGL・2Dデータ可視化用JavaScriptツールキット兼フレームワーク。
OrbitControls風の操作に滑らかな遷移などの機能を加える、three.js向けカメラ制御ライブラリ。
シーンのブロッキング、キャラクターのポージング、カメラワークの編集を行い、AI動画モデルにショットを送れるブラウザベースのプリビズスタジオ。
TypeScriptとThree.jsで63種の昆虫をモデルファイルなしで手続き的に生成する、ブラウザ上のインタラクティブな3D図鑑。