2017年度 卒 業 論 文
かじりあと形状の自動生成に関する研究
指導教員:渡辺 大地 准教授 三上 浩司 教授メディア学部 ゲームサイエンス ゲームイノベーション プロジェクト
学籍番号
M0113398
星野 紘輝
2017
年
3
月
2017年度 卒 業 論 文 概 要 論文題目
かじりあと形状の自動生成に関する研究
メディア学部 氏 指導 渡辺 大地 准教授 学籍番号 : M0113398 名 星野 紘輝 教員 三上 浩司 教授 キーワード 3DCG、自動生成、スカルプトモデリング、 点群、ボクセルデータ 近年コンピュータグラフィックス技術の発達と普及により、3Dモデリングが使用される事 例が増えてきている。以前までは3Dモデリングは主に劇場アニメなどの一部の映像作品で使 用されるほかテレビゲームなどで使用されていた。しかし現在では地上波でのアニメーション 作品に使用されることや、ドラマのワンシーンで使用されるなど3Dモデリングが多くの人の 目に映る機会が増えている。一方で3Dモデリングされたキャラクターが食事をするシーンが 表現されているものは少ない。食事をするシーンでは、登場するキャラクターによって顔の形 や大きさが違い、食べ方が変化する。しかし実際に一つのキャラクターに合わせて一人一人手 動でかじりあとを生成するのは手間がかかる。本研究では、3Dモデリング上での食事表現の 支援を目的に、3Dモデリングされたキャラクターが食べ物を食べる際に、キャラクターのモ デリングのサイズに合わせ食べ物にかじりあとを自動生成するものを提案する。本研究では、 竹内の生成した形状に対して切削や盛り付けなどの編集作業ができる点群とボクセルを併用し たモデリングシステムを用いた。モデリングとなる対象の形状データは形状の内外情報を持つ ボリュームデータと、形状の表面を表す点群サーフェスデータの二重構造によって構成する。 切削処理は陰関数表現による曲面を用いることで滑らかな切削を行うことができる。切削する 箇所とかじりあとの形状を指定し切削処理を複数回行うことでかじりあとの生成を行う。これ により任意の箇所に任意の形状のかじりあとを生成することが可能になった。目 次
第1章 はじめに 1 1.1 研究背景 . . . 1 1.2 論文構成 . . . 4 第2章 研究手法 5 2.1 3DCGの表示形式について . . . 5 2.1.1 陰関数曲面 . . . 5 2.1.2 ボリュームデータ . . . 6 2.1.3 点群 . . . 6 2.2 システム概要 . . . 7 2.3 かじりあとの形状について . . . 9 第3章 検証 13 3.1 出力結果 . . . 13 第4章 まとめ 17 謝辞 18 参考文献 19図 目 次
1.1 食事表現例1 . . . 2 1.2 食事表現例2 . . . 3 1.3 食事表現例3 . . . 3 2.1 ボクセルと点群の構成図 . . . 7 2.2 切削を行う前の状態 . . . 9 2.3 切削途中段階の状態 . . . 9 2.4 切削完了後の状態 . . . 9 2.5 実際にチーズかじった際にできたかじりあと . . . 10 2.6 切削位置指定方法 . . . 10 2.7 かじりあと基本形状例 . . . 11 2.8 かじりあと生成例 . . . 12 3.1 かじりあとを生成する対象オブジェクト . . . 13 3.2 かじりあとの出力結果1 . . . 14 3.3 かじりあとの出力結果2 . . . 15 3.4 かじりあとの出力結果3 . . . 16第
1
章
はじめに
1.1
研究背景
近年コンピュータグラフィックス[1][2][3]技術の発達と普及により、3Dモデルを使用している 事例が増えてきている。以前までは3Dモデルは主に劇場アニメなどの一部の映像作品で使用し ているほかテレビゲームなどで使用していた。しかし現在では地上波でのアニメーション作品に 使用することや、ドラマのワンシーンで使用するなど3Dモデルが多くの人の目に映る機会が増 えている。3Dモデルが広くコンテンツ制作に普及したのには技術の発達のほかに様々なメリット が生じるからである。例えば1度製作をしたデータを編集したのち再編集することやほかのシー ンで再利用することが容易にできる。次に実写の映像と合わせることで実写のみではできない表 現をすることができ、実写の臨場感を損ないにくいという点などがある。 しかし3Dモデリングしたキャラクターが食事をするシーンで、キャラクターが食べた動作と かじりあとが乖離することがある。一人一人顔の形や大きさが違えばかじりあとは個人差が発生 するが、ゲームなどのコンテンツでは登場キャラクターの顔形状や大きさの差異が大きく、動作 とかじりあとの乖離も顕著になる。キャラクター一人一人に合わせたかじりあと生成は非常に手 間がかかる。そのためアニメなどではよほど重要な表現ではない限り食事のシーンでも実際に食べ物をかじる描写を作ることは少なく、ゲームなどでは一つの要素として食事は頻繁に登場する が表現としてはかじりあとを表現することは少ない。 実際に食事をする時に食べ物に対してとる行動は、かじる、丸呑み、啜る、吸う等幾つか存在 する。それらの様子を表現するためにゲームなどのコンテンツ上では食事の表現としてよく見か ける手法が幾つかある。 以下の図1.1はキャラクターが食べるモーションをとり、食べ物が口に近づいたら消えてしま う手法を表した図である。これはキャラクターの口の大きさに対して食べ物が大きいと違和感を 生じさせるが食べ物のモデルが小さい物なら違和感は少なくなる。 図1.1 食事表現例1 次の図1.2は食べる動作をした際に、あらかじめ設定した食べ物の一部が消える手法を表した 図である。これは事前に食べ物の消える部位を決めておく手法なので、キャラクターのモーショ ンが食べ物の消える位置と同期すると違和感が少なくなる。
図1.2 食事表現例2 図1.3 は食べ物が元の形を保った状態のまま徐々に小さくなっていく手法を表した図である。 これは違和感はあるが食べ物を徐々に消費していることがわかりやすくなっている。 図1.3 食事表現例3 これらの手法はキャラクターのモデルが別のものになった時も使えるがその場合個人差を表現 することができない。そのためもう一つの手段として、一つのシーンで製作者の意図するような
表現をするように専用の食事のシーンを製作する手法が存在する。しかしこの手法は他のキャラ クターに流用することができないため効率的ではない。 そこで本研究では、コンテンツ上での食事表現として3Dモデリングしたキャラクターが食べ 物を食べる際に、任意の箇所に任意の形状のかじりあとを自動生成するものを目的とした。食事 を表現する際、数値から各キャラクターに合ったかじりあとが生成できるものを製作することで キャラクターごとのかじりあとを簡単に生成することを可能にする。本研究では、竹内[4]の生成 した形状に対して切削や盛り付けなどの編集作業ができる点群とボクセルを併用したモデリング システムを用いた。モデリングとなる対象の形状データは形状の内外情報を持つボリュームデー タと、形状の表面を表す点群サーフェスデータの二重構造によって構成する。切削処理は陰関数 表現による曲面を用いることで滑らかな切削を行うことができる。切削する箇所とかじりあとの 形状を指定し切削処理を複数回行うことでかじりあとの生成を行う。その結果、本研究の目的で あるかじりあとを任意の箇所に任意の形状で生成することを確認した。
1.2
論文構成
本論文は4章から成る。第一章は研究背景について述べる。第二章は竹内のモデリングシステ ムについて述べ、それを元にしたかじりあとの生成について述べる。第三章は本研究によって生 成したかじりあとについて検証する。最後に第四章にて本論文の結論をまとめた。第
2
章
研究手法
本章では本研究で使用するモデリングシステムに述べる。2.1節では本研究で使用する3DCG の表示形式について述べる。2.2節では本研究で使用するモデリングシステムについて詳しく説明 する。2.3節ではかじりあと形状の生成方法について述べる。2.1
3DCG
の表示形式について
2.1.1
陰関数曲面
陰関数曲面は、複数の関数によって構成した形状をよりスムーズに扱うためのデータ構造であ る。大竹ら[5, 6]が提案した、MPU法やSKIM曲面が代表的な手法である。可視化するためには 等値面をサンプリングし、ポリゴンなどに変換する必要があるが、金井ら[7]は、GPUのシェー ダ機能を利用して陰関数曲面をポリゴン化せずに直接描画する手法を提案している。柴田ら[8] は、陰関数を用いた形状のモデリングとモーフィングを行う手法を提案している。Yuanら[9]は、 陰関数をオブジェクトの内部構造を精細に表現するために、階層構造の陰関数表現を提案してい る。stamら[10]は、陰関数曲面の移流を算出して表面を流れるようなアニメーション生成に有効 な手法を提案している。松宮ら[11, 12]は、パーティクルシステムと陰関数曲面を用いた仮想年度細工シミュレーションを実用している。本研究では陰関数曲面を切削領域として定義すること で、滑らかな曲面で切削処理することができる。
2.1.2
ボリュームデータ
ボリュームデータは、2次元画像のピクセルを3次元に拡張した、3次元におけるラスターと でも言うべきデータ形式のことを指す。格子状に並んだ1つのセルをボクセルと呼ぶことから、 ボクセルデータと呼ぶことも多い[13]。計測データで用いられることが多かったが、近年はボク セルベースのモデラーも登場してきた。内部情報を完璧に保持し、ベクターベースではなく、サ ンプリングした入力データを直接的に反映できるのは大きなメリットである。しかしながら、大 規模かつ高精度なデータを保持するには解像度を上げる必要があり、指数関数的に容量が増える のが問題点と言える。ボクセルベースのモデラーとしてはBaerentzenら[14, 15]の手法やB¨ oonningら[16]の手法や、Prior[17]の手法がある。本研究では形状を点群サーフェスとボリュー ムデータによって保持している。点の集合のみでは形状の内外情報を保持することが難しいため、 ボリュームデータを併用することにした。2.1.3
点群
点群は、3次元空間中に離散的に分布した点の集合によって形状を表現するデータ形式である。 頂点間の接続情報を考慮しなくて良いので、3次元レンジスキャナによる計測データとして用いら れることが多い。Avronら[18]は、スキャンデータから復元した形状データからシャープさが損 なわれる点に対する解決手法を示している。Liら[19]は、3Dスキャナから得た点群データに対 し、規則性や対称性を抽出し正確な形状復元を行う手法を提案している。渡辺ら[20]は、スキャ ンデータとして取得した点群をスクリーン平面にプロットする際に画像処理を施し、芸術的な特 徴を捉えた表現を用いたウォークスルーコンテンツを提案している。本研究では編集形状を点群で表現することにした。点群を用いることで、位相を気にせずに形状編集ができるようになる。
2.2
システム概要
製作したかじりあと生成プログラムについて、本研究では竹内[4]の点群を直接編集するモデリ ングシステムを用いる。竹内はユーザーが画面上で入力した軌跡をその都度保持し、その軌跡を 3次元空間上に投影することで形状を編集していく「ストロークベース」というモデリングメソッ ドを提案した。竹内が実現したのは、立体造形を行うストロークベースのスカルプトモデリング で、その基本機能としてスクリーン上で入力ストロークに基づいた形状の盛り付けと切削が可能 である。この手法では、モデリングの対象となる形状データを、形状の内外情報を持つボリュー ムデータと、形状の表面を表す点群サーフェスデータの二重構造によって構成する。 以下の図2.1はボクセルと点群サーフェスデータを構造を表した図である。 図2.1 ボクセルと点群の構成図 点群データは、形状の表面を表す頂点の位置ベクトルと、その頂点に置ける法線ベクトルの配 列として定義する。この位置ベクトルと法線ベクトルの配列を点群サーフェスデータと呼称する。 ボリュームデータは形状内(1)と形状外(0)の2値を持つ。形状を編集する度に、ボリュームデータ側の内外情報も合わせて更新する。切削する機能は陰関数表現した曲面を用いることで滑らか な曲面で切削を行うことができる。切削機能で用いる陰関数曲面は式(2.1)によって定義できる。 f (x− qx, y− qy, z− qz) = 0 (2.1) 曲面によって内包する空間を式(2.2)によって定義できる f (x− qx, y− qy, z− qz) < 0 (2.2) 式(2.1)と式(2.2)の(qx, qy, qz)は編集位置座標である。 本研究で使用する陰関数曲面は半径rの球体として以下の式(2.3)表す。 f (x, y, z) = x2+ y2+ z2− r2 (2.3) 切削操作は、切削による形状の状態更新と、切削後の断面を生成する2段階によって構成する。 まず形状の内外判定を保持するボリュームデータに対して、領域内に含まれているボクセルの値 を、形状外(0)として更新する。次に点群サーフェスデータに対して検索を行い、切削領域内に 含まれている点群と全て消去する。 次は断面となる点群の生成を行う。まず、切削領域である陰関数曲面のサンプリングを行い、 陰関数の値が0となる等値面上の位置ベクトルIを抽出する。この等値面上の点Iを含むボクセ ルに対して、その周囲に形状内の状態値(1)と形状外(0)の状態値を持つボクセルが両方存在する 場合、点Iを含むボクセルは切削を行って生じる断面を含むボクセルとなるので、点群サーフェ スデータに対して位置ベクトルIを切削断面上の新たな点群として追加する。位置ベクトル Iの 追加と同時に、法線ベクトルの算出も行う。断面上の点Iの法線ベクトルNは、切削領域が球状 に定義されていることから、切削領域の中心位置ベクトルqを用いてN = q− Nとあらわすこ とができる。以上の処理を、切削領域の等値面上の全ての点に対して行う。以上の処理を等値面 上に存在するすべての点に対して行う。図 、 、 は切削操作時におけるデータの変化を示
したものである。 図2.2 切削を行う前の状態 図2.3 切削途中段階の状態 図2.4 切削完了後の状態
2.3
かじりあとの形状について
かじりあとを生成するにあたって現実のかじりあとを参考する。食べ物を食べてできたかじり あとは歯の並びに沿ってカーブを描いている。よって生成するかじりあとも人間の歯の並びなど を参考に半楕円を元にしていく。また鈴木温[21]の研究で使われていたデータを参考に食べる際 の顎の軌跡を設定する。図2.5は実際にチーズにかじった際にできたかじりあとの図である。図2.5 実際にチーズかじった際にできたかじりあと 本システムは2点間の座標をとりその間を切削するものとなっている。座標点A点B間の直線 で切削球による切削処理を行い以下の図2.6のようにそれぞれの座標を点A点Bとしたと場合、 座標点Bを基準に点Aの座標を変更し、これを放射状になるように動かすことで基本となるかじ りあと形状を指定する。 図2.6 切削位置指定方法
本研究ではかじりあとの形状は半楕円の半径となる幅と長さによって決まっている。 それぞれの数値を変更することで任意のサイズのかじりあとを生成できるようになる。 図2.7のように生成するかじりあとによる半楕円の短い側である横幅の半径をα、長い側の半 径である奥行の半径をβ とし、かじりあと形状を指定する。θ は弧度法で初期値を π 2 とし、点B の座標は(X, Y, Z)であり点Aの座標は次の式(2.4)によって指定した。
A(α sin θ + X, Y, β cos θ + Z) (2.4)
式(2.4)の計算で出た点Aの座標に対し点Bの座標を基準にx軸を中心に回転移動し、その後切 削処理を行う。切削処理を行った後θ の値を減らし初めから処理する。これをθの値が−π 2 にな るまで繰り返しθ の値が−π 2 になった際、点Bの座標を基準にx軸を中心に点Aを回転移動し θ の値を π 2 にし、θ の値が− π 2 になるまで切削処理を繰り返す。これを図2.8のようにx軸を中 心に回転する処理を定数n回数分行う。 図2.7 かじりあと基本形状例
第
3
章
検証
3.1
出力結果
今回は図3.1のティーポットを対象にかじりあとを生成した。
次の図3.2がティーポットに対して幅5、長さ10でかじりあとを生成したものである。指定し たかじりあと形状にを元にモデルが削られているのがわかる。
図3.2 かじりあとの出力結果1
しかしこの状態ではかじりあととして違和感があるので位置を調整してもう一度生成する。図
図3.3 かじりあとの出力結果2
このようにして調整をしながら違和感の少ないかじりあとを生成することができる。また
第
4
章
まとめ
本研究はコンテンツでの食事表現向上の助けになるようかじりあと形状の自動生成の実装をし たものである。今回指摘した問題点はコンテンツの食事表現をするとき違和感の少なくするため には食事のシーンでキャラクター個別に専用のモデルを製作しなくてはならないことである。こ の問題に対してキャラクター個別のモデルを製作することの補助としてかじりあと形状を任意の 個所に任意の形状で自動生成することで個別にモデルを編集する作業の短縮になるようにした。謝辞
本研究を進めるにあたりプログラム等の様々な相談や協力をしてくださった渡辺大地準教授や ソースファイルを譲っていただいた竹内 亮太さんには深く感謝いたします。また悩んでいた時 に相談にのってくれた研究室のみんなに感謝します。
参考文献
[1] James D. Foley and Steven K. Feiner and AndriesDam and JohnF. Hughes. コンピュー
タグラフィックス理論と実践. オーム社出版, 2001. [2] ロイ・A.プラストック and ゴードン・カレイ. コンピュータグラフィクス. マグロウヒル出 版, 1987. [3] 中前栄八郎 and 西田友是. 3次元コンピュータグラフィクス. 昭晃堂, 1997. [4] 竹内 亮太. ストローク履歴を活用した3次元形状モデリング手法の研究. PhD thesis, 東京 工科大学大学院 バイオ・情報メディア研究科, 2012.
[5] Yutaka Ohtake and Alexander Belyaev and Marc Alexa and Greg Turk and Hans-Peter
Seidel. Multi-level partition of unity implicits. SIGGRAPH ’05 ACM SIGGRAPH, pp.
463–470, 2005.
[6] Yutaka Ohtake and Alexander Belyaev and Marc Alexa. Sparse low-degree implicit
surfaces with applications to high quality rendering, feature extraction, and smoothing.
Proceedings of the third Eurographics symposium on Geometry processing, 2005.
[7] 金井 崇 and大竹 豊and川田 弘明and 加瀬 究. Gpuによる点群ベース陰関数曲面の直接的 レンダリング. グラフィクスとCAD/Visual Computing合同シンポジウム, pp. 5–10, 2006.
[8] 柴田 章博 and 田中 覚. 陰関数曲面のブーリアンモデリングとモーフィング. グラフィクス とCAD/Visual Computing合同シンポジウム, pp. 37–42, 2002.
[9] Zhan Yuan and Yizhou Yu and Wenping Wang. Object-space multiphase implicit
func-tions. ACM Transactions on Graphics, pp. 114:1–114:10, 2012.
[10] Jos Stam and Ryan Schmidt. On the velocity of an implicit surface. ACM Transactions
on Graphics Volume 30 Issue 3, May 2011 Article No. 21, pp. 21:1–21:7, 2011.
[11] 松宮雅俊 and 竹村治雄 and 横矢直和. パーティクルシステムと陰関数曲面を用いた仮想粘
土モデリング. 日本バーチャルリアリティ学会大会論文集, pp. 225–228, 2000.
[12] 松宮雅俊. 陰関数曲面とパーティクルシステムを用いた仮想粘土細工による自由形状モデリ
ングに関する研究. PhD thesis, 奈良先端科学技術大学院大学, 2002. [13] Gabriele Lohmann. 3次元画像処理. 株式会社ボーンデジタル, 2009.
[14] J. Andreas Brentzen. Volume sculpting: Intuitive, interactive 3d shape modelling. IMM
VIsionday, 2001.
[15] J. Andreas Brentzen. Octree-based volume sculpting. LBHT Proceedings of IEEE
Vi-sualization’98, 1998.
[16] Ralf B¨ oonning and Heinrich Mu¨ uller. Interactive sculpturing and visualization of unbounded voxel volumes. Proceedings of the seventh ACM symposium on Solid modeling
and applications, pp. 212–219, 2002.
[17] Anthony Prior. ”on-the-fly” voxelization for 6 degrees-of-freedom haptic virtual
sculpt-ing. Proceedings of the 2006 ACM international conference on Virtual reality continuum
and its applications, pp. 263–270, 2006.
[18] Haim Avron and Andrei Sharf and Chen Greif and Daniel Cohen-Or. 1-sparse
October 2010, pp. 135:1–135:12, 2010.
[19] Yangyan Li and Xiaokun Wu and Yiorgos Chrysathou and Andrei Sharf and Daniel
Cohen-or and Niloy J. Mitra. Globfit: consistently fitting primitives by discovering
global relations. SIGGRAPH ’11 ACM SIGGRAPH 2011 papers Article No. 52, pp.
52:1–52:12, 2011. [20] 渡辺 賢吾 and 佐野 実乃里 and 宮岡 伸一郎. ”3Dスーラ”:3D点群情報を用いた点描画 ウォークスルーコンテンツ. PhD thesis, 東京工科大学片柳研究所 メディアテクノロジー センター、マイクロ情報通信株式会社、東京工科大学 メディア学部 メディア学科, 2012. [21] 鈴木 温. ディジタル方式下顎口運動測定器による下顎限界運動の6自由度解析. PhD thesis, 徳島大学歯学部歯科補綴学第二講座, 1987.