。 PS3,Xbox 360のような現世代機では,ドラクエ10 RMT,「3Dモデルのどの表皮に積層させるか」という部分で,事前にジオメトリレベルでのモデルリングが必要だが,自在にポリゴンの生成や消失が可能なジオメトリシェーダが利用できることになるはずの次世代機では,事前準備なしに積層型の毛皮生成手法が利用できるはずだ。 Shell法の問題点 ただ,一つ問題があるとすれば「その毛皮断面図をどうやって作るか」だ。 「積層している毛皮の断面」というのは直接見ることができない画像である。実物の毛皮を参考にしても,毛先の層だけだとどんなテクスチャになるのかと言われて絵の描ける人はまずいないだろう。まして,中間層となると試行錯誤を重ねてそれらしいものを作っていくほかない。 密度や毛伽蛟O定して,パラメトリックに毛皮断面テクスチャを生成するツールを開発する……というアイデアも思いつくが,希望する毛皮状態を作れるようになるにはそれなりの熟成が必要になるだろう。 Shell法に用いる毛皮断面テクスチャをプロシージャル生成する方法 これに対して,今回の早稲田大学の研究グループが開発した手法は,かなり大胆かつシンプルな手法になる。 今回発表された研究の目的 用意するのは,「どんな毛皮にしたいか」の例として,あらかじめ撮影しておいた毛皮の写真1枚でいいのだ。 これを“ネタ?テクスチャ”としてシステムに入力してやると,この写真を解析して,自動的にShell法のファーシェーダで用いる毛皮の断面テクスチャを,rmt,任意の積層数で生成してくれるのである。毛皮写真を種にした「プロシージャルテクスチャ生成手法」といっていいかもしれない。 毛皮写真と実際の毛皮の関係性について再考してみる 早稲田大学で開発されたシステムでは,毛皮を散乱媒伽纫姢胜罚い涡凑妞松袱棵靼丹习滦肖较颏沃甘v数的な輝度減衰によるものだと仮定している。この仮定に基づけば,毛皮の写真から,見えている毛までの深度情報が推測できることになる。 つまり,1枚の毛皮写真をもとに,直上から見た深度分布を推測するわけだ 今回発表されたテクニックの基本概念 推測された深度情報分布をもとに,実際にほしい毛皮断面テクスチャの枚数分だけ横からスライスして,毛髪との交叉点のところにドットを打つようなアルゴリズムで毛皮断面テクスチャを生成している。 深度情報分布を指定枚数でスライスするためには,深度情報分布の最大値と最小値が必要になるが,これは入力写真の輝度のヒストグラムから算出できるので,実行時,あるいは事前に求めればよい
関連トピック記事: