以前作成したパズルで、スポットライトを実装した。この記事で書いたが、その実装は円錐のモデルにボリュームライトのマテリアルを適用するものだった。残念ながらこの実装はスポットライトの径の変更がスムースではなかった。
そこで、ネットで公開されている円錐体に変形する頂点シェーダーを利用してスポットライトのシェーダーグラフを作成した。これによりUnityのプリミティブな円柱を円錐に変形できる。
ただ、オリジナルの頂点シェーダーは元のモデルのバウンディングボックの上端が円錐の頂点(=径が0)となっている。これでは光の起点のライトの径と合わないので、上端での円錐の径が指定できるよう変更。これにボリュームライトのマテリアルも合わせて一つのシェーダーとした。
以前の実装を利用していたパズルもこの新しいシェーダーに変更。径の変更がスムーズとなった。
アイキャッチ画像は、Bing Image Creator経由の DALL.Eで生成したもの。スポットライトが綺麗に入らないのでこの絵で。イメージ通りに AI生成は難しい。