Vertex Color (頂点カラー)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。3Dモデルの各「頂点」自体に格納されたRGB(およびAlpha)のカラー情報のことで、シェーダー内でテクスチャを使わずに色付けやマスクとして活用する仕組み。

現実世界での例え:針金のロープを揺らすとき、『手元の固定部(黒)』と『揺れ動く先端(白)』の硬さの塗り分け

頂点カラーは、「3Dモデルの関節やパーツごとに、あらかじめ『この部位はこう動いてよし(白)』『ここは絶対に動くな(黒)』と、直接マジックで書いておく落書きメモ」です。画像ファイル(テクスチャ)を読み込む必要がないため、メモリ消費は完全にゼロです。シェーダーはこのメモの文字(数値)を読み取るだけで、モデルの部位ごとの可動域や、パーティクル1粒ずつの消滅グラデーションを爆速で制御できます。

Vertex Color (頂点カラー) concept infographic diagram

図:Vertex Color (頂点カラー)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック

詳細な仕組みと動作原理

DCCツールでモデルの根元側の頂点カラーを黒(0.0)、毛先側を白(1.0)としてペイントし、頂点シェーダー内で「頂点変位量 × 頂点カラー.r」を計算して揺れ幅を制御します。