No | 120477 | |
著者(漢字) | 尾上,耕一 | |
著者(英字) | ||
著者(カナ) | オノウエ,コウイチ | |
標題(和) | 粒状物質のモデリングとそのCGアニメーションへの応用 | |
標題(洋) | Modeling Granular Material and its Application to CG Animation | |
報告番号 | 120477 | |
報告番号 | 甲20477 | |
学位授与日 | 2005.03.24 | |
学位種別 | 課程博士 | |
学位種類 | 博士(科学) | |
学位記番号 | 博創域第97号 | |
研究科 | 新領域創成科学研究科 | |
専攻 | 複雑理工学専攻 | |
論文審査委員 | ||
内容要旨 | 1 概要 コンピュータグラフィクスの分野において、水、雲、煙、炎など自然現象のモデリングおよびレンダリングは重要な課題の一つである。しかし、様々な自然現象の中でも、砂などの粒状物質を扱った研究はほとんど行われていない。粒状物質のアニメーションはバーチャルリアリティー、映画、ゲーム等の様々な分野への応用が期待でき有用な研究である。一方、物理シミュレーションの分野では粒状物質のシミュレーション手法が提案されているが、特にCGで有用となるような粒状物質で構成された地面に適用する場合には非常に計算コストが高いことが知られている。CG、特にインタラクティブなCGアプリケーションへの応用のためには、粒状物質の挙動を完全に再現する手法の開発よりも、単純なモデルを用いて崩落などの粒状物質に特徴的な挙動を表現する方法が有効である。そこで、本稿では単純なモデルを用いて粒状物質を対象とするアニメーションを効率的に生成する手法を提案する。 2 はじめに 本論文では、粒状物質を対象としたアニメーション生成のためのモデリングおよびレンダリング手法を提案する。粒状物質は主に風による作用と物体による作用を受ける。本論文ではそれぞれの場合についてのモデリング法について述べる。まず、風が粒状物質に及ぼす作用の結果として形成される風紋と砂丘について、モデリングおよびレンダリング法を3節で説明する[1,3]。次に物体が粒状物質に及ぼす作用に関して、まず柔らかい地面上に残る物体の痕跡の形成について4節で述べる[2]。そして、物体による粒状物質のインタラクティブな変形法と粒状物質の崩落のレンダリングについて5節で述べる[4]。また、物体が粒状物質で構成された地面に高速に衝突した際の粒状物質の飛び散りを表現する方法を6節で述べる[5]。 3 風紋・砂丘を含む砂漠景観の表示法 本節ではCGを用いて砂漠の景観をリアルに表示するための方法を提案する。まず、砂漠地形のモデリングについて議論する。砂漠地形は主に砂丘とその表面にできる細かい縞模様である風紋からなっている。それぞれを形成するためのモデルについて述べる。このモデルでは、砂丘と風紋を単位面積当たりの砂の量、すなわち高さをもつセルの二次元配列(ハイトフィールド)で表し、風による砂粒子の動きをモデル化した式を用いて計算することにより、砂丘と風紋を形成する。次に砂丘と風紋を組み合わせて砂漠の景観をレンダリングする方法について提案する。レンダリングでは砂丘の表面上に小さな凹凸である風紋を表現するためにバンプマッピングの手法を用いている。この計算の効率化のためにLOD(Level Of Detail)の手法を用いる。また砂漠の景観をよりリアルに表示するために、砂丘の影、風紋の影を考慮している。 適用例として、砂丘に風紋をバンプマッピングした例、砂丘の影を表示した例、風紋の影を表示した例を図1に示す。 4 柔らかい地面上の物体による痕跡の高速表示法 CGによるアニメーションに関して、近年、特にキャラクターの動作に伴う二次的な現象も研究対象となっている。例えば、キャラクターが柔らかい地面(砂、泥、雪など変形しやすいもの)に残す足跡や自動車や自転車のタイヤ跡、ボールが落とされたり地面の上を引きずられたりした跡も、二次的な現象に含まれる。本節では物体の衝突により地面に残る痕跡を計算する方法を提案する。 提案法では、(1)地面と物体との衝突判定、(2)衝突部分の地面の物質の圧縮と周囲への移動、(3)急斜面での崩落、をそれぞれ計算することによって物体の接触による地面の変形を計算する。地面と物体との衝突判定はハイトフィールドが一価関数であるという性質を利用してZバッファを用いて行う。Zバッファ法を用いることによりグラフィックスハードウェアを利用して高速に衝突判定を行うことができる。地面の上を物体が引きずられている場合には、物体がアニメーションのフレーム間で動いた軌跡を考慮しないと地面の正しい変形結果が得られない場合がある。そこで、物体が引きずられている場合には前フレームでの物体と現在のフレームの物体の間を掃引してできた物体との衝突判定を行う。また、地面の変形を効率的に行うために、多重解像度のハイトフィールドによる最適化法も提案する。基準となる解像度のハイトフィールドより低解像度のハイトフィールドをいくつか準備しておき、物体が視点から遠い位置に存在する場合等には低い解像度のハイトフィールドを用いて地面の変形の計算を行うことによって地面の変形を効率的に行うことができる。 適用例として砂、泥、雪でできた地面に靴で足跡をつけた場合の計算結果を図2に示す。これらの結果が示すように、パラメータを変えることによって様々な種類の地面を表現することができる。 5 物体による柔らかい地面のインタラクティブな変形法 近年、バーチャルリアリティシステムのようなインタラクティブアプリケーションが広く普及してきている。本発表では、このようなアプリケーションに利用可能な、粒状物質で構成された地面に物体が接触したときの地面の変形アルゴリズムを提案する。提案法では物体と物体上の粒状物質を、物体存在領域を表す高さのスパン(ハイトスパンと呼ぶ。図3 の矢印〓)のリストを各要素として持つ二次元配列(HS(Height Span)マップ)で表す。各ハイトスパンは次の三つの要素で構成される。(1)物体の上向きの面の高さ、(2)下向きの面の高さ、(3)その位置での物体上の粒状物質の高さ(図3 ではスパン上の太線)。これにより地面と同様に高さの変化だけを考えればよくなるので粒状物質の動きを効率的に計算できる。HSマップの例を図4に示す。提案法はハイトスパンマップ(HSマップ)を用いることによって、凹物体を含む様々な形状の物体による地面の変形と、物体上に存在する粒状物質を表現できる。提案する変形アルゴリズムは4節と同様に次の3ステップからなる:(1)物体と地面の衝突判定、(2)粒状物質の移動、(3)急斜面での粒状物質の崩落。衝突判定はここではHSマップを用いて行う。 レンダリングはハイトフィールドから生成したポリゴンメッシュを描画することにより行う。そして、崩落が起こった部分で崩落の方向に応じた粒状物質の動きを表現する。そのために本節ではテクスチャスライド法(図5)を提案する。まずポリゴンメッシュの各頂点v(x,y,z)にテクスチャ座標T(u,v)=(ωxx,ωyy)を与える。ここで、ωxとωyは各ポリゴンにマッピングされるテクスチャ画像のサイズを決定するパラメータである。本節の実験では、ωx=ωy=0.125(=32/256)とした。そして、各ポリゴンにテクスチャ座標のオフセットToffsetを与える(図5参照)。各タイムステップで、崩落が起こったセルについてToffsetにΔToffsetを加える。ΔToffsetは次の式で計算する。 ここで、E(ex,ey) は水平面上での崩落方向であり、あるセルからその隣接するセルに向かう8方向の中の一つである。Qcollapseは崩落量であり、γ は粒状物質の外見上の移動する速さを決めるパラメータである。本節ではγ=0.05とした。あるセルから複数のセルに崩落が起こる場合は、式(2)を各崩落についての崩落方向Eについて計算し、対応する各ポリゴンについてΔToffsetを加算する。ポリゴンをレンダリングする際には、各ポリゴンについて各頂点のテクスチャ座標にToffsetを加算する。 砂の上でバケツを操作した結果を図6 に示す。バケツは引きずられ(図6(a))、砂をすくい(図6(b))、砂を落としている(図6(c))。これらの結果はインタラクティブに作成した。このときの平均フレームレートは約10fpsであった。ここでは256×256の解像度のハイトフィールドを用いた。そして、HSマップの解像度は30×30であった。計算時間の計測には、Dell Precision530(CPU: Pentium4 2.26GHz, GPU: GeForce4 MX420)を用いた。 6 粒子要素法を用いた粒状物質の飛散アニメーション 近年、水などの自然物と物体との相互作用を考慮したアニメーションに関する研究が行われている。その中でも物体の衝突による地面の変形についてはすでに多くの研究が行われているが、衝突時の粒状物質の飛散までは表現できていない。そこで、本論文では物体が粒状物質で構成された地面に衝突したときの粒状物質の飛散アニメーションの計算方法を提案する。 本節では粒状物質の飛散の計算に粒子要素法(DEM)を拡張したものを用いている。DEMでは粒子の集合の挙動について、各粒子の移動と回転をその粒子に接触している粒子から受ける反発力を用いて計算する。しかし、粒子要素法は地面を構成する全粒子に関する挙動を逐一計算するので、本節で対象とする砂地のような広い空間をシミュレートすると計算時間が膨大になる。この問題を解決するために、本節では粒子要素法を拡張し、ここではいくつかの粒子を一つの大きい粒子(DEと呼ぶ)で代表して粒子の集合の動きの計算を行うこととする。まず、物体衝突地点の周辺にDEを配置し(図7)する。そして、DE間の接触力についてはDEMを用いて計算する。DEと物体との衝突判定には前節で提案したHSマップを用いる(図8)。しかし、空中で粒子がまとまったまま移動するのは不自然である。したがって、物理現象との違いが顕著に現れるのは粒子が飛散した場合であると考えられる。そこで、空中に飛散したDEについては粒子の大きさにまで分解する。DE数の増大を防ぐため、飛散したDEが着地した時には、地面に存在しているDEに飛散していたDEを融合する。 適用例として、図9に、Bunnyモデルを地面に落とした例を示す。物体が地面から力を受けた結果、着地後にBunnyが倒れる。計算時間は1タイムステップの計算に約2.0秒かかった。計算時間の計測には、Dell Dimension 4500C(CPU: Pentium4 2.26GHz, GPU: GeForceFX 5200)を用いた。 7 まとめ 粒状物質を対象としたアニメーションを効率的に生成する手法を提案した。まず、風紋・砂丘を含む砂漠景観のモデリングおよびレンダリング法を提案した。次に砂・泥・雪等、様々な種類の柔らかい地面における物体の痕跡を、Zバッファ法を用いた物体と地面の衝突判定を行い効率的に計算する方法を示した。また、物体による粒状物質のインタラクティブな変形法を提案した。HSマップを用いることにより物体による粒状物質の運搬や地面に埋もれる物体を表現することが可能となった。そして、テクスチャスライド法により粒状物質の崩落を高速にレンダリング可能となった。最後に粒子要素法を拡張した方法により物体衝突時の粒状物質の飛散アニメーションを効率的に計算する方法を提案した。 参考文献 図1: 砂漠景観の表示例 図2: 様々な種類の地面に残る足跡の例 図3: HS マップ(断面図) 図4: ドーナツ形物体のHSマップ 図5: テクスチャスライド法 図6: バケツによる砂の変形 図7: DEの配置 図8: DEと物体の衝突判定 図9: Bunny を自由落下させた例 | |
審査要旨 | 本論文は、粒状物質を対象としたアニメーション生成のためのモデリングおよびレンダリング手法について提案している。本論文は7章から成り立っており、第1章は本論文のテーマである、粒状物質を対象としたアニメーション生成の研究に関する背景および目的について述べられている。第2章では、粒状物質を対象としたアニメーション生成に関する従来手法の紹介がなされている。第3章では、風が粒状物質に及ぼす作用の結果として形成される風紋と砂丘について、モデリングおよびレンダリング法について述べられている。次に物体が粒状物質に及ぼす作用に関して、第4章では、柔らかい地面上に残る物体の痕跡の形成法を提案している。第5章では、物体による粒状物質のインタラクティブな変形法と粒状物質の崩落のレンダリングについて述べられている。第6章では、物体が粒状物質で構成された地面に高速に衝突した際の粒状物質の飛び散りを表現する方法について述べられている。最後に第7章において本研究のまとめと今後の課題について述べられている。以下で各章の内容について述べる。 コンピュータグラフィクスの分野において、自然現象の可視化は重要な課題の一つである。様々な自然現象の中でも、粒状物質のアニメーションは、景観シミュレーション、バーチャルリアリティー、映画等の様々な分野へ応用されており非常に有用な研究である。一方、物理シミュレーションの分野では粒状物質のシミュレーション手法が提案されているが、特にCGで有用となるような粒状物質で構成された地面に適用する場合には非常に計算コストが高いことが知られている。そこで、本論文では単純なモデルを用いて粒状物質を対象とするアニメーションを効率的に生成する手法を提案している。 第3章では、風紋と砂丘のモデリングおよびレンダリング法を述べている。まず、砂漠地形のモデリングについて議論している。砂漠地形は主に砂丘とその表面にできる細かい縞模様である風紋からなっている。それぞれを形成するためのモデルについて述べている。次に砂丘と風紋を組み合わせて砂漠の景観をレンダリングする方法について提案している。レンダリングでは砂丘の表面上に小さな凹凸である風紋を表現するためにバンプマッピングの手法を用いている。この計算の効率化のためにLOD (Level Of Detail)の手法を用いている。また砂漠の景観をよりリアルに表示するために、砂丘の影、風紋の影を考慮している。 第4章では、柔らかい地面上に残る物体の痕跡生成の高速な形計算法について述べている。提案法では、(1)地面と物体との衝突判定、(2)衝突部分の地面の物質の圧縮と周囲への移動、(3)急斜面での崩落、をそれぞれ計算することによって物体の接触による地面の変形を計算する。地面と物体との衝突判定はハイトフィールドが一価関数であるという性質を利用してZバッファを用いて行う方法を提案している。Zバッファ法を用いることによりグラフィックスハードウェアを利用して高速に衝突判定を行うことができる。また、地面の変形を効率的に行うために、多重解像度のハイトフィールドによる最適化法も提案している。 第5章では、物体による粒状物質のインタラクティブな変形法と粒状物質の崩落のレンダリングについて述べている。提案法では物体と物体上の粒状物質を、物体存在領域を表す高さのスパンのリストを各要素として持つ二次元配列(HS (Height Span)マップ)で表す。各ハイトスパンは次の三つの要素で構成される。(1)物体の上向きの面の高さ、(2)下向きの面の高さ、(3)その位置での物体上の粒状物質の高さ。これにより地面と同様に高さの変化だけを考えればよくなるので粒状物質の動きを効率的に計算できる。また、レンダリング時には各ポリゴンのテクスチャ座標を崩落量に応じて変位させることによって地面の表面上の粒状物質の動きを表現している。 第6章では、物体が粒状物質で構成された地面に衝突した際の粒状物質の飛散を計算する方法について述べている。本節では粒状物質の飛散の計算に粒子要素法(DEM)を拡張したものを用いている。DEMでは粒子の集合の挙動について、各粒子の移動と回転をその粒子に接触している粒子から受ける反発力を用いて計算する。しかし、粒子要素法は地面を構成する全粒子に関する挙動を逐一計算するので、本節で対象とする砂地のような広い空間をシミュレートすると計算時間が膨大になる。この問題を解決するために、本章では粒子要素法を拡張し、ここではいくつかの粒子を一つの大きい粒子で代表して粒子の集合の動きの計算している。 なお、本論文第3章、第4章、第5章、第6章は東京大学の西田友是教授との共同研究であるが、論文提出者が主体となって開発、分析、検証を行ったもので、論文提出者の寄与が十分であると判断する。 したがって、博士(科学)の学位を授与できると認める。 | |
UTokyo Repositoryリンク |