Game Development Toolset

Game Development Toolset は Houdini におけるゲーム関連のワークフローをスピードアップするための高度なツールのコレクションです。 UV 編集から、シミュレーションよりモーションベクトルを抽出するなど、90以上のツールが用意されています。

これらのツールは通常の Houdini の開発サイクルからは分離しており、テスト可能な状態になったらすぐに使うことができるようになっています。 これらのツールは現在 SideFX の github ページで公開されており、Houdini 内部から近く更新可能になる予定です。

ツールのダウンロード

16.5 より、Houdini 内より直接ダウンロードできるようになりました。
Games Development シェルフ (これ自体は表示するように自分でしなければならないかもしれません) 以下の Update Toolset ボタンをクリックしてください。最近のリリースよりデイリービルドがリリースされるようになり、デイリービルドかプロダクションビルドか、どちらをダウンロードするかを選択するダイアログが表示されるようになりました。

最新のバージョン、最新のツールを試したいのであれば、 デイリービルドをダウンロードしてください。

Github よりツールを直接クローンすることも可能です。詳しくは下記をご覧ください。

Github の詳細

ツールは SideFx Github リポジトリからダウンロードが可能です。
そこには Stable と Development という二つの主要なブランチがあります。ツール開発は積極的に行われ、まず Development ブランチに入れられるため、最新版を希望する場合はそちらを確認してください。安定性が確認されたツールは定期的に Stable ブランチへプッシュされます。

免責事項: これらのツールはその状態のまま提供されます。 私たちは起こりうるトラブル解決のためにできる限りのソースを公開しています。 このツール開発に取り組むフルタイムの開発者チームがいますが、これらのツールは通常の SideFX サポートチームで対応することはできません。

免責事項その2: ビルド1.26 より、どのノードが頻繁に使われるかを把握するための解析ツールが追加されています。この詳細およびこれを無効化する方法は https://www.sidefx.com/legal/houdini-anonymous-usage-statistics/ にあります。

チュートリアルコレクション

GameDev ツールに関するチュートリアルを Game Tools Learning Path ページにまとめました。下記のリンクよりツール種類別のコレクションにアクセス可能です。

ツール詳細

SOPs - サーフェス オペレータ

Auto UV
自動的にオブジェクトに UV シームを作成、その後ただちに UV Flatten を実行します。 主に二つのテクニックが使われます。

  • Shortest Path: UV シームを作成するため、サーフェスの曲率に応じて最短距離を割り出すアルゴリズムを使用しています。
  • Cluster: メッシュを四辺形で分割してUVアイランドを作成します。
  • Axis Aligned: UV Unwrap に似ていますが、細かくなりすぎた UV アイランドをよりうまくまとめています。
  • Unwrap: 基本的な UV Unwrap 法です。
チュートリアルリンク

Axis Align (新機能)
モデルの XYZ 軸をバウンディングボックスにアラインする簡単な方法です。
チュートリアルリンク

Measure Curvature - Calculate Curvature より名称変更
モデルの曲率を計算するための7つの異なる方法を提供します。うち 2 つはビルトインメソッドで、残りの 5つは Houdini ユーザの Petz によって考案されたものです。
プロシージャルにエッジにダメージング加工やその他のエフェクトをを施す際に便利です。

Box Clip (NEW)
6つのクリップ操作を一度で行うための簡単な HDAです。小さなジオメトリを分離するのに便利です。

Calculate Occlusion
Vertex (頂点) 単位のアンビエントオクルージョン (AO) を SOP レベルで計算します。強度、減衰、ブラーなど、様々なコントロールがあります。
チュートリアルリンク

Cylinder Generator (NEW)
Mesh Generators の一部の HDA で、一本のカーブを入力としたシリンダを作成します。
チュートリアルリンク

Decal Projector (NEW)
インゲームのデカールシステムのように挙動しますが、内部ではブーリアンが基になっていて、より正確なでカールジオメトリを生成しています。真っ当な 0-1 UV 空間でデカールを生成します。

Delete Small Parts
size の閾値を用いて細かい分裂したパーツを削除するための ユーティリティ SOP です。
チュートリアルリンク

Delight (NEW)
頂点カラーからアンビエントライト成分を除去します。フォトグラメトリワークフローにおいて便利です。

Destruction Cleanup
Epic Twitchで紹介した、オブジェクトが動いたかどうかを元に RBD シミュレーションを最適化するノードです。

Disk Generator (NEW)
Mesh Generators の一部のHDAで、ディスク形状を作成します。

チュートリアルリンク

Edge Group to Curve
選択されたエッジ (グループ) を1本のポリゴンカーブに変換します。モデルに沿ってスイープする際や他の様々な場合において便利です。
チュートリアルリンク - 5:07 より

Extract Borders (NEW)
境界エッジをカーブとして抽出します。オプションを使うことで、ジオメトリエッジではなく、UV エッジの抽出も可能です。

Extract Filename
ファイル情報を detail アトリビュートとして格納し、他の SOP で参照できるようにするためのユーティリティ SOP です。
チュートリアルリンク

FlowMap - Create FlowMap より名称変更
フローマップを出力するための正しいアトリビュートをメッシュ上に初期化します。
チュートリアルリンク - フローマップノードすべて

Flowmap Guide
指定されたカーブを入力として用い、そのカーブに沿ってフローマップの速度フィールドを曲げます。 フローフィールドを非破壊的に合成するのに非常に便利です。
チュートリアルリンク - フローマップノードすべて

Flowmap Obstacle
指定されたオブジェクトを入力として用い、周辺の速度フィールドを強調します。オブジェクト周辺のフローを急に曲げるのに便利です。
チュートリアルリンク - フローマップノードすべて

Flowmap To Color
ワールド空間の速度ベクトルを、タンジェント (uv) 空間のカラーに変換します。 この機能により、速度を頂点カラーとしてベイクし、ゲームエンジンで使うことができます。
チュートリアルリンク - フローマップノードすべて

FBX ROP (H16.5 にビルトインされ、GameDev Toolset からは取り除かれました)
FBX 出力能力を SOP コンテキストで使えるようにするユーティリティノードです。 現在 SOP からはジオメトリと alembic形式で出力を行うことができますが、FBX で同等の事を行うことはできませんでした。

GameRes (NEW)
高解像度メッシュを自動的に削減し、UVを追加、マップをベイクします。メッシュパイプラインを一つにまとめたものです。

Group by Attribute (NEW)
partition ノードに似ていますが、よりわかり易い UI です。単一のアトリビュートからグループを生成します。

Group Edge Loop
プロシージャルに点、プリミティブ、そしてエッジループを生成します。また N 番目をスキップするオプションもあり、興味深い結果をもたらします。
チュートリアルリンク - 要更新

Group Expand
反復数によりグループを拡大縮小します。正の値は拡大、負の値は縮小になります。
チュートリアルリンク - 要更新

Instant Meshes Bridge
Instant Meshes はオープンソースの素晴らしいクワッドリメッシャです。 このSOPは単純に、Houdini らしい使いやすさを実現するために、コマンドラインツールにインターフェースを施しています。
チュートリアルリンク

Make Loop
ボリュームまたはトポロジが変わらないメッシュを自動でループさせます。 この操作はアニメーションを半分オフセットし、元のアニメーション自身にクロスディゾルブすることで行われます。
チュートリアルリンク

Mark Seams
このノードは UV 編集のような共通ワークフロー上において、エッジグループの直感的な管理を可能にします。基本的にはウーバーグループノードで、選択を格納することを可能にし、またプリミティブの選択からプリミティブ境界エッジに沿ってエッジ選択に変換することも可能です。
チュートリアルリンク

Merge Small Islands
AutoUV の一部になっているノードを単一ノードとして露出したものです。細かい島になってしまった UV をより大きな島にまとめます。

Mesh Tiler
平面状に配置されたメッシュの集合をタイル可能なレイアウトに変換します。3Dメッシュからタイル可能なテクスチャを生成するのに便利です。
チュートリアルリンク

Multi File
このノードは、複数の OBJ または FBX を単一の SOPでロードすることを可能にします。
チュートリアルリンク

Niagara Impacts, Niagara Interpolate, Niagara RBD Split, Niagara ROP (NEW)
UE4 へ Niagara 出力パイプラインを利用するためのノード集です。
チュートリアルリンク

OSM Import
Open Street Map は街路に関する強力なデータベースです。このノードは OSM ファイルを効率的にHoudini に読み込み、建物や道路上に付いた異なるタグを全てアトリビュートとして読み込みます。
チュートリアルリンク

OSM Buildings
Open Street Map は街路に関する強力なデータベースです。このノードは OSM Import で読み込んだデータを解析、 ビル用ジオメトリをプロフィールカーブを元に生成します。

Physics Painter
オブジェクト上に物理オブジェクトをペイント配置して重力をシミュレーションすることを可能にする HDA (Houdini Digital Asset) です。
チュートリアルリンク

PolyDeform
最初のインプットを2番目のインプットにあわせてデフォームします。3Dスキャンデータを変形するのに非常に便利です。
チュートリアルリンク

Quick Material 2.0
QuickShadeの強化版です。diffuse テクスチャだけでなく、すべての PBR マテリアル設定を SOP レベルで可能にします。
チュートリアルリンク

RBD Director (NEW)
新しい RBD ワークフローの一部で、ボリュームを元にアクティブな固まりをコントロールできます。

RBD Fracture (NEW)
新しい RBD ワークフローの一部で、製作現場で使われてきた共通のコツを元にした Voronoi 破砕をするためのラッパノードです。

RBD Solver (NEW)
新しい RBD ワークフローの一部で、RBD オブジェクトを SOP コンテクストの中でシミュレーション可能にします。

Remove Inside Faces
最適化を行うためのノードで、boolean ノードを使わずにジオメトリのクリーンアップを行います。

Retime (NEW)
カーブパラメータによりアニメーションシーケンスのリタイムを簡単なUIを元に行うことができます。

Simple Baker
GameBaker を SOP で行うためのラッパノードです。低解像度メッシュを最初の入力に、高解像度を2番目の入力に接続します。
チュートリアルリンク

Sketchfab Output (NEW)
Sketchfab へ Houdini から直接モデルをアップロード可能にします。
チュートリアルリンク

Skinning Converter - NEW in 16.5
Skinning Converter は、トポロジが変わらずにデフォメーションを行っているメッシュをボーンベースのアニメーションに変換するための HDA (Houdini Digital Asset) です。パラメータを元に望む結果に向けてコントロールすることが可能です。
チュートリアルリンク

Soften Normals
オブジェクトの法線をソフトにするためのユーティリティスクリプトで、オプションとしてハードにすることも可能です。
チュートリアルリンク

Sphere Generator (NEW)
Mesh Generators の一部のHDAで、Realtine VFX 向けの UV 付の 球を生成します。
チュートリアルリンク

Static Fracture Export
リアルタイムの破壊のセットアップのために破壊前の破片を出力します。Unrealの破壊システムやNVidiaのPhysXLabを使用する場合に便利です。

Terrain Mesh ROP (NEW)
タイル状のハイトフィールドメッシュを様々な設定を元に出力します。
チュートリアルリンク

Terrain Texture ROP (NEW)
ハイトフィールドを様々な設定を元に、例えばノーマルマップなどのテクスチャとして出力します。
チュートリアルリンク

Thicken
プラナーサーフェスに対し厚みをつけるためのノードです。ジオメトリのエラーを避けるためにちょっと賢いロジックを使っていて、オブジェクトに隙間が無いようにするのに便利です。
チュートリアルリンク

Turntable (NEW)
モデルをタイムラインとスピードパラメータでターンテーブルアニメーションするための HDA です。

Unreal Pivot Painter (名称に Unreal 追加)
Unreal 4のピボットアニメーションノード に必要なデータを適切に作り出すツールです。このツールは、複雑なシェーダーアニメーション処理を、従来のジョイントによる設定に比べて極めて少ないオーバーヘッドで可能にします。
チュートリアルリンク

UV Stack (UV Stacker から名称変更)
同じような UV シェルをスタックします。髪のワークフローやUVの管理全般に最適です。 またバリエーションを持たせるためにランダムに分けるためのコントロール機能もあります。
チュートリアルリンク

UV Unitize
メッシュの全ての面のUVを0-1にするための単純なユティリティツールです。
チュートリアルリンク

UV Visualize
UVをビューポートに表示するためのユーティリティーツールで

  • Visualize Seams
  • Warp between UV space and Model Space
  • Modify the tiling of the grid texture
  • Visualize Islands
  • といった機能があります。
チュートリアルリンク

VoxelMesh
ジオメトリのクリーンアップのためのポリゴンから VDB への往復ワークフローを簡略するスクリプトです。
チュートリアルリンク

ROPs - レンダーオペレータ

CSV Exporter
ジオメトリからデータを抽出して Python で書き直す手順を実演する例示のための単純なROPです。コードの殆どは Type Properties Dialogue の Scripts タブにあります。

Games Baker
このノードは Mantra のベイキング機能へのラッパーで、ベイクプロセスを単純化し、よく使うマップの出力を簡略化し、ポイントアトリビュートの出力を追加設定無しでベイク出来るようにしました。最近の更新で、high>low のペアを複数同時にベイクすることが可能になり、出力テクスチャの正しい合成ができるようになりました。
チュートリアルリンク

Impostor Texture - NEW
Impostor (ニセモノ) ツールは、ゲームエンジン内に3Dっぽいオブジェクトを表示するテクスチャシートを作成します。 このツールにより、フル3D、固定軸、そしてアニメーションのImpostorの作成が可能です。
チュートリアルリンク

Marmoset ROP (NEW)
アセットを Marmoset に Houdini 内から出力し、Marmoset レンダラーを使って表示します。
チュートリアルリンク

Motion Vectors
速度ベクトルをカメラ空間にレンダリングし、フレーム間でブレンド可能なフローマップとして使用することが出来ます。以下のチュートリアルでは、レンダリング方法と Unreal での使用法の詳細があります。
チュートリアルリンク

Pyro Preview
Pyro レンダリング用のプリセットで、ライトリグと Mantra ROP に取っ掛かり易い初期設定を作成します。
チュートリアルリンク

RBD to FBX
破壊シーケンスをFBXに出力します。これはパックプリミティブによる破壊設定を元に全てのポイントデータをオブジェクトレベルに移行し、FBX に最上位のモーションとして認識させます。 ほとんどのゲームエンジンはこのデータをスケルトンメッシュアニメーションとして認識し、ネイティブに再生可能です。
チュートリアルリンク

Texture Sheets
法線データの作成 (ボリュームデータや従来のライト6つのリグに基づく両方)や、テクスチャをチャネルパックする能力が含まれています。
チュートリアルリンク
Born Digital Houdini サポート


Vector Field
Vector Fields は UE4 内で GPU パーティクルを操作するのに使われる速度グリッドです。 このツールで Unreal が読み取れるFGAファイルフォーマットで出力します。
チュートリアルリンク

Vertex Animation Textures
シミュレーションデータをテクスチャファイルとして出力します。これにより頂点シェーダによる高解像度シミュレーションの非常に効率的な再生が可能になります。4種類のシミュレーションがサポートされています。

  • シミュレーション中のトポロジが一定のソフトボディ (Soft)
  • パックプリミティブによる リジッドボディシミュレーション(Rigid)
  • シミュレーション中にトポロジが変わる流体 (Fluid)
  • 空間を動くポイントを元にしたカメラに正体するスプライト (Sprite)
チュートリアルリンク
Webinar Link

Volume Textures
ボリュームをフリップブック型の 3D テクスチャに変換します。このテクスチャボリュームをリアルタイムレンダリングする Ray Marching シェーダにおいて使用可能です!
チュートリアルリンク

COPs - 合成オペレータ

Normal Color
Color ノードを標準法線マップカラー (128, 128, 255) に初期化するユーティリティノードです。
チュートリアルリンク

Normal Combine
2つのノーマルマップを適切に正規化しながら合成します。
チュートリアルリンク

Normal Invert
画像の各チャンネルを反転させます。殆どの場合、 Y チャンネルを反転します。
チュートリアルリンク

Normal Levels
普通のレベル補正用ですが、-1 から 1 の空間で行います。
チュートリアルリンク

Normal Map
グレースケール画像から法線マップを生成します。追加オプションとして法線のソフト化と強度スケールが追加されています。
チュートリアルリンク

Normal Normalize
3つの全てのチャンネルのバランスが適正にとれている有効な法線マップかどうか画像を確認します。
チュートリアルリンク

Normal Rotate
法線ベクトルを適正に保ちながら法線マップを回転させます。
チュートリアルリンク

コメント

  • kevinthebright 1 年 前  | 

    Looks like Edge Group to Curve didn't make it in the zip file?

    • lkruel 1 年 前  | 

      They Kevin, that one is on the Development Branch. It's fairly new so we're watching for feedback

  • xenakis82 3 ヶ月, 3 週間 前  | 

    I am currently only able to save one frame of data to a CSV file even after setting the export frame range. I would like to export point data from an animation including frame numbers. Is this possible using the CSV exporter?

  • joemaker 2 ヶ月 前  | 

    Great post

  • wosborne 3 週間, 5 日 前  | 

    Hi, I just watched this video where it mentions a new mapbox sop.

    I have downloaded GDTools v1.38 but I cant see this one.

    where can I find it or will it be in the next point release?

    thanks

    • wosborne 3 週間, 5 日 前  | 

      https://vimeo.com/286182503

      • wosborne 3 週間, 5 日 前  | 

        its at 37min 37 seconds.

    • lkruel 3 週間, 5 日 前  | 

      It's coming, it won't be in the next point release, but hopefully within the next 2 weeks

  • baida 1 週間, 1 日 前  | 

    Hi guys! Just noticed that in 'Unreal Material' node there is 'unreal_face_material' attribute created. While in the Houdini Engine plugin documentation it is stated that this attribute is depricated and it is recommended to use 'unreal_material' instead. The both options work fine though, but it would be more clear if the node would correspond to the documentation, So could you please fix that please? :)

Please log in to leave a comment.