tara.log

シェーダー備忘録

【Shader Forge】色収差の作り方

f:id:aitarai:20210222175500g:plain:w300

イラストでは割と知られる技術の色収差ですが、
シェーダーでまじめに表すとこんな感じになります。


f:id:aitarai:20210222184156p:plain
RGBの各カラーとScreen Pos.(描画画面)を multiplyし、その結果をAddでオフセットしてずらします。最後に、Append ノードでRGBを合成して出力されたベクトルをカラーにつっこむ。
記事の後半でPhotoshopでの色収差の作り方を載せていますが、手順自体は全く同じことをしています。
※ Appendノードは ShaderForge の独自ノードで、ShaderFX だと VectorConstruct、ShaderGraph だとCombine に当たります。便利ノード。


f:id:aitarai:20210222175503j:plain
こちらは、Booth でシェーダーを漁っていたら見つけた別解。
オフセットして色情報を取り出すだけでも同じ結果になるのねん…
勉強になりました。

Photoshop での色収差

f:id:aitarai:20210222181942j:plain

f:id:aitarai:20210222181954j:plain
Photoshopもレイヤー効果は関数なので、乗算はmultiplyだし、加算・スクリーンはaddです。

  • 手順① 絵を3枚に複製して
  • 手順② RGBレイヤーを作成してそれぞれに乗算・結合する。
  • 手順③ 上2枚のレイヤーをスクリーンにして、かつ絵を少しずらす。