Billboard (ビルボード) は、3D空間内に配置された2Dのポリゴン(主に正方形の板)を、カメラ(プレイヤーの視点)の動きや向きに応じて常に正面に向くように自動的にリアルタイム回転させる描画技術です。これにより、ペラペラの平面アセットであるにもかかわらず、どの角度から見ても厚みのある立体的なオブジェクトであるかのように錯覚させることができます。

現実世界での例え:カメラマンを常に正面から見つめる『ひまわりのお面』

ビルボードの動作は、「顔写真を貼り付けた『ひまわりのお面』をかぶった人が、カメラマンの動きに合わせて常に正面に向き直る演出」に例えることができます。

  • 従来(ビルボードなし): お面をかぶった人が、ある一定の方向(例えば北)を向いて直立不動で固定されています。カメラマンが真横(東)に移動して写真を撮ろうとすると、お面のペラペラの「厚みのない横顔の段ボールの厚み(側面)」がむき出しになり、ペラペラの偽物であることが一瞬でバレてしまいます(立体感の完全な崩壊)。
  • ビルボードによる解決: お面をかぶった人に対して、「カメラマンが歩く方向を常にセンサーで感知し、カメラマンの正面に完全に対面するように体を常にくるくる回し続けよ」というルールを適用します。これにより、カメラマンがどこに移動し、どの角度からレンズを覗いても、常にお面の真正面の綺麗な顔写真(炎や煙のテクスチャ)だけを捉えることになり、ペラペラであることを完全に隠し通すことができます。
Unity particle Billboard rotation logic concept

図:カメラのForwardベクトルや位置に応じて常に正対するように回転計算を適用するビルボードの概念イメージ

仕組みと動作原理

UnityのParticle System Rendererでは、デフォルトのRender Modeが「Billboard」になっています。GPUが頂点シェーダーを実行する際、各パーティクル頂点のローカル座標に対し、親オブジェクトの回転を無視して、現在の「Camera View Matrix」の逆行列を乗算することで回転成分を打ち消し、常にスクリーン面(またはカメラ位置)と完全に平行な向きになるように頂点トランスフォームを強制上書きして描画します。