2017年12月13日に行われたGTC Japanは主にAIなどのディープラーニングやHPCをターゲットとした講演が多かったのだが,プロフェッショナル向けのグラフィックスに関するセッションも行われていた。ここではその系列の講演から,グラフィックス関係素材を扱ったセッションの模様を紹介しておきたい。アスクによる
「マテリアルスキャナー (計測) による MDL シェーダー活用」は,この手の講演では珍しく素材に焦点を当てた内容となっていた。
なお,アスクというのはゲーマーにも聞き覚えのある会社かもしれないが,PCパーツや周辺機器などを扱っているアスクで間違いはない。卸売り以外にもさまざまなことをやっているという例でもある。
ゲームグラフィックスでも物理ベースレンダリングが主流となり,リアルな光源でリアルな質感を持った映像をレンダリングできるようになってきた。リアルな質感を出すには,設定された素材がリアルでなくてはならない。ではどうやってリアルな素材を調達するのかというのが,このセッションのテーマとなっている。ゲームなどのリアルタイムグラフィックスを前提にしたものではないが,根本となる問題は共通しており,参考になる部分もあるだろう。
話を戻して,どうやって素材データを調達するのか? 講演を行ったアスク エンタープライズ事業部の
白澤圭司氏は実物からテクスチャを取り,あとは感覚的にパラメータを調整していくくらいしかされていないのではないかと指摘していた。その原因としては「どうせあとでいじるから」と,きちんと計測することに意義が感じられていないようなことを示唆していた。
そこで白澤氏が勧めたのがNVIDIAが提供しているVMaterialなどに使われるMDLファイルだ。これはMDLという言語で記述された素材の形式でできており,テキストファイルなのでメモ帳があれば記述できないこともない(現実的ではないが)。
これを使う方法としては,
- ライブラリを使う
- ノードエディタなどを使う
- スキャンする
といった方法があるとした。今回テーマとなるのは,最後のスキャンを利用する方法だ。
ここで素材のBRDFパラメータなどを取得するハードウェア,すなわちマテリアルスキャナとして紹介されたのが,S-OGMとX-Rite TAC7の2種類だ。
S-OGMは光のスペクトルごとに素材表面の状態を計測をするものだそうで,照明アームを回しながらさまざまな角度から光を当てて表面の状態をスキャンしていく。1回のスキャンに8時間くらいかかるとのことだが,その分,非常に高精度なデータが取れるそうだ。一応,
公式サイトでは「高速・高精度」となってはいるが……。
X-Rite TAC7のほうはもう少し手軽そうだが,筐体の中に入れた資料に対して,こちらもさまざまな光のパターンで数千回のスキャンを行うものとなる。単にBRDFだけでなく,凹凸の状態も再現できるという優れものだそうだ(
公式サイト)。スキャン時間については明示されなかったのだが,S-OGMよりは速いようだ。
さて,どちらのもの凄い精度でデータを取れそうなのはよいのだが,資料をセットする必要があるため,どうしても手軽とはいえないように思われる。たとえば,クラシックカーなどを完全再現したいとなったとしても,クルマを切り刻むわけにはいかないようなこともあるだろう。実は,この講演を聴くまで,このセッションではハンディタイプのOPTIS OMS2(
公式サイト)が紹介されるのだろうと思い込んでいたのだがちょっと違った。これのファイルコンバータはないんだろうか。
さて,講演ではX-Rite TAC7を使った素材取り込みについてさらなる解説が行われた。実はTAC7が出力するのはMDL形式ではないのだが,SUBSTANCE Designerを使えばMDLに変換できると,説明を引き継いだボーンデジタルの
中嶋雅浩氏は語っていた。
テクスチャ関連ではデファクトスタンダードとなりつつあるSUBSTANCE Designerを使うことで,単に取り込んだだけのデータに対して,模様を付けたり,色を変えたりといったさまざまな加工が行えるのでさらに応用が広がるとのこと。SUBSTANCEで扱えるならむしろ歓迎する向きも多いだろう。
色などを変えた場合,ほかのパラメータとの整合性は保証されるんだろうかというのはちょっと気になるところではあるが。
マテリアルスキャナとSUBSTANCE Designerを使ったワークフロー
![[GTC Japan]現実の素材からデータを取り込むマテリアルスキャナとは?](/article/1712/17121403/TN/012.jpg) |
講演では,実際に取り込んだ例や,取り込んだ素材使ってV-Rayをでレンダリングするまでの過程などが示された。具体的なやり方については,講演のムービーが公開されるはずなので,興味のある人はそちらを参照するといいだろう。
最後に白澤氏は,Vray用の赤い車体色素材各種によるレンダリング結果を並べて,違いを示した。一番右がマテリアルスキャンによるものである
![[GTC Japan]現実の素材からデータを取り込むマテリアルスキャナとは?](/article/1712/17121403/TN/009.jpg) |
MDLに対応したシェーダを使えば,MaxやMayaで同じ素材を同じようにレンダリングできる。ゲームに落とし込むことを前提とするとシェーダが重い気はしないでもないが,やがては一貫したワークフローが使われるような時代になるのだろう。統一的なフォーマットで物理ベースの素材データを蓄積しておくことは無益ではない。現状でのコストなどの問題はあるかもしれないが,こういった方法があることも頭の隅に置いておきたい。