XaiJu
Maron_Vtuber
Maron_Vtuber

fanbox


【紹介】ライトに動く模様を付けられるDynamic Light Cookie

こんにちはっ🌟八ツ橋まろんです


UnityのライトにはCookieという項目があり、ここに透過画像を入れるとライトに模様を付けることができます。


(例)スポットライト

※ポイントライトの場合は、普通の透過画像ではなくCubeマップを入れないといけないので、難易度が高い


今回は、このCookieに動画を入れたいということで、Compute Shader(コンピュートシェーダー)とスクリプトを使って、スポットライト/ポイントライトのCookieに動画を充てられるシェーダーとスクリプトをそれぞれ作りました。


利用規約はこちら


配布はこちら(支援者限定)


スポットライトの使用例↓↓

(frame embed)



ポイントライトの使用例↓↓

(ポイントライトは、同じ動画を6方向に使うことでCubeマップを作成しています)

(frame embed)



Compute Shaderとは、GPUをレンダリング以外の用途に使うために書くシェーダーで、今回はVideo Playerで動画を反映したRender Textureをサンプリングし、その後Render Textureを上書きする処理を実行しています。具体的には、動画の黒い部分を透明(alpha = 0)という扱いにしてRender Textureを上書きしています。


これをC#スクリプトでサンプリング処理を書いたらCPUを使ってしまい、重い処理になってしまうので、Compute ShaderでGPUで実行しているのです。


ぜひ使ってみてください。


それではっ🌟



【紹介】ライトに動く模様を付けられるDynamic Light Cookie 【紹介】ライトに動く模様を付けられるDynamic Light Cookie

More Creators