オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[SIGGRAPH ASIA]すべてはよりリアルな“もふもふ”のために。毛皮レンダリング最前線ではこんな研究が行われていた
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2015/11/06 00:00

イベント

[SIGGRAPH ASIA]すべてはよりリアルな“もふもふ”のために。毛皮レンダリング最前線ではこんな研究が行われていた

 2015年11月2日から5日まで兵庫県・神戸コンベンションセンターで開催されていたコンピュータグラフィックスの学会「SIGGRAPH ASIA 2015」の講演から,毛皮のレンダリングに関する研究を紹介してみたい。演題は「Physically-Accurate Fur Reflectance: Modeling, Measurement and Rendering」で講演者はバークレー大学のLing-Qi Yan氏だ。

 最近ではゲーム内に登場するキャラクターの髪の毛もかなりリアルになってきている。それらで使われているKajiya-Kayモデルと言われる手法はもはや定番と言ってもよいだろう。さらに髪の毛内部の反射や屈折まで盛り込んだMarschnerモデルは,最先端のゲームデモで使用されている。ではそれが動物の毛皮にも使えるかというと,そうではないというのが今回の話だ。

人間の頭髪表現は飛躍的に進歩を遂げてきた
ミドルウェア/開発ツール

 なぜMarschnerモデルでは十分でないのかというと,毛髪の構造が異なるからだ。
 毛髪は,表面のキューティクル層(Cuticle),内部層(Cortex),芯の部分の髄質層(Medulla)からなるのだが,人間の髪の場合,髄質は小さいため(場合によっては存在しない),Marschnerモデルでは髄質層は無視してシミュレーションを行っている。

毛髪の構造
ミドルウェア/開発ツール

ミドルウェア/開発ツール
 動物の場合はどうかというと,髄質層がかなり大きく,キューティクルも厚いという。そうなると透過光の髄質による影響を無視できなくなるのは当然のことだろう。
 今回の研究では,毛髪を2重の円筒の組み合わせと定義して,髄質の影響をできるだけ忠実に反映したレンダリングを目指している。

 構造が違うから,計算内容も変わってくる。Marschnerモデルでは,

  表面で反射した光 R
  内部を透過した光 TT
  内部に入って内面で反射した光 TRT

といった光を演算して髪の毛の状態を表現していく。図や記号を見ても「?」な人は,反射がRで透過がTと置き換えて追ってみよう。

Marschnerモデルと今回のモデルの違い
ミドルウェア/開発ツール

 それに対し,今回のモデルでは髪の毛を2層構造として扱っているため,R,TT,TRTなどはもちろん,

  TttT
  TrT
  TtrT
  TttRttT

などさまざまな状態が加わってくる。ちなみに小文字は,髄質での反射・透過を意味している。ほかにも,

  TtrtRT

などいろんな状態が考えられるというのは簡単に想像つくだろう。

 スライドでは各種動物の毛を分析した結果が示されていたが,これは縦に張った毛髪に光を当て,縦横方向に散乱される光を計測したものだ。横方向は0度〜180度,縦方向は10度〜50度の範囲が計測されている。散乱されている光の状態を見ると,角度によって意外なくらいクセのあるパターンが示されている。

上からオオヤマネコ,ネコ,シカ,イヌ,ネズミ。左が実測値,真ん中がシミュレーション結果,右が実際にレンダリングに用いられたもの
ミドルウェア/開発ツール
上からウサギ,アライグマ,アカギツネ,スプリングボック(シカに似たウシ科の動物),人間
ミドルウェア/開発ツール

 前出の図のように,動物の種類ごとに特性も変わってくる。それをパラメータ化してまとめたものが以下の表になる。

ミドルウェア/開発ツール

 これらのパラメータでシミュレーションをすればそれぞれの特徴を反映した毛皮がレンダリングできるという理屈になるのだが,はっきり言ってかなり複雑な演算となるのは想像できるだろう。そこで,散乱成分は事前計算でテーブル化しておき,実行時に参照するようなシステムが作られている。

 お待ちかねのその結果はというと,以下のようなものとなる。

オオカミのレンダリング例。160万本の毛(各7関節)を使用している。レンダリングには1フレームで1時間以上かかっている
ミドルウェア/開発ツール

シマリスを今回のモデルでレンダリングしたもの
ミドルウェア/開発ツール
Marschnerモデルではこのようになる
ミドルウェア/開発ツール

ネコの毛皮で,髄質の太さをさまざまに変えた例
ミドルウェア/開発ツール
同じくネコで散乱係数を変化させた例
ミドルウェア/開発ツール

 髄質で反射されることで散乱成分が多くなるためか,全体に毛づやが増している感じになっていることが分かる。より艶やかなもふもふが表現できているわけだ。
 今後の課題としては,リアルタイム化や例外部分の処理,効率のよい散乱表現の確立などが挙げられていた。現状では重すぎてリアルタイム処理とはほど遠いのだが,やがてはリアルタイムに落ちてくるのではないかと期待される。
 こういった手法が確立すれば,動物の表現はこれまで以上にリアルになることが期待でき,ゲームはもちろんバーチャルペットや動物園のようなものも凄いモノが実現できそうで,今後が非常に楽しみな研究といえるだろう。

SIGGRAPH ASIA 2015公式サイト

  • 関連タイトル:

    ミドルウェア/開発ツール

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:11月11日〜11月12日