はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】ShaderGraphでポスタライズやモザイクを表現する(Posterizeノード)

はじめに

今回はShaderGraphのPosterizeノードについての記事になります!

f:id:hanaaaaaachiru:20191207164929p:plain

まずこのPosterizeポスタライズと日本語で言うみたいで、画像を指定した段階数に色分けする画像加工法なんかに使われるみたいです。

ただそういった使い方のみならずモザイクなんかにも応用できたりと非常に奥が深くて面白いんですよね。

では早速みていきましょう。

Posterizeノード

ポートはこんな感じ。

名前 入出力 タイプ 意味
In 入力 Dynamic Vector 入力値
Steps 入力 Dynamic Vector 何段階に分けるか
Out 出力 Dynamic Vector 出力値

このStepsにある値に基づいて、入力値を丸めます。例えばStepsが5だと、0から1の範囲で5バンドが作成されます。

f:id:hanaaaaaachiru:20191207173036p:plain

実装例①「ポスタライズ加工」

最初の例は正統派な使い方?なポスタライズ加工です。画像を指定した段階数に色分けする画像加工法のことですね。

f:id:hanaaaaaachiru:20191207175552p:plain

実装例②「モザイク」

ちょっと使い方を応用すると、こんな感じのモザイクもできます。

f:id:hanaaaaaachiru:20191207175858p:plain

さいごに

いろんな使い方ができて非常に面白いですよね。

これを使って簡単なドット絵を書いたりなんかもできたりするかもしれません。時間があれば試してみたいと思います!