経年変化をプロシージャル生成する(2)~錆と浸食
Dorsey氏は金属の錆についても経年で徐々に錆びていく様をプロシージャル生成する論文を発表している(「Modeling and Rendering of Metallic Patinas」(Julie Dorsey,SIGGRAPH1996))。
金属の種類にもよるが、金属の錆は、まず酸化が起きて酸化した金属が表面に被覆し被膜を形成する。この酸化金属が錆で、これが堆積すると今度は剥離が発生する。
この研究では、こうした錆が出来て剥離したりするまでの仕組みをマルチレイヤーでシミュレーションしている。具体的には、もともとの金属材質の層、錆の被膜層、錆の剥離層などだ。
各層にはそれぞれの厚みがあり、経年変化によって厚みが変わる。単純な例で言えば最初は錆の被膜層が多いが、そのうち剥離層が多くなる……というようなことだ。一度錆が発生するとそこから広がっていくので、そういった錆の成長も配慮に入れる。
各層がどういう光の反射をするのか、どういう色なのかが定義されており、レンダリング時のライティング処理にはこうした複数層に渡っての反射と色の出方についても配慮する。
石像が雨水によって浸食を受けて風化したモデルの生成についての研究もDorsey氏は行っている(「Modeling and Rendering of Weathered Stone」(Julie Dorsey,SIGGRAPH1999))
金属の錆のケースとよく似ているが、石も雨水の浸食を受けて風化していく。具体的な風化のプロセスはこうだ。まず、雨水と他の物質とが融合して出来た酸化物が石の表層から浸透し(図中のa~b)、これが再結晶化して石の表層部と結合してしまう(c)。ここがもろくなるので、これが今度は剥離してしまい、新たな石の表層を露呈させ(d)、さらに風化は進行していく。
この浸食のプロセスを3Dグラフィックスベースでプロシージャル・アプローチで再現するために、Dorsey氏は、スラブ(Slab)・モデリング構造というアイディアを考案した。
これは3Dモデルをポリゴンで表現するのではなく、3Dモデルの表面を複数枚のテクスチャからなる、いわばボリュームテクスチャで再現する方法だ。3Dモデルの表面に着目して、局所的な断面図を生成してこれをボリュームテクスチャとするのだ。
そして、浸食のシミュレーションを、このボリュームテクスチャの外層に対して行う。
浸食によってボリュームテクスチャの外層のボクセルは削れて消失していく。
最終的なレンダリングは、このボリュームテクスチャを再度ポリゴンモデルに再構築して行うか、あるいはこのままボリュームレンダリングを実行すればいい。
下の図はこのスラブ構造モデルによる浸食のシミュレーション結果になる。
図は、砂岩製の支柱をスラブ構造モデルで浸食をシミュレーションした例で、10万ポリゴンのモデルを240個のスラブに割り当てている。1つのスラブあたり32×32×32ボクセルからなっているとのこと。
左は新品の状態。右は浸食が進んだ状態だ。
より造形の複雑なモデルに対しての実験も行われている。それが下図の「女猟師ダイアナ」像の例になる。
左が新品の状態。ちなみにポリゴン数は130万。右がその浸食した結果となる。向かって左の胸の突起部、頭頂部の凹凸、肩の布のシワなどは強く浸食が進んで丸みを帯びている。この例では、前出の経年劣化のプロシージャルテクニックも同時に実行しているため、大理石に含まれるミネラル分の内の鉄分が酸化して流れ出て黄色く変色する様も付加している。(続く)
(トライゼット西川善司)