画像提供:Matthieu Fiorilli

環境をフラクタル計算で生成する Chasing the Unseen

インディー ゲーム デベロッパー Matthieu Fiorilli
モントリオールで 2022 年に設立された Strange Shift Studio は Matthieu Fiorilli 氏によって設立された 1 人だけの独立系ゲーム スタジオです。
Chasing the Unseen は巨大なクリーチャーによじ登ったり、フラクタル計算によって作られた異世界を探索するゲームです。ソロのゲーム デベロッパーとしてこのような野心的なプロジェクトに挑むには適切なツールが必要だと思いました。この技術ブログで、Chasing the Unseen の課題へのアプローチ方法について概説しましょう。
 

インディー デベロッパーを支援するツールは、ここ数年で大きな発展を遂げました。最近になって、ようやくこのようなプロジェクトが可能になりました。Epic や SideFX や、この強力なツールを誰でも使用できるようにしてくださった方々のおかげで、このプロジェクトを成し遂げることができました。

私はこの野心的なプロジェクトにアプローチするために、適切なツールが必要だと思っていました。それが Unreal Engine と Houdini の共生関係を通じて感じたことです。

クリーチャー

まず、クリーチャーとクライミング システムについて見てみましょう。
画像提供:Matthieu Fiorilli
インゲーム スクリーンショット
クリーチャーは、Houdini でさまざまなツールを使用して作成されています。タコを例として挙げると、Houdini の従来型ツールを使用してプロシージャルにモデル化し、Vellum という Houdini の最新のマルチソルバーを使用してシミュレーションしています。シミュレーションすることによって、非常に自然で滑らかな変形を行うことができます。その後、これを Unreal Engine に取り込んでよじ登ることができるようにします。この作業のために、強力なツール Dem Bones を活用しました。Houdini でのタコのシミュレーションは大変でした。ジオメトリの各ポイントでアニメーションがあり、ゲーム エンジンで取り込むことは簡単ではありません。Dem Bones のおかげで、プロシージャルにボーンとスキニングを生成し、ゲーム エンジンで使用しやすいデータでシミュレーションを再構築することができました。つまり、タコの 128,000 項点 / ポイントごとに 1 つのアニメーションがあるのではなく、約 600 ボーンに 1 つのアニメーションで済むということです。
画像提供:Matthieu Fiorilli
Dem Bones を使用してベイクした Vellum シミュレーション
Unreal にクリーチャーを取り込んで、リアルタイムで再生できます。これは、ステートマシンを使用してさまざまなアニメーションをミックスする場所です。Dem Bones で生成したスキニング情報に基づいて、カスタム ツールで Unreal 内に取り込むコリジョンの凸包をプロシージャルに生成できます。
画像提供:Matthieu Fiorilli
Unreal Engineでのコリジョン メッシュ
低解像度のメッシュが生成され、クライミングのために Unreal に取り込まれます。ブループリントと C++ を使用すると、クライミング システムで低解像度のメッシュを使用して、キャラクターをクリーチャーにアタッチできます。
画像提供:Matthieu Fiorilli
ブループリントと C++ を使用したクライミング システム

環境

環境用に、フラクタル計算と他のプロシージャルな技術を使用しています。フラクタルは短い数式であり、無限に自己反復する形状を生成します。マンデルブロ集合 が有名です。
画像提供:Wikipedia
Wikipedia のマンデルブロ セットの画像
マンデルブロ セットは、Benoit Mandelbrot 氏にちなんで名付けられた 2D フラクタルです。この発見から何年も経って、3D バージョンが発見されました。(Mandelbulb)

ここで質問です。フラクタルをゲームに取り込むには、どうしたらいいですか?Houdini と Unreal Engine の共生関係によって、この問題を解決することができます。Houdini では、Juraj Tomori のグラデュエーション プロジェクトの VFX フラクタル ツールキットを使用してフラクタルを生成します。その後、パイプラインを開発し、ジオメトリを用意して Unreal Engine に取り込む準備をしました。このパイプラインはフラクタルと他のプロシージャルなメッシュ生成方法 (レベルによって異なる) で使用します。
画像提供:Matthieu Fiorilli
ゲーム レベルに生成されたフラクタル メッシュ
Unreal Engine でフラクタルを準備するには、多数のさまざまな作業、すなわち、非常に小さなものを取り除いたり、フラットで歩行可能なスロープを作成したり、UE 内の適切なオクルージョンやメッシュ削減や LOD 生成や UV やライトマップのためにメッシュを分割したりすることが必要でした。このプロセスのすべてが自動化され、Unreal Engine の要件に合わせて調整されます。
画像提供:Matthieu Fiorilli
レベルのインゲーム スクリーンショット
最後に、これらのプロセスがすべて完了した後、レベルが Unreal で構築されます。そして、ライティング システムを使用してライトマップをベイクします。レベルは複数の部分に分かれているので、Unreal Engine のオクルージョン システムは、カメラで見えるメッシュを描画するジョブのみを実行します。UE の LOD システムは、カメラの距離に基づいて必要な密度でメッシュのみを描画します。コリジョンのために、別々の低解像度のメッシュを生成します。
画像提供:Matthieu Fiorilli
ゲームのいずれかのレベルのインゲーム スクリーンショット

最後に

これは、ゲーム内でクリーチャーやクライミングやレベルをどのように処理したかについての概要です。ゲーム全体で使用したコア ワークフローでもあります。必要に応じて、クリーチャーやレベルごとにさまざまなバリエーションを取り入れることができます。

このプロジェクトの課題を解決するためのソリューションを考え出すことは非常にやりがいがありました。インディー開発ゲームなので、自由かつ柔軟に、これを可能にする最新ツールを使用することができました。この投稿が、プロジェクトの技術的プロセスについての概要になり、ツールを使用して得られるものに関してインスピレーションを与えられたらと思います。

ご覧いただきありがとうございます。Chasing the Unseen は PC でリリースされます。プロジェクトの詳細については、www.chasingtheunseen.com を参照してください。

    今すぐ Unreal Engine を入手しましょう!

    Unreal Engine は、世界で最もオープンで高度な制作ツールです。
    あらゆる機能とソース コード アクセスを完備している Unreal Engine を使用すれば、すぐに制作を開始できます。