Unity の ParticleSystem 上で「射線軸から見ても破綻しないビーム」を実装した 2017.3 用のプロジェクトです。 動作デモを unityroom で公開中です。
青いビームは ParticleSystem 内蔵の Streched Billboard、黄色いビームが今回の方法で描画しています。
描画方法の基本的なアイデアは Unite 2016 Tokyo の安原氏の講演「ハードウェア性能を引き出して60fpsを 実現するプログラミング・テクニック(PDF, YouTube)」で 公開されたゲーム「Another Thread」の「楕円シェーダー」に基づくものです。
github ソースコード内の
の 2 つのファイルが楕円シェーダー関係のソースになります。
Particle の表示に使うメッシュはエディタ拡張によりプロジェクトを開いた時に自動生成します。 そのため、Unity でプロジェクトを開いた直後は、ParticleSystem の Mesh の参照が外れているため表示されません。 以下の手順で参照を設定する必要があります。 (これは最初の一度だけ必要な操作です。自動生成されたメッシュを削除しない限り何度も行う必要はありません)