Repolode
pmndrs

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. 1

    npm でパッケージをインストールします

    npm install three @types/three @react-three/fiber
  2. 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 の数値は毎日更新されます。

関連プロジェクト

シーンのブロッキング、キャラクターのポージング、カメラワークの編集を行い、AI動画モデルにショットを送れるブラウザベースのプリビズスタジオ。

1553+319 今週180JavaScriptAGPL-3.0活発にメンテナンス更新 14 時間前