Rendering

【Unity】オーバードローを正確に測定できるOSS「UnityOverDrawKun」の紹介

Unityでオーバードローを正確に測定できるOSS「UnityOverDrawKun」の紹介です。 UnityOverDrawKun? 使い方 SceneViewのOverdrawモードとの違いについて URPでも使える? 関連 参考

【Unity】【シェーダ】インラインサンプラーステートを使ってテクスチャのWrap ModeやFilter Modeをシェーダで指定する

Unityでインラインサンプラーステートを使ってテクスチャのWrap ModeやFilter Modeをシェーダで指定する方法についてまとめました。 サンプラーステートをシェーダで指定する シェーダを書く 結果 参考

【Unity】URPのParticlesシェーダのDistortion機能の使い方と注意点まとめ

UnityのURPのParticlesシェーダのDistortion機能の使い方と注意点についてまとめました。 はじめに 使い方 Camera Opaque Textureを有効化する マテリアルをつくる 重ねた時の注意点 描画順に関する注意点 手前にあるオブジェクトに関する注意点 画面端でエ…

【Unity】【URP】Texture2DArrayをシェーダでサンプリングする

UnityのURPで、Texture2DArrayをサンプリングするシェーダを作る方法についてまとめました。 はじめに Texture2DArrayを作る サンプリングするシェーダを書く 結果 関連 参考

【Unity】【URP】Texture3Dをシェーダでサンプリングする

UnityのURPで、Texture3Dをサンプリングするシェーダを作る方法についてまとめました。 はじめに Texture3Dを作る サンプリングするシェーダを書く 結果 関連 参考

【Unity】URPでDeferred Renderingの概要を学んでサクッと使う

UnityのUniversal Render Pipeline(URP)でDeferred Renderingの概要を学び、簡単に使うところまでをまとめました。 はじめに Forward RenderingとDeferred Rendering URPにおけるForward Renderingとの違い リアルタイムライトが多数使える 半透明描画はForw…

【Unity】Uiversal Render Pipelineでカスタムポストエフェクトを実装する(公式未対応バージョン)

UnityのUniversal Render Pipeline(URP)でカスタムポストエフェクトを実装する方法についてまとめました。 なおいずれはカスタムポストエフェクトについて公式なサポートが入る予定ですが、この記事は公式が未対応の現状における実装方法となります。 はじめ…

【Unity】URP用のシェーダの書き方が旧パイプラインと微妙に違ってややこしいのでまとめた

URP用のシェーダの書き方が旧レンダリングパイプラインと微妙に違ってややこしいのでまとめました。 はじめに シェーダ 関連 参考

【Unity】Universal Render Pipelineで独自のレンダリングパスを追加する

Universal Render Pipelineで独自のレンダリングパスを追加する方法についてまとめました。 はじめに パスを定義する パスに対応するシェーダを書く ScriptableRendererFeatureを作る Forward Renderer Dataに設定する レンダリングする 関連

【Unity】Universal Render Pipelineでポストエフェクトを適用する

Universal Render Pipelineでポストエフェクトを適用する方法についてまとめました。 はじめに URPでポストエフェクトを掛ける手順 Renderer Dataを設定 Cameraを設定 Volumeを作成 エフェクトを追加 Renderer Featureとして適用するポストエフェクトについ…

【Unity】SRP Batcherまとめ - Dynamic BachingやGPUインスタンシングとの違い~シェーダの書き方まで

UnityのSRP Batcherについてまとめました。 SRP Batcherとは? Dynamic Baching・GPUインスタンシングとの違い Dynamic Batching GPUインスタンシング SRP Batcherの使い方 シェーダの書き方 関連 参考

【Unity】URPのComplex Litシェーダでクリアコーティングされたマテリアルを作る

UnityのUniversal Render PipelineでComplex LitシェーダのClear Coatを使う方法についてまとめます。 URPでクリアコート? クリアコートとは? 使い方 パフォーマンス 関連 参考

被写界深度ポストエフェクト実装の前提知識 - カメラレンズとボケの仕組み

被写界深度のポストエフェクトを実装する際の前提知識として、レンズとボケの仕組みについてまとめます。 はじめに シンプルなカメラ - ピンホールカメラ たくさんの光を取り込むためにレンズを使う レンズの副作用 - 錯乱円 被写界深度 参考

チャンクを直接読み込んでPNG画像のファイルフォーマットを理解する

PNG画像のデータ構造を簡単にまとめて、Unityを使ってチャンクの読み込みを行う方法についてまとめます。 PNGファイルの構成 チャンクを読み込む チャンクを書き換える 参考

【Unity】【シェーダ】プロシージャルな髪の異方性ハイライト(天使の輪)表現を作る方法

Unityのシェーダでプロシージャルに髪のハイライトを作る方法です。 やりたいこと binormalを使ってハイライトを作る jitterテクスチャを使う 結果 関連

【Unity】GPU上のRenderTextureのピクセル情報を非同期的に取得するAsyncGPUReadback

UnityでGPU上のRenderTextureのピクセル情報を非同期的に取得するAsyncGPUReadbackについてまとめました。

【Unity】【シェーダ】Particle SystemのCustom Vertex StreamsとCustom Dataの使い方まとめ

Particle SystemのCustom Vertex StreamsとCustom Dataの使い方をまとめました。

【Unity】【シェーダ】Particle SystemのGPUインスタンシングに対応したシェーダを書く

Particle SystemのGPUインスタンシングに対応したシェーダの書き方をまとめました。

【Unity】Particle SystemにおけるGPUインスタンシングの用法・用量を理解して正しく使う

Particle SystemにおけるGPUインスタンシングの基礎知識と注意点をまとめました。

【Unity】Universal Render Pipeline(URP)とは? - 概念の説明~セットアップまで

UnityのUniversal Render Pipeline(URP)の概念とセットアップ方法をまとめました。

物理ベースレンダリング入門 その③ - PBRシェーダをUnityで実装する

物理ベースレンダリングに入門するための連載の第3回です。 最終回の今回はPBRのシェーダをUnityで実装します。

物理ベースレンダリング入門 その② - 鏡面反射BRDF・拡散反射BRDF

物理ベースレンダリングに入門するための連載の第2回です。 今回は主要な鏡面反射BRDFと拡散反射BRDFを紹介します。

物理ベースレンダリング入門 その① - 物理ベースレンダリングとは?

物理ベースレンダリングに入門するための連載の第1回です。 今回は物理ベースレンダリングの概念とその背後にある考え方についてまとめます。

【Unity】【Shader Graph】浮動小数点数の精度を設定できるPrecision Modeについて

UnityのShader Graphで浮動小数点数の精度を設定できるPrecision Modeについてまとめます。

【Unity】【エディタ拡張】プレビューなどに使う一時的なレンダリング用シーン(Preview Scene)の作り方

Unityのエディタ拡張で、プレビューなど一時的なレンダリング用に独立したシーンを作成する方法です。

シェーダでは浮動小数点のアンダーフローを意識しないと端末依存バグが起こるよって話

シェーダでは浮動小数点のアンダーフローをちゃんと意識しないとダメだよって話です。

【Unity】深度とビュー空間の法線を使って輪郭線を表示するポストエフェクトを実装する

Unityで深度とビュー空間の法線を使って輪郭線を表示するポストエフェクトを実装する方法をまとめました。

【Unity】【シェーダ】投影テクスチャシャドウを実装する

Unityのシェーダで投影テクスチャシャドウを実装する方法をまとめました。

【Unity】【シェーダ】色空間設定がガンマでもリニアでも同じ計算結果を示すシェーダを書く方法

Unityのシェーダで色空間設定がガンマでもリニアでも同じ計算結果を示すシェーダを書く方法についてまとめました。

【Unity】【シェーダ】オブジェクトを描画した後に別のシェーダを使って追加描画する

Unityのシェーダでオブジェクトを描画した後に追加描画する方法です。