Hatena::ブログ(Diary)

project Wings開発日記

2011-07-09

バンプマッピングとスペキュラマッピングのお話

21:18

「次のエントリーで」と宣言してからしばらく経ってしまい皆様の記憶から遠退いてしまった感がありますが、今回はSphereEngine4におけるバンプマッピングとスペキュラマッピングについてです。

これからバンプマッピングとスペキュラマッピングの2つについて説明を行いたいと思いますが、それに先だってマッピングの言葉の意味について述べておきます。

マッピングとはオブジェクトのモデルデータの質感を表現するために用意された画像ファイルとモデルデータを連係させることを言います。普通はモデルの表面にテクスチャと呼ばれる画像ファイルで色や模様を表現するために行われます。テクスチャマッピングが一切行われていないモデルデータには面の質感に関する情報が与えられないため、表面が真っ白になって表示されます。

余談ですが、こういったモデルは開発現場で「豆腐」や「冷や奴」と呼ばれることがあります。

RSEを含めてSphereEngineではモデルに最低限1種類のテクスチャを用意すればユニットの形と色や模様を表現することが出来ます。しかしこれではモデルでは表現しきれない微妙な凹凸やざらつき、さらには汚れによる光の反射の違いを表現することが不可能です。言ってみればいくらテクスチャで飛行機の汚れや傷、へこみを表現してもユニットとして描写されると表面はツルンツルンに見えてしまうわけです。これでは丹精込めて作ったテクスチャも浮かばれません。


f:id:nrtwd:20110709211312p:image

ツルンツルン


そんな悩みを解決するのが今回説明する「バンプマッピング」と「スペキュラマッピング」です。

バンプマッピングバンプbump)は「へこみ」や「隆起」といった意味で、バンプマッピングでは表面の凸凹やパネルとパネルの間に生じるわずかな隙間などの物理的な質感をバンプマップという画像ファイルを基に表現します。

スペキュラマッピングのスペキュラ(specular)は「反射」という意味で、スペキュラマッピングでは表面のざらつきなど表面の屈折率の違いによる光の反射をスペキュラマップという画像ファイルを基に表現します。

以上がバンプマッピングとスペキュラマッピングの簡単な説明になりますが、この2つのマッピングはSphereEngine4から標準でサポートされる他、現行のモデルビューア「X-Viewer2」に先行搭載されています。


f:id:nrtwd:20110709211311p:image

バンプマップとスペキュラマップで光沢と汚れが共存


先日開催されたSEC2011では開発中のSphereEngine4が開発者の電プロさんの手で実演されました。SphereEngine4ではこれまで以上にユニットが美しく、圧倒的な存在感を放つことになるでしょう。