テクニカルアーティストのJesse Olchawa氏は4月2日(木)、自身のArtStationブログにて「Sky Island Generator Project Breakdown」と題した記事を公開した。本記事は、HoudiniとUnreal Engineを活用し、『ゼルダの伝説 ティアーズ オブ ザ キングダム』から着想を得た「Sky Island Generator(空島ジェネレータ)」の制作工程をブレイクダウンしたもの。

Houdiniによるプロシージャルな島生成

「Sky Island Generator」のコアは、Houdiniのプロシージャルモデリングによるもの。ベースとなる島の形状生成はプリミティブにノイズ(Attribute Noise SOP)を与えて大まかなシルエットを形成する。

その後、VDBを用いてSDF(Signed Distance Field)ボリュームに変換し、ブーリアン処理やスムージング(VDB Smooth)を行うことで、手作業ではトポロジ破綻が起きやすい複雑なオーバーハングや浮遊岩の融合を、破綻なく一体化させている。

▲Houdiniによるジオメトリの生成プロセス。入力画像からベース形状を切り出して厚みやUVを自動生成する。ポリゴン数が3,000を超える際のリダクション処理など、安定稼働のためのエラーハンドリングも組み込まれている
▲Houdiniによるプロシージャル生成のながれ。ベースとなる岩の生成から始まり、水面、草、下部に連なる岩塔の追加、そして植生などが段階的に構築されていく

最後に各ポリゴンの法線方向(Y軸ベクトル)や曲率(Curvature)を計算し、平坦な地面と急な崖をプロシージャルにマスク分けすることで、ディテール生成やアセット配置のための基盤となるデータを自動構築している。

▲アセット配置(スポーン)のルール。木は草地に限定して交差を避ける、岩はサイズを変化させて縁や草地に配置する、睡蓮の葉は水面の面積に応じて散布するなど、論理的な配置ルールが事前に可視化・設計

季節の変化と植生の自動配置

生成された島に対する植生の配置は、Houdini側で生成したポイントクラウドに対するインスタンス処理として実装されている。VEX(Attribute Wrangle)を用いて標高や傾斜角のマスクを参照し、草、低木、広葉樹などの配置密度(Density)やスケール(pscale)を論理的に制御している。

Sky Island Generatorには、季節変化のギミックも組み込まれている。HDA側に「Season」というグローバルパラメータを設け、この数値を操作することで、ポイントが保持するカラーアトリビュート(Cd)やカスタムデータが変化する。このアトリビュート情報はUnreal Engine側に渡され、葉のメッシュに適用されたマテリアル内の頂点カラー(Vertex Color)として読み込まれる。これにより、春の緑から秋の紅葉へと、モデルを差し替えることなくシェーダ側でシームレスな季節の移行を実現している。

▲(左)季節変化をシェーダ実装する前に、夏・秋・冬の各シーズンがセットと全体のルックにどのような影響を与えるかを入念に検証した。(右)Unreal Engine上でのHDA運用。レベル上にHDAを配置し、パラメータからシード値や季節を切り替えるだけで、ジオメトリの配置を破綻させることなく多彩なバリエーションを即座に生成できる

Unreal Engineとの連携とシェーダ構築

Houdiniで構築された一連のプロシージャルアセットは、Houdini Engine for Unrealプラグインを通じてUnreal Engineのレベル上に直接デプロイされる。エンジン内で直接HDAのシード値や季節パラメータを操作してイテレーションを回せる点が、本パイプライン最大の強みとなる。

描画レイヤーにおいては、近年の『ゼルダ』シリーズを彷彿とさせる鮮やかなNPRルックを構築するため、専用のエンジンシェーダが開発されている。地形と岩、地面と草を自然に馴染ませるためのRVT(Runtime Virtual Textures)の活用や、ワールド位置オフセット(World Position Offset)による風の揺らぎ表現、さらにはポストプロセスマテリアルを用いたアウトラインの抽出など、リアルタイム描画における高度なスタイライズド表現を確認できる。

▲Unreal Engineで構築された草の専用マテリアルグラフ。RVTを用いて直下の地面の色情報を取得し、草の色に反映させて自然に馴染ませている。また、World Position Offsetを用いた風の揺らぎ表現も実装されている

CGWORLD関連情報

●Unreal Engineで再構築するプリビズとレイアウト──『KPOPガールズ! デーモン・ハンターズ』制作事例をEpic Gamesが公開

Epic Gamesがアニメーション映画『KPOPガールズ! デーモン・ハンターズ』の制作事例を公開。Unreal EngineとUSDを連携し、多数のキャラクターや観客、コンサート照明などの複雑な要素を効率的に扱うことで、レイアウトおよびプリビズ工程で20〜25%の効率化を実現している。
https://cgworld.jp/flashnews/2603-kpopgirls.html

●Unreal Engineで現代の首都環状線を再構築『首都高バトル』

約18年ぶりに復活を果たしたレースゲーム『首都高バトル』の開発チームへのインタビュー。ゲームエンジンをUnreal Engineに刷新して現代の首都環状線を再設計しており、現実の照度とプレイ画面の明るさのギャップを埋めるための工夫など、「首都環状線の実在感」と「ゲームとしての映え」を両立させる背景表現やライティングのアプローチを紹介。
https://cgworld.jp/article/202602-cgw330-shutoko.html

●Houdiniを使ったリアルな動物の毛並み表現をCafeGroup西田健一氏が徹底解説! 「INSIDE OF DIGITAL ANIMAL」レポート

動物の毛並み表現におけるHoudiniの活用法を解説したセミナーのレポート記事。CafeGroupの西田健一氏が、ゴールデンレトリバーのモデルを例に、ガイドカーブの作成やプログラミング言語であるVEXを用いたマップの管理など、実践的なグルーミング(毛並みの調整)手法を公開している。
https://cgworld.jp/article/202510-houdini-animal.html