SIG-GT8 「ノンフォトリアリステックにおける生産性の向上へのアプローチ」

IGDA の SIG-GT8 に参加してきました。

今日のテーマは、ノンフォトっぽい表現に関して、コンピュータを使って生産性を上げませう、というお話。具体的には、モーションキャプチャデータに対して動きの誇張を自動でかける研究と、2D ベクトルグラフィックまたはノンフォトな 3D グラフィックに「カトゥーンブラー」なるノンフォト的なブラー表現をかける研究、そして、力覚デバイスをペンとして使用する油彩再現ソフト "dAb" および "IMPaSTo" と、線画の落書きを数パターン入力するとそれらを補間した線画を出力するツール "Digital Doodle" の研究でした。

なお、スライドは IGDA のサイト からダウンロード可能です。どれも SIGGRAPH に paper や sketch で発表しているので、SIGGRAPH ウォッチャーなら知っていて当然なのかもしれません。

以下、個人的なメモ。

  • アニメータの年収は中堅で 500 万円、新人だと 100 万円以下。
  • アニメーションの制作費は20年前は一本700万円だったが、現在でも1000万円程度にしか上がっていない。
    • ただし、その後、現場現役の知人に話を振ってみたところ、一本1000万円では到底無理とのこと。1500万円くらいはするらしい。質によるんでしょうけど。
  • 現在はほとんどのアニメーションはデジタル彩色をしているが、一部の作品ではセル画が残っている。デジタルにして線が均一になるのを嫌う原作者がいるため、など。
  • アニメーションでの典型的なブラー表現は、大まかに線と残像と歪みに分類される。線とは動きに沿って速さに応じた長さの線が出ること、残像とは数コマ分昔の絵を重ねて残しておくこと、歪みとは早く動いている部分のふちをぎざぎざに歪ませること。
  • Baxter さんの研究はリアルタイムなインターフェイスでの利用が前提となっているため、結果の面白さだけではなく、リアルタイム化のためのノウハウもしっかり詰め込まれていますので、ゲームへの応用という点では参考になることが多そうです。Baxter さんは使いやすいツールとは何か、に関する知見もしっかりしているようで、実用面からも非常に注目できる優れた研究者だと感じました。
  • dAb はリアルタイムでの利用が容易そうで、非常によいですね。
    • dAb は筆による油彩において、筆先の一部だけに絵の具を乗せる、筆とキャンバスの間で色が互いに混ざる、などを実現するシステムです。筆先の状態をテクスチャデータとして保持し、それを筆先にマッピングすることで、筆先とキャンバスの接している場所に乗っている絵の具を GPU で計算することが可能となります。
    • で、逆にキャンバスから筆先に色が移るほうも、うまくやると GPU のサポートでリアルタイムに計算可能とのこと。
    • Baxter さんのスライドの絵が分かりやすかったのですが、公開されているものでは動画部分が表示されずしょんぼり……。興味がある方は SIGGRAPH の原論文を参照してください。
  • IMPaSTo は油彩絵の具の重なりをちょうどいいくらいの厳密さで表現したものです。が、それよりも気になったのが、1950年前後に発表された絵の具の色モデルである Kubelka-Munk model。
    • 絵の具では白と黒を半分ずつ混ぜても 50% 灰色にはなりませんが、そのような特徴を再現する発色のモデルだそうです。
    • 絵の具には波長の関数である K 値(吸収) と S 値(散乱) というパラメータがあり、その混ぜ合わせで絵の具の色は表現されるとのこと。
    • IMPaSTo では、きちんと絵の具の色を波長ごとに計算しているので、当てるライトのスペクトラムを変えれば、色も変わるということでした。ここも、リアルタイム化のための工夫なども論文に書いてある模様です。
  • Digital Doodle は興味深い、高度な要素技術を組み合わせて、ツールとして使えるものをうまく作っていると感じました。
    • 基本的には、モブシーンを描く場合など、非常にたくさんの似たようなオブジェクトを描く必要があるが、スタンプのようにまったく同じ絵を繰り返すのは不自然、というケースにおいて、描き手をサポートするための研究です。
    • ただし、スライドでも触れられていますが、現状の線画の補間が可能という研究レベルでは、むしろ、手書き文字のバリエーション作成により使えそうです。
      • 手書き風フォントなるものが世にはありますが、同じ文字が続くと同じ形になってしまって不自然でした。しかし、この研究の成果を使えば、ひとつの文字について数パターン用意しておくだけで、それらを元に同じような味を持つ手書き風文字を無限に近いバリエーションで作成することができます。
    • ツールの使い方としては、入力としては線画を何パターンか入力するだけ、あとは自動でパターン間のマッチングを取って、マッチングに失敗したものだけをツール上で修正する、というもので、理にかなったものです。
    • 技術的には、まず、与えられた何パターンかの線画について、線同士でクラスタリングすることによって、パターン間で対応する線を自動的に見つけ出します。ここが研究としては高度なところではないでしょうか。
    • その後、パターン間の補間を録りますが、これにはいくつかの手法があるそうです。
      • メジャーなのは、主成分分析 (PCA = Principle Component Analysis) と RBF (Radial Basis Function) での補間で、高速に処理でき、通常はよい結果も出るそうなのですが、overfitting が起こって残念な結果になることもあるそうです。
      • Gaussian Process Latent Variable Model (GPLVM) という方法を使うと、もっとよい結果がでますが、こちらは非常に前処理が重い (数十分単位でかかることも) のが問題との事。
    • ちなみに、気になって聞いてみたところ、パターン間で線の数が異なるとマッチングする相手が居なくなるので、単純には適用できないそうです。消失点を指定するなどの対応を考えているとのことですが、消え方もいくつも考えられるので(点に消える・その場で薄くなるなど)どうしようか考え中のようでした。