REALITY CAPTURE PLUGIN オープンベータ


Houdini 内で Reality Capture の機能を使うことが出来る Reality Capture Plugin のベータがリリースされました。

 

ライセンスと対応OS

Reality Capture Plugin を使うにあたり、Reality Capture のライセンスが必要になります。デモ版やSteam 版のReality Capture ライセンスは対応していません。コマンドラインでの利用はCLI ライセンスのみ対応しています。

OSは現在はWindowsのみ対応しています。

 

インストール

SideFXのReality Capture Plugin のページに行き、インストーラーをダウンロードします。リンゴを360度回転させて撮影した写真データとHipファイルもダウンロードできます。

インストーラーを起動してインストールすると、Houdini.envに自動的に下記の情報が追加されます。もし自動的に追加されない場合は、HOUDINI_PATH にプラグインのインストール先、PATHにプラグインインストールフォルダ内のbinフォルダを指定します。

# Reality Capture Plugin for Houdini
HOUDINI_PATH=C:\Program Files\Side Effects Software\Reality Capture Plugin for Houdini 16.5;&
PATH=C:\Program Files\Side Effects Software\Reality Capture Plugin for Houdini 16.5\bin;$PATH&;

 

インストールが正しく終了すると、Houdini のSOPレベルで5つの Reality Capture SOP が作れるようになります。

 

もし ノードが5つ表示されず2つだけ(RC Register Images と RC Load Texture Model )しか表示されない場合 は、何らかの理由で dso プラグインファイルが読み込まれていません。その場合は最新のデイリービルドを使用するか、Microsoft Visual C++ 2015 Update 2 Redistributable (x86 and x64)をインストールすると解決するかもしれません。

 

使用方法

RC Register Images SOP

まずは、RC Register Images SOP で写真を読み込みます。Add Images ボタンを押して複数のファイルをまとめて読み込むことが出来ます。

RC Align Images SOP

次に、RC Align Images SOP で実際にポイントクラウドを作ります。RC Align Images SOP を初めて作成してディスプレイフラグをつけると、ブラウザにタブが開かれアクティベーションを求められます。ここでメールアドレス、パスワードを入力し、ライセンスの種類、期間、期間内にこのライセンスを他のマシンに割当てない事に同意をしてアクティベートします。

アクティベーションが成功すると、Houdini のコンソールにライセンス情報が表示されます。ライセンス以外に、Reality Capture Plugin にも使用期限が定められていて、期限が切れると新しいインストーラーを使って最新のプラグインをインストールする必要があります。

そしてビューポートにはポイントクラウドが作成されているのが分かります。

 

リンゴのバウンディングボックスの作成

ここでリンゴの部分を選択し、Deleteキーで削除。Blast SOP が作られるので、Delete Non Selected をオンにしてリンゴ以外のポイントを削除するようにします。

そしてBoxを繋げて、リンゴのバウンディングボックスを作成します。

 

RC Create Model

RC Create Model SOP でポイントクラウドからメッシュを作成することが出来ます。インプット1にポイントクラウドを繋げると計算が始まりますが、まず先にインプット2に先程作成したバウンディングボックスを繋げて計算範囲を限定させてから、インプット1にポイントクラウドを繋げると無駄な計算をしなくて済みます。計算が終了するとメッシュが作成されます。色が付いていますが、これはテクスチャではなく頂点カラーです。

ビューポートでハイライトが映っていますが、これを取り除くにはビューポートでDキーを押して、Display Option の中の Effects タブの Default Diffuse を1にすることで Diffuse の色を明るくし、さらに Ambient Light を作成してAmbient Color を1にすることで最終的なテクスチャと近い色で確認することが出来ます。

他にも RC Create Model SOP はテクスチャを割り当てたモデルを出力することも出来ます。ゲーム用のローポリを用いてカメラプロジェクションでテクスチャを割り当てようとしても、ジオメトリの差異が多すぎて正しくテクスチャが作成されないので、ハイポリよりも少しだけポリゴンを削減した中間くらいの解像度のモデルにテクスチャを割り当て、ゲーム用のローポリモデルにテクスチャをベイクするそうです。

 

オブジェクトの向きを修正

リンゴが横向きに作成されているので、GameDev Straighten SOP を使用してリンゴを上向きに立たせます。Select Visible Geometry Onlyを選び、Brush Selectツールでリンゴの底になるであろうプリミティブを選びます。GameDev Straighten SOP は選択したプリミティブの法線を平均し、その法線を上に向けるようにオブジェクトを回転します。

 

Invert Up Axis をONにして上下を反転させます。

そして GameDev Axis Align SOP でオブジェクトを座標の中心に移動し、Y軸の一番低い部分を原点に揃えます。

 

RC Extract Cameras

RC Extract Cameras SOP をRC Align Images に繋げる事よって3D空間上にカメラの位置を表すポイントを作成することが出来ます。現在は位置情報だけ取得することが出来、カメラの回転情報はまだ取得できません。

 

RC Load Texture Model

RC Load Texture Model SOP はテクスチャ付きのモデルを読み込むノードで、RC Create Model SOP に繋げると、テクスチャ付きのマテリアルをセットアップし、ローポリモデルにベイクする用のジオメトリを作成することが出来ます。