mcpField
T
threejs-procedural-planets

threejs-procedural-planets

github.com/scottsttsクリエイティブ・メディア978110 回インストール3 週間前に更新
リポジトリ

threejs-procedural-planets について

Three.jsでプロシージャルな惑星を構築するスキルです。共有する地質フィールドで地形、マテリアル、大気との連携を駆動し、広域のシルエットからバイオームへ進む手順と、視点に応じたディテールの調整を示します。

主な機能

  1. 01共有地質フィールドによる惑星属性の駆動
  2. 02マクロシルエットと地質構造の構築
  3. 03地形・バイオーム・マテリアルの連動
  4. 04メッシュスケールと高度に応じた詳細度調整
  5. 05惑星マテリアルと大気・照明の連携

活用シーン

  1. 01地域ごとの地形を持つ惑星の生成
  2. 02地形とマテリアルが整合した惑星表面の構築
  3. 03高度に応じて詳細度を調整する惑星の制作

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/scottstts/threejs-awesome-graphics-agent-skills --skill threejs-procedural-planets

インストール後、Claude Code で/threejs-procedural-planetsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
examples/procedural-planet-surface/
planet-system.js
terrain-field.js
references/
planet-field-and-atmosphere-systems.md

詳細

プロシージャル惑星

単位方向上で評価される連成フィールドシステムとして惑星を構築します。同じ地質学的要因が、ジオメトリ、色、粗さ、法線、大気への受け渡し、距離によるフィルタリングをすべて左右する必要があります。

このスキルには、説明的なガイダンスに加えて優れたサンプルやアセットが含まれています。参考にしたり、活用したり、場合によってはコピーしたりする価値があります。関連する場面では十分に利用し、むやみに読み飛ばさないでください。

必須の構築順序

  1. 惑星空間の方向、半径、海面、ワールド単位のスケールを定めます。
  2. 表面マテリアルを作成する前に、マクロシルエットのフィールドを構築します。
  3. 大陸、盆地、尾根、クレーター、溶岩原、氷など、名前のある地質構造を追加します。
  4. 傾斜、窪み、高度、緯度、露出度、海岸線のフィールドを導出します。
  5. それらの要因から大まかなバイオームを分類します。
  6. 共通のフィールドバンドルから、変位、色、粗さ、法線を導出します。
  7. メッシュが表現するスケールとカメラ高度に応じて、周波数帯をフィルタリングします。
  8. 同じ惑星変換を使用して、マテリアルを大気およびライティングと連携させます。

地形、バイオーム、ガス惑星、マテリアル、高度に応じたLOD、大気への受け渡しの仕組み(CPU/GPU間のフィールド整合性に関する既知の失敗モードを含む)については、references/planet-field-and-atmosphere-systems.md を参照してください。

球面の未変形座標、CPU/GLSLで共有する地形、連動するバイオームとマテリアルの要因、微分によるバンプ、高度に応じた詳細のフィルタリングについては、プロシージャル惑星表面の実装と、その共有地形フィールドを参照してください。

必ず守る制約

  • 接線方向にドメインワープし、再正規化します。球面を半径方向に歪ませてはいけません。
  • クレーターには底面、壁面、縁、必要に応じて放出物を含めます。暗い円だけにしてはいけません。
  • 大陸とバイオームは領域フィールドで表現し、孤立したしきい値の泡にしてはいけません。
  • ジオメトリの変位とシェーダーの法線は、同じ高さ関数を表現する必要があります。
  • 近距離の詳細は高度に応じて消えても構いませんが、マクロシルエットは消えてはいけません。
  • 個別のフィールド表示と、変位の誇張モードを用意します。

完了テスト

天体は、以下の状態でも意図した見た目を保つ必要があります。

  • ライティングなしのシルエット
  • 大気なしのフラットなアルベド
  • かすめるような入射方向の指向性ライト
  • 軌道上からの視点
  • 接近時の視点
  • バイオームマスク表示と法線のみの表示
  • 選択した惑星の個性を損なわない、少なくとも3つのシード

ルーティングの境界

完全な天体を含まない再利用可能なフィールドバンドルには $threejs-procedural-fields を使用し、惑星生成とは独立した散乱には $threejs-atmosphere-aerial-perspective を使用します。このスキルでは、連成した惑星表面を扱います。

コメント