Nuke Point Cloudについて

May 22, 2011
以前「BlenderでPointPass(2)」と「BlenderでPointPass(3)」という記事をアップしてから「NukeでPoint Cloudの使い方がわからない」という問い合わせを立て続けに2件いただいたので書いておきます。

前述の記事を書いたときはNukeに標準で搭載されている「PositionToPoints」を使用しています。このノードは通常ではロードされていないので、起動直後にTabキーから検索しても出てきません。

まず「Other」-> 「All Plugins」-> 「Update」を実行して全プラグインをロードしてください。これで「P」のセクションに「PositionToPoints」が表示されます。Tabキーで検索も可能になります。

nukepointcloudh_1.png

このノードのXYZにPPassを接続することでPoint Cloudが表示可能になります。XYZの行列になれば必ずしもPPassでなくてもいいわけで、使い方はアイデア次第ですが。Colorには通常はレンダリングされた画像とか入れてやると見やすいかと思います。前述の「BlenderでPointPass...」では説明の都合上PPassの表示カラーをそのまま入力しています。

nukepointcloudh_2.jpg

Nuke標準の「PositionToPoints」以外に、Pixel Factoryのフリープラグイン「PointCloud」というものがあります。Nuke6以降用でダウンロードするとフォルダ内にMac,Windows.Lunuxの各32/64bit版プラグインが入っています。
「PositionToPoints」はNuke6.1で搭載された機能ですので、Nuke6.0では必然的に「PointCloud」などのサードパーティプラグインを使う必要があります。

Pixel Factory: PointCloud for Nuke6.x
http://www.pxfactory.eu/plug/PointCloud/pointCloud.html

パラメータからも分かる通り、機能的にはほとんど「PositionToPoints」と変わりないのですが、デフォルトの座標系が異なります。MayaのSamplerInfoで出力したPPassの座標ではX軸で90度回転しています。
「PointCloud」ノードにはYZを変換するスイッチはありますが、デフォルトではオンになっていてMayaのSamplerInfoからの出力だと90度回転した状態です。ちなみにPointCloudと一緒に配布されているサンプル画像ではこの状態で正しく表示されます。

nukepointcloudh_4.jpg

nukepointcloudh_3.jpg

...ということは、つまり以前「BlenderでPointPass...」でMayaとの座標系の違いをBlenderのMappingノードで変換していたわけですが、「PointCloud」を使用するならこの変換は不要になるわけです。

nukepointcloudh_5.jpg
BlenderでPointPass(3)」ではMappingのRotation:Xに-90を入れて変換していました

nukepointcloudh_6.jpg

単純にRGBのマッピングの違いなんだと思うのですが、ひょっとするとMaya以外の3Dアプリケーションでは「PointCould」のXYZのマッピング方式が主流なんでしょうか?!このあたりの事情は私にはよくわかりませんが、何かわかったら改めて書こうと思います。

あと地味な違いですが、Nuke標準の「PositionToPoints」は「ScanlineRender」ノードを経由して2Dレンダリングに出力が可能です。


[関連記事]
BlenderでPointPass
AtomKraft 1.0リリース
NukeのLenscareの話