長い経験を持つエンジニアの Mike Turitzin氏が開発中のSDF(Signed Distance Fields)をベースとしたゲームエンジンの最新映像がYoutube上で公開され話題を集めています!
I’m making a game engine based on dynamic signed distance fields (SDFs)
このプロジェクトを始めた動機は、ゲームプレイ中にワールドのジオメトリを高精細に改造できるエンジンを構築することでした。ほとんどのゲームでは、ゲームワールドは比較的静的です。ジオメトリが動的なゲーム(MinecraftやNo Man’s Skyなど)では、ワールドへの改造は通常、比較的粗く低精細なものに留まっています。
私のエンジンは、ワールドジオメトリの詳細な変更をサポートしています。物質の追加や除去を、滑らかに、あるいは鋭いエッジで実現できます。また、穴を移動させたり、トンネルを作成して通り抜け、その後ろで消えていくのを見たりといった、非破壊的な変更もサポートしています。特にこれらの非破壊的な変更には興奮しています。それらが多くの興味深いゲームプレイメカニクスを可能にするからです。
このエンジンを使ってゲーム制作を始めました。進捗に応じて、さらに詳しくお伝えしていきます。
- Signed Distance Field(SDF)を世界表現の基盤に採用
ブーリアン演算(加算・減算・交差)を用いて、滑らか/シャープ両対応の形状編集が可能。 - ゲーム中に高精細な地形・ジオメトリ変更が可能
掘る・削る・穴を開ける・埋め戻すなどをリアルタイムかつ非破壊で実行できる。 - SDF編集を「履歴(SDF edits)」として管理
シーンは編集の積み重ねで構成され、可逆的・動的な地形変化を実現。 - 距離場をグリッドにキャッシュして高速化
毎ピクセルの重いSDF評価を避け、補間によって描画コストを大幅削減。 - スパースなBrick Map構造を採用
表面付近のみ距離場を保持し、メモリ使用量を大きく削減。 - ClipmapベースのLODで広大な世界に対応
プレイヤー周辺は高解像度、遠景は低解像度で評価し、数km規模の描画が可能。 - 変更部分のみをインクリメンタル再計算
BVH(AABBツリー)で影響範囲を特定し、必要な領域だけ更新。 - レンダリングと物理を分離
描画はSDFのまま、物理用にはMarching Cubesで低解像度メッシュを生成。 - 物理エンジンにJolt Physicsを使用
動的に変形する地形でも安定したコリジョンを実現。 - 完全3Dなボリューム地形
高さマップではなく、ノイズベースのSDFで立体的な地形を生成。 - ゲームプレイ志向の設計
トンネル生成、穴を動かしてオブジェクトを吸い込むなど、従来困難だった体験が可能。 - Dreamsに影響を受けつつ、より動的な方向性
Dreams系SDF表現をベースに、「完全に動く世界」を重視した独自アプローチ。
今後の進化がとても楽しみですね!
最新の情報などは彼のYoutubeやXを是非チェックしてみてください!













コメント