Rendering

【Unity】【シェーダ】色収差のポストエフェクトを実装する

色収差のポストエフェクトを実装します。

【Unity】【エディタ拡張】MatCap用テクスチャを簡単に作るエディタ拡張

MatCapテクスチャを簡単に作るためのエディタ拡張を作ったので公開します。

【Unity】【シェーダ】フレネル反射の実装

フレネル反射について簡単にまとめます。

【Unity】【シェーダ】MatCap(スフィアマッピング)を実装する

MatCapとかスフィアマッピングとか呼ばれる手法の実装方法です。

【Unity】【シェーダ】スクリーンに対してテクスチャをマッピングする方法を完全解説する

スクリーンに対してテクスチャをマッピングする方法です。

【Unity】【シェーダ】Custom Render Textureを使ってみる

Unity2017から追加されたCustom Render Textureを簡単に使ってみました。

【Unity】プロジェクション行列は掛けるだけじゃなくてw除算しなきゃダメだよという話

カメラ空間からプロジェクション空間に座標変換する過程の理解が曖昧だったので、それに関する記事です。

【Unity】Draw CallやSetPass Callって結局なんなのか?

Draw CallやSetPass Callについて調べると、どうやらこれらがパフォーマンスに影響することがわかります。 また、実際に回数を減らすためのノウハウも色々と解説されています。 が、じゃあDraw CallやSetPass Callってそもそも何なの?どう違うの?って話が…

【Unity】TextMesh Proを使うと何ができるのか?メリットとデメリット

先日(といっても結構前ですが)、TextMesh ProがUnityのオフィシャルなアセットとなりました。 今回はこのTextMesh Proの文字装飾機能について、ほかの方法と比較してみます。

【Unity】ダイナミックフォントの知っておくべき内部挙動

Unityではフォントファイルを指定することで好きなフォントを使えます。 便利な機能ですが、内部挙動を知らないとパフォーマンスに悪影響を及ぼしてしまうことがあるので簡単にまとめます。

タイルベースレンダリングの概要と、不透明なフラグメントの破棄は高負荷だという話

モバイルではclip()やdiscardを多用しないほうがいいという話を聞きます。 これに関連して、タイルベースレンダリングを概要からまとめてみました。

【Unity】【シェーダ】RenderTypeをスクリプトから変更する

RenderTypeをスクリプトから変更する方法です。 Standardシェーダのように不透明や半透明をエディタから切り替える機能をつけるときなどに便利です。

【Unity】【シェーダ】Custom Render Queueについて

マテリアルからQueueによる描画順をいじるCustom Render Queueの使い方です。

モバイルにおけるテクスチャ圧縮の概要とサイズが2のべき乗じゃないとダメな理由

意外とまとまっていないテクスチャ圧縮の概要です。 いろんな職種の人がちゃんと知ってるべきだけど意外と伝わらなかったりするのでまとめてみます。

【Unity】【シェーダ】clip()やdiscardを使うときにはRenderQueueをAlphaTestにする話

AlphaTestというRenderQueueについてちゃんと理解できていない感があったので調べました。

【Unity】【シェーダ】光芒(グレア)のポストエフェクトを実装する

光芒とかスターと呼ばれるポストエフェクトを実装してみます。

【Unity】【シェーダ】ガウス関数を使ってブラーを掛ける

ガウス関数を用いてぼかし効果を加える方法を紹介します。

【Unity】シャドウマップを自前で作成する(ライトからの深度をRenderTextureに描画する)

シャドウマップを自前で作成してみます。 以前カメラからの深度情報を得る方法を書きました。 light11.hatenadiary.com しかしこの方法は指定したRenderTextureに書き込んだりできないので別の方法で実装します。

【Unity】【シェーダ】4種のアウトライン描画方法とその特徴

アウトラインの描画方法はいくつかのパターンがあります。 このブログでもいくつか紹介してきたので、この記事ではそれらの概要と特徴をまとめてみます。

【Unity】【シェーダ】より低負荷なエッジ抽出方法(4点サンプリング法)

以前ソーベルフィルタやプレヴィットフィルタによるエッジの抽出方法を紹介しました(関連の節からリンクしてあります)。 これらの方法はテクスチャサンプリング数が多い(8回)という欠点があります。 そこで、より低負荷なエッジ抽出方法を紹介します。

【Unity】【シェーダ】プレヴィットフィルタでエッジを抽出する

前回、ソーベルフィルタによるエッジ抽出方法を紹介しました。 light11.hatenadiary.com 今回はプレヴィットフィルタによるエッジ抽出方法を紹介します。

【Unity】【シェーダ】ソーベルフィルタでエッジを抽出する

テクスチャやレンダリング結果などからエッジを抽出するにはいくつかの方法があります。 ここではソーベルフィルタというフィルタをかけることで抽出する方法を紹介します。

【Unity】【シェーダ】なんとなく書きがちな#pragma target 3.0の意味

Unityでシェーダを書くとき、特定の機能を使う場合に次のような記述をすることがあるとおもいます。 #pragma target 3.0 これはShader Compilation Target Levelsというものです。 今回はこれについて調べてみます。

【Unity】ステンシルバッファをポストエフェクトで使う方法(と謎の挙動)

ポストエフェクトでステンシルバッファを使う方法です。 なんかいろいろと挙動(の原因)がわからないところがあるのでメモがてら。 結論だけ知りたい方は「結論」の節まで飛ばしてもらえればわかるようになってます。

【Unity】【シェーダ】オブジェクトの遮蔽されている部分をシルエット描画する(ステンシルバッファ)

あるオブジェクトの、ほかのオブジェクトと重なって隠れてしまっている部分を違う色で描画する方法です。 障害物に遮蔽されているときにシルエットを描画したい場合などに使えます。

【Unity】【シェーダ】カメラからの深度情報を用いてアウトラインを描画する

デプステクスチャを用いてアウトラインを描画する方法です。

【Unity】【シェーダ】カメラから見た深度を描画する

カメラから見た時の深度を描画する方法です。

【Unity】【シェーダ】ステンシルバッファでアウトラインを描画する

ステンシルバッファを使ってアウトラインを描画する方法を紹介します。

【Unity】【シェーダ】シャボン玉風シェーダ

下の記事からさらに派生してシャボン玉風シェーダを作ってみました。

構造色レンダリングの要点をまとめてみる

構造色のレンダリング手法ってどんなものがあるのかと探していたところ、下記の論文を見つけました。 汎用的な構造色レンダリング手法の開発 とても勉強になりましたが、アカデミックな論文はなかなか理解に時間がかかってしまうので、要点をまとめてみます。…