JAXAの衛星データからVRChatワールドの地形を自動生成! 🚀
JAXA Earth APIの地球観測データを、Blender/Unity/VRChatで使える3D地形に変換するMCPサーバーです。Cursor IDEとCodex IDEから自然言語で操作でき、リアルな地球の地形をVRChatワールドに取り込めます。
📖 詳細なセットアップガイド(GitHub Pages) - Apple風デザインの日英併記ドキュメント
🖥️ Streamlit UI: Appleデザインの自然言語インターフェースでMCP機能を実行できます。詳細はSTREAMLIT_README.mdを参照してください。
- 🛰️ JAXAの衛星データを取得 - 標高、地表面温度、植生指数など様々なデータにアクセス
- 🎮 VRChat向けに最適化 - ポリゴン数・テクスチャサイズを自動調整
- 🎨 Blender/Unity対応 - ワンクリックでエクスポート、すぐに使える
- 💬 自然言語で操作 - 「富士山周辺の地形をVRChat用にエクスポートして」と話すだけ
- 🔧 Cursor/Codex対応 - お好みのIDEで利用可能
- VRChatワールド制作: リアルな地球の地形をVRChatワールドに取り込む
- Blenderプロジェクト: 衛星データから3D地形を生成
- Unityゲーム開発: 実在する場所の地形をゲームに使用
- データ分析: 地球観測データの可視化と分析
# リポジトリをクローン(zapabobを実際のGitHubユーザー名に置き換え)
git clone https://github.com/zapabob/jaxa-earth-vrchat-terrain.git
cd jaxa-earth-vrchat-terrain
# 依存関係をインストール
uv syncCursor/Codex IDEを再起動するだけ!設定ファイルは自動認識されます。
IDEで以下のように話しかけるだけ:
富士山周辺の地形をVRChat用にエクスポートして
完了! BlenderやUnityで使える地形データが生成されます。
詳細はQUICKSTART.mdを参照してください。
- コレクション検索: キーワードでデータセットを検索
- 画像取得: 日付・範囲・解像度を指定して衛星画像を取得
- 統計計算: 空間統計・時間統計を自動計算
- 高度マップ生成: 衛星データから16bit高度マップを生成
- Blenderエクスポート: Displace Modifierで使える形式
- Unityエクスポート: Terrain Toolで直接インポート可能
- VRChat最適化: ポリゴン数・テクスチャサイズを自動調整
- テクスチャ生成: Diffuse・Normalマップを自動生成
- MCP Server: Cursor/Codex IDEから自然言語で操作
- 公式v0.1.5準拠: JAXA公式実装スタイルに完全準拠
- 非同期処理: 高速なデータ処理
- エラーハンドリング: 分かりやすいエラーメッセージ
- Python 3.13以上
- uv パッケージマネージャー(推奨)またはpip
- Cursor IDE または Codex IDE
# リポジトリをクローン(zapabobを実際のGitHubユーザー名に置き換え)
git clone https://github.com/zapabob/jaxa-earth-vrchat-terrain.git
cd jaxa-earth-vrchat-terrain
# 依存関係をインストール
uv syncuvがない場合:
pip install mcp jaxa-earth numpy rasterio Pillow scipy requests
# jaxa-earthは以下のコマンドでインストール
pip install jaxa-earth --extra-index-url https://data.earth.jaxa.jp/api/python/repository/プロジェクトルートに.cursor/mcp.jsonファイルが既に作成されています。Cursor IDEを再起動すると、自動的にMCPサーバーが認識されます。
- Cursor IDEを開く
- Settings > Features > MCP に移動
- "+ Add New MCP Server" をクリック
- 以下の設定を追加:
{
"mcpServers": {
"jaxa_api_tools": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\jaxa-earth-mcp",
"run",
"--with", "mcp",
"--with", "jaxa-earth",
"--extra-index-url", "https://data.earth.jaxa.jp/api/python/repository/",
"mcp_server.py"
]
}
}
}注意: MCPサーバーの名前は公式ドキュメントに合わせてjaxa_api_toolsとしていますが、任意の名前を使用できます。
注意: C:\\path\\to\\jaxa-earth-mcp を実際のプロジェクトパスに置き換えてください。
Cursor IDEを再起動後、Agentモードで以下のように確認できます:
利用可能なJAXA Earth APIのコレクションを一覧表示してください
プロジェクトルートに.codex/mcp.jsonファイルが既に作成されています。Codex IDEを再起動すると、自動的にMCPサーバーが認識されます。
- Codex IDEを開く
- Settings > MCP に移動
- "+ Add New MCP Server" をクリック
- 以下の設定を追加:
{
"mcpServers": {
"jaxa_api_tools": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\jaxa-earth-mcp",
"run",
"--with", "mcp",
"--with", "jaxa-earth",
"--extra-index-url", "https://data.earth.jaxa.jp/api/python/repository/",
"mcp_server.py"
]
}
}
}注意: C:\\path\\to\\jaxa-earth-mcp を実際のプロジェクトパスに置き換えてください。
Codex IDEを再起動後、以下のように確認できます:
利用可能なJAXA Earth APIのコレクションを一覧表示してください
IDEで自然言語で話しかけるだけ!
# コレクションを検索
地表面温度(LST)に関するコレクションを検索してください
# 画像を表示
2021年の関東地方の標高データの画像を表示してください
# 統計を計算
2021年の関東地方の標高データの空間統計を計算してください
# 高度マップを生成
富士山周辺(経度138.5-139度、緯度35.2-35.5度)の高度マップを生成してください
# Blender用にエクスポート
富士山周辺の地形データをBlender用にエクスポートしてください
# Unity用にエクスポート
富士山周辺の地形データをUnity用にエクスポートしてください
# VRChat向けに最適化(推奨!)
富士山周辺の地形データをVRChat向けに最適化してエクスポートしてください。
最大ポリゴン数は50000、テクスチャサイズは2048にしてください
- 実在する場所のVRChatワールド: 自分の住んでいる街、旅行先、好きな場所の地形をVRChatに
- ゲーム開発: 実在する山や谷をゲームの地形として使用
- データ可視化: 地球観測データを3Dで可視化
注意: スクリーンショットを追加する場合は、
docs/images/ディレクトリに配置してください。
詳細なステップバイステップガイドはWORKFLOW_VRCHAT_BLENDER.mdを参照してください。
- データ生成: IDEで「地形をBlender用にエクスポートして」と話しかける
- Blenderでインポート: Displace Modifierで高度マップを読み込む
- 完成: テクスチャを適用して完成!
- データ生成: IDEで「地形をUnity用にエクスポートして」と話しかける
- Unityでインポート: Terrain Toolで.rawファイルを読み込む
たったこれだけ! 詳細はWORKFLOW_VRCHAT_BLENDER.mdを参照してください。
JAXA Earth APIから以下のようなデータを取得できます:
| データ種類 | コレクション例 | 用途 |
|---|---|---|
| 🏔️ 標高データ | JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global |
地形生成、高度マップ |
| 🌡️ 地表面温度 | JAXA.EORC_ALOS.LST_* |
温度マップ、気候可視化 |
| 🌿 植生指数 | JAXA.EORC_ALOS.NDVI_* |
植生マップ、環境分析 |
| 🌧️ 降水量 | JAXA.EORC_ALOS.GSMaP_* |
降雨マップ、気象分析 |
| 🌊 海面水温 | JAXA.EORC_ALOS.SST_* |
海洋データ、水温マップ |
詳細はIDEで「利用可能なコレクションを一覧表示してください」と話しかけると確認できます。
A: IDEを完全に再起動してください。それでも認識されない場合は、.cursor/mcp.jsonまたは.codex/mcp.jsonのパスを確認してください。
A: 範囲を小さくするか、解像度を下げてください。VRChat向け最適化ツールを使用すると自動的に最適化されます。
A: create_vrchat_terrainツールを使用すると、自動的にメモリ使用量を最適化します。
A: Displace ModifierのStrengthを増やしてください。通常は0.5〜2.0が適切です。
A: terrain_metadata.jsonの情報を確認し、Byte OrderをWindows(リトルエンディアン)に設定してください。
詳細はWORKFLOW_VRCHAT_BLENDER.mdのトラブルシューティングセクションを参照してください。
- 🚀 クイックスタート - 5分で始める
- 🎬 VRChat/Blenderワークフロー - 詳細な手順ガイド
- 📁 プロジェクト構造 - ファイル構成の説明
- 🔧 GitHubセットアップ - リポジトリ公開手順
- 🤝 貢献ガイドライン - コントリビューション方法
プルリクエストやIssueを歓迎します!
- このリポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを開く
詳細はCONTRIBUTING.mdを参照してください。
このプロジェクトが役に立ったら、スターを押していただけると嬉しいです!
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEを参照してください。
注意: このプロジェクトはJAXA Earth APIを使用しています。JAXA Earth APIの利用規約に従ってください。 詳細はJAXA Earth APIライセンスを参照してください。
- EXR形式のサポート(Blender向け)
- LOD自動生成機能
- バッチ処理機能
- キャッシュ機能
- より高品質なNormalマップ生成
- JAXA第一宇宙技術部門 - JAXA Earth APIの提供
- Zenn記事 - インスピレーションと参考情報
- 2026-01-28: 🎉 初版リリース
- JAXA公式v0.1.5準拠
- Cursor/Codex IDE対応
- VRChat/Blender/Unity向け3D地形生成機能
- 詳細なワークフローガイド