お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/08/28 15:11

イベント

[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

 昨年に開かれたCEDEC 2012で,「毛皮表現用プロシージャルテクスチャ生成技法」を発表した早稲田大学理工学部の森島繁生研究室(関連リンク)が,CEDEC 2013でも,ゲームに応用できそうな興味深いリアルタイムグラフィックス技術を2つ発表している。今回は同研究室の発表内容をかいつまんでレポートしたい。


降り積もる「埃」をリアルタイムにレンダリング?


 毛皮や芝のように,背の低い繊維状のオブジェクトをレンダリングする手法に,「シェル法」というものがある。
 シェル法では,毛皮や芝の断面図ともいえるテクスチャを用意して,これを積層させたポリゴンに適用することで,細い繊維を表現する。簡易的ボリュームレンダリングのようなものだが,ゲームグラフィックスでは比較的古くから採用されている手法だ。
 この手法で重要なのは,断面図テクスチャ(シェルテクスチャ)をどう作るかなのだが,2012年に同研究室が発表した毛皮再現用のプロシージャルテクスチャ生成は,写真を基にして半自動生成するという仕組みだった。

早稲田大学理工学部,森島繁生研究室の安達翔平氏
画像集#002のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 一方,今回「プロシージャルなShell Texture生成を用いた埃の高速描画手法」と題した講演で発表されたのは,写真を使わない,完全にプロシージャルなシェルテクスチャ生成手法である。ただし,その対象は毛皮ではなく「埃」(ほこり)だ。講演を担当したのは,同研究室に在籍する安達翔平氏である。

 「なぜ埃なのか」といえば,「埃が積もる」という描写は,経年変化を表すグラフィックス表現として有効だからだ。積もった埃を表現するテクスチャを,アルゴリズムで生成できるのであれば,開発効率の向上にもつながる。

画像集#004のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
「積もった埃」は,経年変化を表現するのに有効な手法だ
画像集#005のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
埃をリアルタイムレンダリングするにはシェル法を応用する

 安達氏らの研究グループは,このアルゴリズム開発のために,「大局モデリング」と「局所モデリング」の2つのアプローチを検討したという。

 大局モデリングとは,埃の堆積具合,つまり埃がどこにどれだけ積もっているかという,厚みの分布をモデリングする手法である。埃は均一に積もるわけではなく,やや不規則に積もるほうが自然なので,ある種のゆらぎを与えないと,リアルな積もり方を表現できないわけだ。これを実現するために,安達氏らは雲や波,山岳のような“大局的な周波数変化”の中に,微細な振動を伴わせることができる「Perlin Noise」と呼ばれる手法を採用したという。

画像集#006のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
堆積した埃の厚みの変化を表現するのに,Perlin Noiseというアルゴリズムを選んだ
画像集#007のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
Perlin Noiseは,プロシージャルアルゴリズムでよく利用される算術ノイズ発生手法である

 一方の「局所モデリング」とは,シェル法で各テクスチャを描画する部分であり,今回の例であれば,埃の繊維を表現するためのものだ。
 今回は短い繊維状の埃を表現するので,短いランダムな曲線を描けばいいわけだが,単に初期位置からランダムに点を動かして線分を描画するだけでは,リアルな埃に見えなかったという。そこで,研究グループが実際の埃を分析したところ,埃の繊維には時々大きく折れ曲がって(屈曲と呼ぶ),「ちぢれ毛」のようになっている部分があることに気付いたため,この要素を取り込むことにしたとのことだ。

画像集#008のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目? 画像集#009のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
局所モデリングとは,埃のシェルテクスチャ生成部分。テクスチャ平面上で点をランダムに移動させて線を描くのが基本だが,研究グループではこれに「ちぢれ」を加えた

 研究グループは実装に当たって,運動回数(線分の長さ),屈曲回数,屈曲角度という3つのパラメータと,「運動確率」マップというものを用意した。
 運動確率マップとは,点を打ちながら進むときに,「どの方向に進路を取るか」を確率分布で表したものだ。運動確率マップには,最初に与えた基本進路(繊維が伸びる方向)に重み付けした確率が設定されているので,これを使うと「微妙に曲がりながらも一定の方向に伸びる線」が描けるというわけだ。この「線が微妙に曲がる」ことを,講演では「微動」と呼んでいる。

画像集#010のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
曲がった繊維を描くための3つのパラメータと,それにより描写された繊維の例
画像集#011のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
運動確率マップの概念。繊維がどちらの方向に伸びるかを8方向に分けて確率を定義した

 さて,実際に繊維を描画するときには,ランダムに選んだテクスチャ上の初期位置からスタートして,運動確率マップで伸びる方向を決定しつつ,運動回数分の点を打って描画していく。その途中で,低い確率に設定されてはいるが,最初のパラメータで指定した特定の方向(屈曲角度,下のスライドでは45度)が,運動確率マップで選ばれると,今度はその方向を新たな基本進路として,運動確率マップを更新するといった処理も組み込まれている。
 こうしたアルゴリズムにより,一定方向に微動しながら伸びつつ,ときどき屈曲するという線が,埃を構成する繊維のテクスチャとして描かれるというわけだ。

スライドの右側が,これらの手法を組み合わせて生成されたシェルテクスチャである。埃を拡大したような,ちぢれた繊維が重なりあったように見える
画像集#012のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

埃の積層アルゴリズムの説明スライド。埃が上から舞い落ちると仮定した場合は,上に向いている面(法線)によく積もると言うこと
画像集#013のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 さて,こうして生成された埃のシェルテクスチャを,どうやって3Dモデル上に積もらせるのだろうか。安達氏によれば,「埃の発生源方向(上から降るなら上)と,積もる面の法線(上に向いた面なら上)が近ければ近いほど,よく積もる」といったアルゴリズムを採用したという。
 思い返せば,Crytekが開発したFPS「Crysis」では,プロシージャル手法で雪を積もらせる表現で,同じような手法を採用していた。雪や埃がそれらしく積もったように見せるのに,有効な手法のようだ。

 結果は,以下のスライドにあるとおりで,なかなかリアルな綿埃が表現できている。繊維の長さを変えたものや,色を緑に変えて「コケ」を模した画像も公開されたので,合わせて掲載しておこう。ゲームグラフィックスに応用すれば,埃にまみれた室内や調度品を表現するのに,効果を発揮するでのはないだろうか。

ドラゴンの像に埃を堆積させてレンダリングしたサンプル画像。埃が積もった雰囲気がよく出ている。埃のつもり方にオブジェクト自身による遮蔽を考慮して,遮蔽されている部分はあまり積もらないようにしたり,埃の下層を暗く上層を明るくシェーディングしたりすると,さらにリアルになりそうだ
画像集#014のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

画像集#015のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
埃の繊維を短くして堆積させたもの。上の画像と比べて,積もっている埃が少なく見える
画像集#016のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
こちらは左の画像を基に,繊維の色を緑に変えて,コケが生えているような表現にした例


よりリアルな顔面アニメーションを実現するために

口内の表現に注目


早稲田大学理工学部,森島繁生研究室の川井正英氏
画像集#003のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 森島繁生研究室による,ゲームグラフィックスに応用できそうなもう1つの発表が,「リアルな口内表現を持つ発話アニメーション生成手法の提案」だ。説明を担当したのは,同研究室所属の川井正英氏である。

 ゲームに登場する人物のキャラクターは,グラフィックスがアニメ調であろうとリアル志向であろうと,現実の人間と同じように口を動かして会話することが多い。プレイヤーがそうしたキャラクターを見るときには,無意識に「人間の動きに近いもの」を期待して見るので,違和感を感じさせないように顔面のアニメーションをリアルにしていこうという流れは,ますます強くなっている。役者が演じる顔の動きをキャプチャして,それを基にキャラクターに表情を付ける「フェイシャルキャプチャ技術」を実用化しているゲームも少なくない。

リアルな口内表現に注力したのが,川井氏らによる研究内容だ
画像集#017のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 とくに口の動きのアニメーションは,単純な「クチパク」から脱却し,唇の変形や動きを比較的正確にしようという流れになっている。しかし「口の中」の表現になると,かなりいい加減なものも多い。それだけ面倒な分野なのだろうが,川井氏らによる研究は,まさにこの分野に切り込むものだ。

 なお,今回発表された研究の主眼は,あくまでも口の中を表現することにあるので,唇の動きは既存の手法をほぼそのまま流用しているという。それは,まず正面から顔の静止画を撮影して,そこから顔面の特徴点を抽出し,仮の3D顔面モデルを構築。その顔面モデルに対して,音素と唇の動きに対応するアニメーションを適用するという手法だ。
 しかし,これだけでは表面しか描写できず,口の中まで表現することはできない。下に掲載した2本のムービーがその例で,口の中を一切描写していないものと,口の中を簡易に描写したものを掲載している。



 口内の表現に必要な要素といえば,歯と舌の動きだ。そこで川井氏らは,まず歯の表現に取り組むことにした。
 歯をむき出した状態での正面写真を撮影し,この写真から上歯と下歯の画像をそれぞれ取得しておく。

顔写真から歯の画像を取得して,上歯と下歯をそれぞれ取得する
画像集#018のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目? 画像集#019のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

 川井氏らの研究によると,発話で口を動かしているときには,鼻の頂点から上歯までの距離や下歯から下あごまでの距離は,ほとんど変化しないのだという。そこでこの法則を応用して,口の動きに合わせた上歯と下歯の画像を合成することで,口と歯の動きを表現することが可能になった。

画像集#020のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
鼻頂点と上歯,下あごと下歯までの距離は,開口の具合に寄らずほぼ一定と見なせる
画像集#021のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
この法則に従って,歯画像の位置を計算して発話アニメーションに挿入した

 歯はこれでいいとして,難関なのは舌の動きだ。
 川井氏らはまず,器具を使って口を大きく開かせた状態で,「ある音素から別の音素へ推移する」ビデオを撮影し,舌の動きをデータベース化した。この音素推移による舌の動きは,全部で149通りもあるそうだが,一度データベースを作ってしまえば,これを基にしてあらゆる発話で舌の動きが再現できるとのことだ。

口を大きく開いた状態で舌の動きをビデオ撮影し,舌画像データベースを構築。音素推移による舌の動きは149通りもあった
画像集#022のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

口内に入れた舌の動きが切り替わる様子を見えにくくするために,データベースは「舌が見えない状態から始まり,舌が見えない状態で終わる」パターンで構成された
画像集#025のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 149通りの音素推移パターンを集めたデータベースは,すべて「舌が見えない状態から始まり,舌が見えない状態で終わる」ようになっているという。音素が切り替わったときには,舌の動きを別の音素に切り替える必要がある。ところが,舌が見えている状態で切り替えてしまうと,ユーザーに切り替えが見えてしまう可能性がある。そこで切り替えが見えにくいように,舌が見えない状態で終わるように工夫したというわけだ。

 こうして,入力音声に合わせた舌の動きを作り出し,口内に歯と舌を合成することができるようになった。しかし,これだけでは合成の境界にジャギーが出てしまったり,合成画像っぽい不自然さが残ってしまう。そこで合成後の映像に対して,見栄えをよくするための処理を施すことにしたと,川井氏は説明する。

 その処理には,「Detai-lization」(ディタイリゼーション)と呼ばれる手法を駆使したという。入力画像を基に,データベース内の画像パーツを探索して,適切な状態になるよう入力画像を再構成する「Visio-lization」(ビジョリゼーション)という手法があるのだが,Detai-lizationはこれを基盤として,データベース探索をより厳密に行うことで,さらに精度の高い画像の再構成を行う手法とされている。

入力画像を解析して,それと近くなるように,データベースにある画像片を再構成して出力するのが,Visio-lizationと呼ばれる手法だ。Detai-lizationは,データベース探索の精度をさらに向上させたものとなる
画像集#026のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目? 画像集#027のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?

 下に掲載したムービーを見ると,これらを適用したアニメーションの違いが分かるだろう。


 講演では,実写の映像と今回の手法による合成映像を並べて表示し,「どちらが実写映像なのか」を来場者に当てさせるクイズが行われた。来場者は当然ながら,CGアニメーションを見慣れた人々ばかりなのだが,それでもほぼ半々に答えが分かれたのだから驚きだ。それだけこの手法がリアルに見えたと言うことだろう。
 このクイズに使われたムービーを,下に掲載しておこう。どちらが実写でどちらが合成映像か,見分けられるだろうか? 答えは記事の最後に記しておこう。


 以上のように,川井氏らが開発したこの手法は大変ユニークである。しかし,これをゲームグラフィックスに応用するとなると,いくつかの課題が残されているとのことだ。

口内の映像を仮想的な円筒の内側にマッピングすることで,正面以外での違和感を減らせる
画像集#030のサムネイル/[CEDEC 2013]早稲田大学が発表した次世代のグラフィックス表現は「埃」と「口内」に注目?
 課題の例として,このテクニックが「実写の2D映像ベース」であるため,正面以外の角度には応用しにくいという点が挙げられた。これについて川井氏は,口内に配置した仮想的な円筒の内側に口内映像をマッピングすることで,ある程度対処できるのではないか,と述べている。

 筆者が見たところ,Detai-lizationで映像を再構成する部分は,処理に要する時間(CPU負荷)を考えると,リアルタイム性重視のゲームグラフィックス向きではないように思える。実写に匹敵する映像を再構成しようというのだから,現状では致し方ない部分かもしれないが。
 また,アニメ調のキャラクターやCGらしさを残した人形っぽいキャラクターには,実写をベースとする今回の手法は適用が難しいだろう。そういうキャラクターに口内の表現まで必要か,というのはまた別の問題だが。

 手法の是非はともかくとして,顔の表現はゲームグラフィックスの最先端として盛んに研究が行われている部分である。その中でも,あまり手つかずだった「口内」の表現に着目した本研究は,価値の高い研究であるといえるのではないだろうか。

 ちなみにクイズの答えだが,左が実写で右が合成映像である。あなたは正解できただろうか?

CEDEC 2013 公式Webサイト

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