【Houdini16.5基礎編】17.ゲーム開発ツール


今回の記事は、Houdiniで提供されているゲーム開発ツールについての紹介です。

 Game Development Toolsetは、Houdiniのゲーム関連のワークフローを高速化することを目的とした高度なツールの集まりです。 UVマッピングからモーションベクトルに至るまで、シミュレーションに必要な数多くのゲームツールが開発されています。

 すべてのHoudiniの機能はゲームのコンテンツを生成するために使用できますが、このツールセットは現在Houdiniで利用できないゲーム固有のタスクにも対応しています。これらのツールは通常のHoudini開発サイクルとは別に開発され、 現在、Githubページにて展開されており、Houdiniから直接ダウンロードすることができます。

ツールのダウンロード

 Houdiniにはゲーム開発ツール固有のツールを備えたゲーム開発のシェルフタブがあります。 このタブはGames desktopに含まれていますが、他のデスクトップのシェルフセットに追加することもできます。 Update Toolsetボタンをクリックすると、ダウンロードするブランチとリリースを知らせるダイアログが表示されます。

 このツールセットは常に進化しており、定期的に更新する必要があります。 このコレクションで見つけることのできるツールのいくつかを以下に示します。

ジオメトリツール

これらのツールとユーティリティは、Houdiniのジオメトリレベルでの作業に役立ちます。

Calculate Occlusion – SOPレベルで頂点アンビエントオクルージョンを計算します。 強度、減衰、ぼかしのためのたくさんのコントロールがあります。

Delete Small Parts – ユーティリティのSOPを使用して、サイズのしきい値に基づいて小さな切断部分を削除します。

Edge Group to Curve – エッジ選択(グループ)をポリゴンカーブに変換します。 モデルや他の多くのアプリケーションに沿って何かを移動したい場合に便利です。

Skinning Converter – Skinning Converterは、変形していないトポロジを変形させ、メッシュシーケンスをボーンベースのアニメーションに変換できるHoudini Digital Asset(HDA)です。

Group Edge Loop – ポイントループ、プリムループ、およびエッジループを手順的に生成します。 1本ずつ、2本ずつ、のように指定した数だけループ中のエッジ選択をスキップするオプションもあります。

Group Expand – グループを複数のイテレーションで拡大または縮小します。 正のイテレーションで拡大し、負のイテレーションで収縮します。

Instant Meshes Bridge – インスタントメッシュは高性能のオープンソースのクアッドリメッシャーです。 このSOPは、より高度なHoudini経験者のためのもので、コマンドラインインターフェースをラップしています。

Soften Normals – オブジェクトの法線をソフトにし、必要に応じてUVシームを硬化させるためのユーティリティスクリプトです。

PolyDeform – 最初の入力を変形して2番目の入力の形に合わせます。 スキャニングされたデータを変更するのに非常に便利です。

Quick Material – クイックシェードの強化版です。 diffuseで使用するテクスチャに適用するだけでなく、SOPレベルで異なるPBRマテリアル設定のすべてを適用します。

Thicken – 平面に厚みを与えます。 ジオメトリのエラーを避けるために、オブジェクトをどのように太くするかを考えた少しスマートなロジックもあります。 水密オブジェクトを作るのに最適です。

Unreal Pivot Painter – Unreal 4のピボットベースのアニメーションノードに必要なデータを生成するツールです。 これにより、従来のジョイント設定に比べて非常にわずかなオーバーヘッドで複雑なシェーダアニメーションを行うことができます。

 

フローマップツール

 フローマップを使用すると、ゲーム環境内の液体の動きをシミュレートできます。 これらのツールは、Houdini Fluidシミュレーションをフローマップに変換するのに役立ちます。

Flowmap – フローマップをエクスポートするために、メッシュ上の正しいアトリビュートを初期化します。

Flowmap Guide – 曲線を追加入力として使用し、その曲線に基づいてフローマップの速度フィールドを曲げます。 フローフィールドを非破壊的にコーミングするのに非常に便利です。

Flowmap Obstacle – オブジェクトを追加入力として使用し、そのオブジェクトの周りの速度フィールドを強めます。 非常に迅速にオブジェクトの周りの流れを曲げるのに便利です。

Flowmap To Color – ワールド空間速度ベクトルを正接(UV)空間色に変換します。 これにより、ユーザは、速度をゲームエンジンで使用される頂点カラーとしてベイクすることができます。

 

リアルタイムFXツール

 ビデオゲームのビジュアルエフェクトは、ゲームプレイに干渉しないようにできるだけ軽くなければなりません。 これらのツールは、FXをHoudiniからゲーム用のアセットに変換するのに役立ちます。

Make Loop -一定のトポロジーを持つボリュームまたはメッシュを自動的にループさせます。この機能は、アニメーションを半分にオフセットし、アニメーションをそれ自体にクロスディゾルブすることによって実現されています。

Texture Sheets – このノードはFlipbooks / Texture Sheetsの生成に役立ちます。ボリュームデータと従来手法である6 light rig(6方向からライティングを行い、法線を出力するためのライトが組み込まれたリグ)の両方に基づくノーマルの生成と、テクスチャをパックする機能が含まれています。Vertex Animation Textures – シミュレーションデータをテクスチャファイルにエクスポートします。これにより、非常に効果的な高解像度シミュレーションの頂点シェーダ再生が可能になります。ここでは 4種類のシミュレーションがサポートされています。

Destruction Cleanup – オブジェクトが移動したかどうかに基づいてRBDシミュレーションを最適化します。

RBD to FBX – 破壊シーケンスをFBXにエクスポートします。パックされたプリミティブ破壊設定が適用され、すべてのポイントデータがオブジェクトレベルまで移動します。これにより、FBXはそれをトップレベルのモーションとして解釈できます。ほとんどのゲームエンジンは、このデータをネイティブに再生できるボーンメッシュアニメーションとして解釈します。

Static Fracture Export – リアルタイムディストラクションのために破損していない部分をエクスポートします。 Unrealの破壊システムとNVIDIAのPhysXLabに役立ちます。

Motion Vectors – 速度ベクトルをカメラ空間にレンダリングするので、フレームブレンドフローマップとして使用できます。

Vector Field – ベクトルフィールドは、UE4のGPUパーティクルを制御するために使用される速度グリッドです。このツールは、Unrealが使用するFGAファイル形式にエクスポートします。

 

UVマッピング

 テクスチャUVは、ゲームのアートを作成する上で大きな役割を果たしています。これらのツールは、Houdiniの既存のUVツールセットを補完して、より迅速かつ効率的に使用できます。

Auto UV -自動的にオブジェクトの継ぎ目を生成​​し、その直後にUV Flattenを実行します。これには 2つの主な手法があります。:

 ・Shortest Path: 最短パスアルゴリズムを使用して、サーフェスの曲率に基づいてシームを定義します。

 ・Cluster: メッシュを四分円とuvアイランドに細分します。

Mark Seams – このノードでは、UVなどの一般的なワークフローのエッジグループをより直感的に管理することができます。基本的には選択肢を保存し、プリミティブ選択をプリミティブ境界のエッジ選択に変換することを可能にするウーバーグループノードです。

Axis Aligned – UV Unwrapに似ていますが、小さなアイランドをクラスタリングする上ではこちらの方が効果的です。

UV Stack – 同様のUVシェルをスタックします。ヘアーのワークフローや一般的なUV管理に最適です。バリエーションを増やすためにランダムにスタックを分割するためのいくつかの特別なコントロールも含まれています。

UV Unitize – メッシュのすべての面を0〜1のUV値にするための簡単なユーティリティツールです。

UV Visualize – UVを視覚化するヘルパースクリプトです。シームの可視化、UV空間とモデル空間の間のワープ、グリッドテクスチャのタイリングの変更、およびアイランドの可視化などの機能を含みます。

 

ベイキング

 これらのツールはHoudiniのベイキングツールをラップしており、アーティストに対して作業しやすい環境を提供しています。

Games Baker – このノードは、追加の設定なしで共通のマップを簡単にベイク処理することができ、任意のポイントアトリビュートをベイクできるようにすることでベイクプロセスを単純化しました。また、このノードはハイメッシュのディティールをローメッシュのテクスチャとしてベイクすることができます。このノードひとつで複数のハイメッシュモデルとローメッシュモデルのペアについてベイクをすることができます。

Simple Baker – SOPレベルでのゲームベイカーのラッパー。 2つの入力としてローメッシュとハイメッシュをとります。

 

ノーマルマップ

 このツールを使用すると、Houdiniの合成コンテキストを利用して法線マップを編集できます。

Normal Map – グレースケール画像からノーマルマップを生成します。ノーマルとインテンシティスケールをソフトにするオプションが追加されています。

Normal Combine – 2つの法線マップを適切に正規化したまま結合します。

Normal Invert – 画像の個々のチャンネルを反転させます。通常はYチャンネルを反転させます。

Normal Normalize – 画像が3つのチャンネルの値すべてが正規化されている、有効な法線マップであることを保証します。

Normal Rotate – すべての法線ベクトルを正しい方向に保ちながら、法線マップを回転します。

 

相互運用性

 これらのツールを使用すると、データをHoudiniにインポートしたり、ゲームエンジンにエクスポートしたりすることが容易になります。

Impostor Texture – impostorツールは、ゲームエンジン内の3Dオブジェクトのフェイクとなるテクスチャシートを作成します。このツールは、完全な3D、固定軸、アニメーションのimpostorを作成します。

OSM Import – オープンストリートマップは、市街地のデータベースです。このノードは、OSMファイルをHoudiniに、そしてビルディングと通りの異なるタグ付けされたアトリビュートすべてに効率的にロードします。

OSM Buildings – オープンストリートマップは、市街地データ用のデータベースです。このノードは、OSMインポートノードから取り込まれたデータを解析し、プロファイルカーブから建物ジオメトリを生成します。

FBX ROP – FBXエクスポート機能をSOPコンテキストに持ち込むユーティリティノードです。現在、SOPからジオメトリとalembicはエクスポートできますが、FBXにおける同等のバージョンはありません。

CSV Exporter – ジオメトリからデータを抽出してPythonによってCSV形式で書き出す簡単なサンプルROPです。コードの大部分は、[Type Properties]ダイアログの[Scripts]タブにあります。

Volume Textures -ボリュームを3Dテクスチャのフリップブック表現に変換します。得られたテクスチャは、リアルタイムでHoudiniをレンダリングするRay Marchingシェーダで利用できます。

 

 

ゲーム開発ツールについての詳細はSideFX公式のこちらのページを参照してください。