論文読み: RigMesh: Automatic Rigging for Part-Based Shape Modeling and Deformation (SIGGRAPH Asia'12)

始めに断っておきますが、この記事には誤った内容や解釈が含まれているかもしれませんので注意して下さい。

2012年11月26日に東京大学SIGGRAPH Asia'12 の全ての論文 (81本) の概要を、たった一日で、輪講形式で発表し合う勉強会*1がありました。その勉強会で自分が担当した論文の中で一番気に入ったものを、簡単にですが、この場で紹介しておこうと思います。

Peter Borosan, Ming Jin, Doug DeCarlo, Yotam Gingold, Andrew Nealen
RigMesh: Automatic Rigging for Part-Based Shape Modeling and Deformation
SIGGRAPH Asia 2012
プロジェクトページ

概要

スケッチによる三次元モデリングシステム (RigMesh) の論文です。

このシステムではユーザがモデルの輪郭をスケッチすると自動で三次元ジオメトリを計算してくれるだけでなく、同時に適切なスケルトンとスキニングウェイト*2も計算してくれます。これによって、モデルを作成した直後にそのポーズを変更したりすることが可能です。

また、パーツベースのモデリング*3との相性が良いのも特徴のようです。

著者

この論文の著者の一人である Andrew Nealen はモデリングに関して様々な研究をしています。このあと紹介しますが、FiberMesh は非常に有名な研究です。

動画

研究紹介の動画です。

また、この記事では紹介できませんが、この研究のプロジェクトページではこのソフトウェアを使って実際に複雑なラクダのモデルを作成する全過程を収録した動画を観ることができます。

関連研究(スケッチベースモデリング)

スケッチによる三次元モデリングといえば Teddy という研究がその先駆け的存在です。

Takeo Igarashi, Satoshi Matsuoka, Hidehiko Tanaka
Teddy: A Sketching Interface for 3D Freefrom Design
SIGGRAPH 1999

※この動画は第三者によって著者らに無断で共有されている可能性があります。

Teddy はプロジェクトページでプログラムが公開されており、ウェブブラウザ上でも試してみることができます。

作りたい三次元モデルの輪郭をスケッチすると、その場で三次元モデルのジオメトリを作ってくれます。また、突起部分を作ったり、切ったり、曲げたり、表面に落書きをしたりすることが可能です。1999年の当時のコンピュータでもリアルタイムでサクサク動作していたということが個人的にはかなり驚きです。

Teddy は丸っこいモデルを作成するのが得意なのですが、複雑なモデルを作るのはそのままでは不得意と言えるかもしれません。この原因の一つとして、一度モデルの輪郭を描くともうその輪郭線の編集ができないという点が挙げられると思います。

そこで、Teddy を改良した FiberMesh というスケッチベースの三次元モデリング手法が提案されました。

Andrew Nealen, Takeo Igarashi, Olga Sorkine and Marc Alexa
FiberMesh: Designing Freeform Surfaces with 3D Curves
SIGGRAPH 2007

FiberMeshでは常に三次元上に描かれた輪郭をカーブとして明示的に保持しておき、そのカーブを元に三次元ジオメトリを生成しているので、カーブを編集することで後から三次元ジオメトリ修正したりすることができるようになっています。

その他にもカーブに基づいて三次元ジオメトリを制御する様々なテクニックが使われており、Teddy に比べても複雑なモデルを簡単に作れるようになっています。

さて、今回の RigMesh についてですが、これは上記の Teddy や FiberMesh では全く考慮されていなかった「スケルトン」に着目している点が新しいと言えます。

スケッチし終わると同時に自動でリギング*4を行うことで、ユーザはその場でスケルトンを動かしてモデルの姿勢を変えたりすることができます。

手法

自動でスケルトンを計算することは簡単ではありません。既存の手法では計算コストが高く、RigMesh のようなインタラクティブなソフトでは有効ではありません。

そこでこの論文では、RigMesh の入力がスケッチであるという点をうまく活かして、即座にスケルトンを計算する新しい手法を提案しています。詳細はこの記事では割愛します。

ソフトウェア

なんと、RigMesh はプロジェクトページにてソフトウェアが無料で公開されています。(ただし Windows 用のバイナリのみです。)興味がある人は是非試してみて下さい。

アニメーション作成工程に対する貢献

RigMesh を用いるメリットの一つとして、アニメーションの作成工程を大きく簡単にする可能性があるという点が挙げられます。

普通、アニメーション用の三次元キャラクタを作成するためには

  1. モデリング*5
  2. リギング
  3. 動かしてみる → 必要があれば 1. に戻って修正

という工程を、それぞれ完全に別の作業として行う必要がありました。

これに対し、RigMesh では 1., 2., 3. の工程を一つのシステム上で同時に行うことができるという可能性を秘めています。もしかすると将来のモデリングソフトでは RigMesh のようにモデリングと同時にリギングが行われるようになっているかもしれません。

*1:もし次回の勉強会には参加したいという方がいたら気軽に連絡を下さい。

*2:スケルトン (骨) とジオメトリ (皮膚) の対応付けのようなものです。

*3:モデルの全体をいきなり作るのではなく、手なら手だけモデリング、足なら足だけモデリングし、それらを組み合わせて全体を作るようなモデリングスタイルのことです。

*4:ここでは、生成した三次元ジオメトリに対してスケルトンとスキニングウェイトを与えることを指します。

*5:ここでは三次元ジオメトリを作成することを指します。