Codex、Claude Code、Cursorで、組み上がる様子を再生でき、視点を回せるThree.jsの建築シーンを生成するAgent Skillです。
billpwchan/sakura-fantasy
四季や一日の時間帯が変化する、日本の渓谷を下るブラウザベースの3D舟旅。three.jsでリアルタイムに描画
- スター
- 98
- フォーク
- 6
- 未解決の Issue
- 1
- 最終コミット
- 昨日
これは何?
Sakura Fantasyは、葦葺きの川舟に乗って日本の渓谷を下る、インタラクティブなリアルタイムシーンです。桜並木、朱塗りの太鼓橋、五重塔のふもとの村、竹林の峡谷、鳥居が連なるトンネル、そして湖を通り抜けます。植生には日本の実在する植物をフォトグラメトリでスキャンしたデータを使い、晴れ、霧、雨、嵐、雪の5種類の天候を用意。光の変化は一日を通じた太陽の動きに合わせています。
旅の進行に合わせて、箏、尺八、笙を日本の音階で用いた楽曲が生成されます。寺の鐘や京都の庭園の音を録音したフィールドレコーディングも、場所、季節、時刻に応じてミックスされます。コードベースはthree.js上に構築された約10,000行の素のJavaScriptで、ゲームエンジンやフレームワークは使っていません。訪問者は進行方向の操作、季節・時刻・天候の変更、カメラモードの切り替え、写真の書き出しができます。また、URLパラメーターを使って任意のシーンを直接開けます。
ビルド工程を経て静的サイトを出力する構成で、アセットはリポジトリに含まれています。
主な機能
- 01フォトグラメトリをもとにした植物と季節の変化を取り入れた、プロシージャルな渓谷。
- 02太陽、空、霧、5種類の天候が動的に変化。
- 03水面の反射、航跡、泡、花びらをリアルタイムに描画。
- 04日本の楽器と、場所に応じて配置された録音音源によるリアルタイムの自動生成楽曲。
- 05キーボード操作、複数のカメラモード、PNG形式の撮影モード。
- 06季節、時刻、天候、位置を指定して移動できるURLパラメーター。
ユースケース
- three.jsでのリアルタイムWebGL描画技術の学習。
- ブラウザでのプロシージャルなワールド生成や、詳細度に応じたストリーミングの検証。
- Web Audio APIを使った自動生成オーディオの参考。
- 単体で楽しめる、落ち着いた雰囲気のインタラクティブな3Dシーンの鑑賞。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/billpwchan/sakura-fantasy.git - 2
プロジェクトフォルダーに移動する
cd sakura-fantasy - 3
依存関係をインストールする
npm install - 4
開発サーバーを起動し、http://127.0.0.1:5190 を開く
npm run dev
使う前に知っておきたいこと
- ライセンス欄には NOASSERTION と記載されています。README にはコードは MIT で、アセットには CREDITS.md に個別のライセンスが記載されているとあります。再利用する前に各条件を確認してください。
- スマートフォンとタブレットには、機能を絞った quick tier が提供されます。README に記載されたパフォーマンス数値は、ハイエンドの Apple M4 Max で測定されたものです。
トピック
よくある質問
- sakura-fantasy とは?
- 四季や一日の時間帯が変化する、日本の渓谷を下るブラウザベースの3D舟旅。three.jsでリアルタイムに描画 Sakura Fantasyは、葦葺きの川舟に乗って日本の渓谷を下る、インタラクティブなリアルタイムシーンです。桜並木、朱塗りの太鼓橋、五重塔のふもとの村、竹林の峡谷、鳥居が連なるトンネル、そして湖を通り抜けます。植生には日本の実在する植物をフォトグラメトリでスキャンしたデータを使い、晴れ、霧、雨、嵐、雪の5種類の天候を用意。光の変化は一日を通じた太陽の動きに合わせています。
- sakura-fantasy は無料で使えますか?ライセンスは?
- sakura-fantasy は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- sakura-fantasy は今もメンテナンスされていますか?
- 活発にメンテナンス中。sakura-fantasy の最終コミットは 2026年10月19日 です。
- sakura-fantasy は何に使えますか?
- three.jsでのリアルタイムWebGL描画技術の学習。 ブラウザでのプロシージャルなワールド生成や、詳細度に応じたストリーミングの検証。 Web Audio APIを使った自動生成オーディオの参考。 単体で楽しめる、落ち着いた雰囲気のインタラクティブな3Dシーンの鑑賞。
- sakura-fantasy のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/billpwchan/sakura-fantasy.git プロジェクトフォルダーに移動する: cd sakura-fantasy 依存関係をインストールする: npm install 開発サーバーを起動し、http://127.0.0.1:5190 を開く: npm run dev
- sakura-fantasy はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/billpwchan/sakura-fantasy
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
1枚の画像から、メッシュファイルではなく、アニメーション対応のThree.js用TypeScriptコードでオブジェクトを再構築します。
TypeScriptとThree.jsで63種の昆虫をモデルファイルなしで手続き的に生成する、ブラウザ上のインタラクティブな3D図鑑。
react-three-fiberで3Dシーンを構築するための、すぐに使えるReact用ヘルパーコンポーネントとフックのコレクションです。
ライブプレビューとReactの全ソースを備えた、ログイン不要のThree.js/WebGL UIコンポーネントカタログ
react-three-fiberのシーンに、JSXコンポーネントとして宣言的にポストプロセスエフェクトを適用できる、postprocessingライブラリのReactラッパーです。