カナダのテクニカルアーティスト・Mirza Beig氏は1月29日(木)、Unityのユニバーサルレンダーパイプライン(URP)向けに、リアルタイムで動作するガラスシェーダの制作チュートリアルをXの記事機能で公開した。ノードベースのシェーダエディタであるシェーダーグラフ(Shader Graph)を用いて、背景の歪みを物理的にシミュレートする屈折(Refraction)表現の実装手法が解説されている。また、Unity Play内には、本シェーダのデモページも用意されている。

▲ガラスシェーダのレンダリング結果。手前の球体を通して背景の階段やグリッドが歪んで表示されており、透明な材質が光を屈折させる物理現象がシミュレートされている

公開されたチュートリアルでは、ガラスの透明感と光の屈折を表現するための核心的な手法として、不透明オブジェクトが描画された後の画面情報を利用する方法が紹介されている。具体的には、「カメラ不透明テクスチャ(_CameraOpaqueTexture)」と呼ばれる、レンダリング済みの背景画像を取得し、それをガラスオブジェクトの表面に投影するアプローチだ。

▲ガラス表現の基礎となるシェーダーグラフの初期構成。「_CameraOpaqueTexture」ノードを使用してレンダリング済みの背景画像を取得し、画面座標(Screen Position)に基づいてテクスチャをサンプリングしている

単に背景を透かすだけでなく、ガラス特有の物質感を出すため、画面上の座標系であるスクリーンUVに対して操作を加える点が重要となる。チュートリアルでは、初期段階としてノイズを加えることで擬似的な歪みを生成し、背後の景色が歪んで見えるガラスの特性を再現する工程が示された。この際、マテリアルの設定で深度情報の書き込み(Depth Write)を有効にし、描画順序を正しく管理する必要があるとも補足されている。

さらに高度な表現として、ランダムなノイズではなく、光学的な物理法則に基づいた正確な屈折の実装についても詳述されている。ここでは、空気や水、ガラスといった物質ごとの屈折率(IOR、Index of Refraction)を考慮し、光が物質の境界を通過する際の進路変更を計算する。

Unityのシェーダーグラフには、こうした計算を容易にする屈折(Refract)ノードが標準で用意されている。チュートリアルによれば、カメラからオブジェクトへの視線ベクトル(View Direction)と、ポリゴン表面の向きを表す法線ベクトル(Normal Vector)、そして物質の屈折率を入力することで、正確な屈折ベクトルを算出できる。これをスクリーンUVのオフセットとして適用することで、物理的に説得力のあるリアルなガラス表現が可能になるという。

▲物理法則に基づいた屈折(Refraction)を実装したシェーダーグラフの全体図。Refractノードを用いて、視線ベクトルと法線ベクトルから計算した屈折ベクトルを、UV座標へのオフセットとして加算している

■GLASS SHADER (UNITY, URP) TUTORIAL(Mirza Beig氏 X記事)
https://x.com/TheMirzaBeig/article/2016702324576579644

■Unity 6, URP Glass (SG + HLSL)(Unity Play)
https://play.unity.com/en/games/ea225189-2565-49e7-9bf1-2e932d5370e6/unity-6-urp-glass-sg-hlsl

CGWORLD関連情報

●目に見えない気流・空気質を可視化したデジタルサイネージ プログラマーによるUnity Industry 活用事例

WOWは「AIR HUB TOKYO」プロジェクトで、気流や温湿度といった環境データの可視化システムの大部分をUnityで構築。その開発プロセスにおけるメリットや、Houdiniを用いた高度なデータビジュアライゼーションの手法について、WOWでプログラマーとして活躍する梅田優弥氏に詳しく話を伺った。
https://cgworld.jp/special-feature/2512-wow-unity-industry.html

●Ayano氏、障害物に沿ったライトシャフト作成ツール「ライトシャフトジェネレーター」リリース! Unityエディタ拡張+シェーダ、シェーダはVRChat動作確認済み

Ayano氏主宰のサークル・第二社会速度が、障害物に沿ったライトシャフト(空間内に降り注ぐ光の筋)の表現を可能にする、Unityエディタ拡張とシェーダからなるツール「ライトシャフトジェネレーター」をBOOTHでリリース。シェーダはVRChatのワールドで動作確認済みで、VRChatのサンプルシーンも公開している。価格は800円。
https://cgworld.jp/flashnews/01-202601-LightShaftGen.html

●VRChatワールド向け雪シェーダ「GPU Snow - GPU Particle Volumes」リリース! ローエンドGPUでも数十万のパーティクルをレンダリング可能、基盤技術はオープンソースで公開

RED_SIMがオープンソースのUnityエディタ拡張「GPU Particle Volumes」をGitHubで公開し、その技術を用いた有料の雪シェーダ「GPU Snow - GPU Particle Volumes」をBOOTHで公開。価格は1,000円。
https://cgworld.jp/flashnews/01-202512-GPUSnow.html