Vertex Color on Polygon Surface

交差判定があればコリジョンを取ったり遮蔽を調べたりと、いろんなことが出来るわけですが、ポリゴン表面の頂点カラーを採取するなんてことも出来ますね。面白そうなのでやってみました。枯れた技術とはいえ頂点カラーはローエンドな環境(涙)ではいまだに使われていますし、個人的にはデザイナーのセンスや個性が現れるので割と好きな機能です。

 

bilinear_interporation

ポリゴン表面のシェーディングは一般的に各頂点の色を線形補間したグラデーションで描画されています。ある点における色の割り出し方は図に載せたとおり、だと思われますが、これは交差判定で三角形内のu, v 値を取る方法で比を調べれば計算することができます。

 

bilinear_interporation_01

試しに頂点カラーをかけた三角形ポリゴンの上に、小さい平面ポリゴンを配置し、真下のベクトルで色を採取してみたものです。真下でなくても任意のベクトルで交差した地点の色を採取することができます。

 

bilinear_interporation_02

地面にモデルを接地させた後に、接地部分のみ接地点の頂点カラーを採取するようにして実行してみた例です。背景デザイナーの方なら配置モデルの地面に接している部分に地面の頂点カラーを適用させたい、なんて思った経験がありますよね?

頂点カラー関連は他にも面白いことが出来そうですね。また何か思いついたら作ってみます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中