カナダのテクニカルアーティスト・Mirza Beig氏は1月29日(木)、Unityのユニバーサルレンダーパイプライン(URP)向けに、リアルタイムで動作するガラスシェーダの制作チュートリアルをXの記事機能で公開した。ノードベースのシェーダエディタであるシェーダーグラフ(Shader Graph)を用いて、背景の歪みを物理的にシミュレートする屈折(Refraction)表現の実装手法が解説されている。また、Unity Play内には、本シェーダのデモページも用意されている。
I made a 'perfect' glass shader for Unity.
— Mirza Beig (@TheMirzaBeig) January 29, 2026
+a full, written tutorial about it!
It's for absolute beginners.
w/ Lots of pretty videos and pictures.#unity3d #gamedev #glsl https://t.co/TtCeBtbrno pic.twitter.com/AFvHgMzeqm
公開されたチュートリアルでは、ガラスの透明感と光の屈折を表現するための核心的な手法として、不透明オブジェクトが描画された後の画面情報を利用する方法が紹介されている。具体的には、「カメラ不透明テクスチャ(_CameraOpaqueTexture)」と呼ばれる、レンダリング済みの背景画像を取得し、それをガラスオブジェクトの表面に投影するアプローチだ。
単に背景を透かすだけでなく、ガラス特有の物質感を出すため、画面上の座標系であるスクリーンUVに対して操作を加える点が重要となる。チュートリアルでは、初期段階としてノイズを加えることで擬似的な歪みを生成し、背後の景色が歪んで見えるガラスの特性を再現する工程が示された。この際、マテリアルの設定で深度情報の書き込み(Depth Write)を有効にし、描画順序を正しく管理する必要があるとも補足されている。
memorize this for GLASS~
— Mirza Beig (@TheMirzaBeig) July 16, 2025
TransformDirection_WorldToViewSpace(
refract(cameraToVertexDir, vertexNormal, 1.0 / 1.54));
You're calculating the refraction offset vector based on the incident angle (from the incoming ray to the surface, which is camera -> the vertex or… pic.twitter.com/8hQx4v1fQe
さらに高度な表現として、ランダムなノイズではなく、光学的な物理法則に基づいた正確な屈折の実装についても詳述されている。ここでは、空気や水、ガラスといった物質ごとの屈折率(IOR、Index of Refraction)を考慮し、光が物質の境界を通過する際の進路変更を計算する。
Photon -> caustics projection.
— Mirza Beig (@TheMirzaBeig) July 30, 2025
Gathers energy from the refracted rays.
(caustics are the folding, overlap, concentration, and dispersion of light energy/radiation - and that's what is happening here, based on the actual wave simulation)#unity3d #gamedev #realtimevfx https://t.co/xhugwpFMmp pic.twitter.com/po1r6TUhTH
Unityのシェーダーグラフには、こうした計算を容易にする屈折(Refract)ノードが標準で用意されている。チュートリアルによれば、カメラからオブジェクトへの視線ベクトル(View Direction)と、ポリゴン表面の向きを表す法線ベクトル(Normal Vector)、そして物質の屈折率を入力することで、正確な屈折ベクトルを算出できる。これをスクリーンUVのオフセットとして適用することで、物理的に説得力のあるリアルなガラス表現が可能になるという。
Halo's active camoflage is a refraction effect.
— Mirza Beig (@TheMirzaBeig) January 29, 2026
I'm glad my glass shader looks good enough to make people think it could tank framerates, but games have been doing this stuff for decades. I've just thrown on a colourful VdotN mask (aka, Fresnel).
https://t.co/32xTducksh https://t.co/1JgBTk5YVG pic.twitter.com/lZF0jzER5n
■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