2013年01月25日

Ptex

お久しぶりです。
good sun晴れこと山口です。


今回はJavaScriptの準備が間に合わなかったので、
JavaScript以外のお話をしたいと思います。

私はゲーム以外でもカチンコ映画等の3DCG技術にも興味がありまして、
今回はそちらの技術の簡単な紹介をしたいと思います。

最近はリアルタイムの3D映像もプリレンダーに負けないくらい高品質なものになってきました。
これはシェーダという機能の実装に伴い、従来はプリレンダーで使われていた様な手法がリアルタイムに取り入れられたというのが大きいのでは無いでしょうか。

オープンソースの新しいテクスチャ手法の"Ptex"の紹介をしたいと思います。
http://ptex.us/index.html
Per-Face Texture Mapping
という名前の通り面毎にテクスチャマッピングを行う手法です。
UV展開は不要で(UVは面毎に自動生成されます)テクスチャのつなぎ目を強力に軽減する仕組みを持っています。
さらに複数のチャンネルのデータ(スペキュラとかカラーとか)を一つのファイルで扱えます。
詳しくは以下に論文があります。
http://disney-animation.s3.amazonaws.com/technology/opensource/ptex/ptex.pdf

UV展開が不要というのとテクスチャのつなぎ目が出ないという点に関して、
作業効率が上がる為とても素敵な機能に見えるのですが、
ゲームで利用する場合にはデータサイズが大きかったり、
常套手段のテクスチャの使い回しによる節約が出来ない為、
まだまだハードウェア制限的に現実的ではありません。
(bake用の高品質データを作るのには都合が良さそうです)

Ptexをサポートしている3Dツールも増えてきている為、3Dアーティストの方は試しに使ってみた方もいるのではないでしょうか。
残念ながら私はまだ使っていません。
ペイントは3D-Coatユーザーなので出来るのですが、レンダリング出来るソフトを持っていないのですよね。
ProjectMessiahがサポートしてくれたら是非試したいです!

尚このPtexをなんとリアルタイムで動かすデモを2011年にnVidia社が行っています。
テクスチャサイズ278MBは凄い...ですね。

同じように映画で使われていた技術では、
Catmull-Clarkもついにオープンソース化されました。
いつかゲームでも採用されるかもしれないですね。
http://graphics.pixar.com/opensubdiv/

直接はまだゲームに関係のない事かもしれませんが、
少し未来の技術としてこういった手法にも目を向けていきたいと思います。

リアルタイム3Dの世界に映画で使われていた手法が取り入れられてきて、
3DCGを使った映画は将来的にリアルタイムで描画されるようになるかもしれないかと思うとわくわくしますわーい(嬉しい顔)


では今回はこの辺で手(パー)、次回はJavaScriptネタが書ければと思っています。


posted by 管理人 at 21:04 | 日記