HoudiniでInstant Meshブリッジを使用する方法が公開されておりました。
https://www.sidefx.com/tutorials/houdini-game-dev-tools-instant-meshes-bridge/
Instant Meshはオープンソースのクワッドリメッシャーです。上記サイトのムービーではHoudiniからInstant Meshを呼び出し、ワークフローの中で使用する方法が説明されています。
それでは、インストールから使用方法までご説明致します。
ダウンロードとインストール
GirHubからInstant Meshをダウンロードします。
ページ中ほどにあるPre-Compiled binariesから該当のOSをクリックします。ダウンロードしたらZIPファイルを解凍します。
これでコンパイル済みの実行ファイルを入手可能です。
同様にDatasetsをクリックし、datasetsファイルを解凍しておきます。
回答したdatasetsフォルダを実行ファイルInstant Meshes
, Instant Meshes.app
, またはInstant Meshes.exe
と同じディレクトリに保存してください。
また、Game Development Toolsetも更新されていますので、最新のGitHubからダウンロードし、新しいものに置き換えて下さい。
Game Development Toolsetのインストールは下記をご参照ください。
Houdini Game Development Toolsetのインストール
使用方法
Game Development Toolsetが正しくロードされている場合、Geoデータ内にsop_instant_meshes_bridgeノードが作成できます。
選択し、ノードのSettingsタブを確認します。
ここでは、Instant Meshesの実行ファイルへのパスとテンポラリファイルの保存場所が指定されています。
Instant Meshes Locationが実行ファイルのある場所を指定できているのか確認してください。
準備ができたら、Fileノードを作成し、そこにスキャンしたモデルデータ等高解像度モデルをロードします。
Datasetsをダウンロードしていると、中にplyファイルが入っているので試しに使用することができます。
ここでは、ganesha.plyをロードしました。
Fileノードを先ほど作成したsop_instant_meshes_bridgeに接続し、Displyaフラグを有効にします。
計算が終わると結果が表示されます。
デフォルトでDesired Vertex Countが1000に設定されているので、四角ポリゴンにリメッシュされて結果が 表示されました。
本当に驚くほどきれいな四角ポリゴンで構成されたメッシュが作成されました。
Desired Vertex Countを10000まで上げてみました。
かなりきれいに全体のシルエットを保持しつつ、ポリゴンの流れも美しいです。
ぜひお試しいただければ幸いです。
注意点
実際にいくつかのデータをロードして注意が必要な点がありました。
- ノーマル方向に注意
読み込んだジオメトリが部分的に裏返ったノーマルを持っている場合があります。特にスキャンデータにこの手の問題が多いかと思います。
このままInstant Mesh Bridgeに適用すると部分的に裏返ったノーマルを保持しているため、修正に手間がかかります。
上記の場合、Instant Mesh Bridgeに接続する前に、行ったんopenVDBに変換し、再度Polygonに戻します。
File>VDB from Polygon > Convert VDBという流れを作成し、このconvert VDBのオプションでCompute Vertex Normalを有効にすると下記のようにVertex Normalが再計算されます。
そのデータをInstant Mesh Bridgeに接続するとすべて外側を向いたNormalで低解像度四角ポリゴンジオメトリを生成できます。