【unity】URP × 2D × ポストプロセスV3で使えるエフェクト6選!!

unity2021.1.9f1

全国のunityゲームクリエイターのみなさん。おはようございます。

なんでもかんでも「見た目が9割!」の現実に、胸が張り裂けそうなサトヤです。

今回は、URP × 2Dレンダラーで使用可能なポストエフェクト5選!!と題して、見た目をお手軽にデコれるエフェクトをお届けする。

見た目が9割なら、見た目変えたらぁぁっ!!

ポストプロセスV3でね(‘ω’)

え?ポストプロセスの導入がまだお済でない?

大丈夫!こちらの記事から、どうぞ。

URP × 2Dレンダラーでポストプロセスを導入する!!

むむっ!URPを導入してない?
であれば、こちらの記事をチェック!チェック!

ユニバーサルレンダーパイプライン(URP)を導入せよ!!

URPとグローバルボリュームの配置が済んでいればOK!

サトヤの独断と偏見でポストエフェクトおすすめしちゃう!!

Bloom<ブルーム>

1発目はブルーム。
光があふれ出ているような効果を付与してくれるエフェクトである。
よく目にする。オクトパストラベラーもガンガン使っている。
効果的に使うと、エモい。
盛りすぎると、クドい。

画面全体がぼや~っとする。夢の中?

Depth Of Field<被写界深度>

カメラの世界ではおなじみ。
ピントが合う距離のことで、浅い、深いで表現する。
「被写界深度が浅い」は、画面の一部にピントが合っている状態。
「被写界深度が深い」は、画面全体にピントが合っている状態。

unityの2D環境においては、奥行きを考慮しないので、手前がボケてて、奥はピントが合っている様な絵作りは(現状は)不可能。
(シェーダグラフで自力でカスタムすればイケるかも。)

全画面ボケてるか、全画面合ってるか。で表現を作っていくことになる。

Film Grain<フィルムグレイン>

現実世界のフィルム粒子のノイズのシミュレーション効果を与えてくれるのが、フィルムグレイン。
「フィルムで撮った風」を装える。
ノスタルジックな雰囲気をだすには手っ取り早いかもしれない。

Vignette<ビネット>

これは、画像のエッジを暗くし、画像の中央を明るくする効果を与えてくれる。
実際のカメラで起こる物理的な影響のシミュレーションである。
これがあると、「何か、アートだね」風味を醸し出せる。
要するに、昔の映画っぽくなる。

Chromatic Aberration<色収差>

身も蓋もない言い方をすると、「酔っぱらってる雰囲気」を醸せるエフェクトである。
芸術的カメラ効果とも言えなくもなくない。(血を吸うわよ!)

Color Adjustments<カラーアジャストメント>

画面のトーンや明るさ、コントラストを調整できるエフェクト。
画面の色味を変更するエフェクトの中でもプロパティが比較的少なく、脳にやさしい。
また、ファンキーで、どぎつい色も出しやすいのでレトロなドット絵との相性バツグンである。

画像では青系に調整しているが、ほかにも様々な色味を出せる。

スクリプトからのアクセス方法

各エフェクトには、さまざまなプロパティーがあるが、それらはスクリプトから制御できる。

まずは、以下のUsingディレクティブを召喚すべし。

using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;

UnityEngine.Renderingを追加することで、IDEが<Volume>型を認識するようになる。
using UnityEngine.Rendering.Universalで、<Bloom>などのエフェクト型を認識するようになる。


次。Volumeとエフェクト用の変数を用意してやる。
アクセス修飾子はお好みで。

private Volume volume;
private Bloom bloom;

お次に。
エフェクトの取得はprofile.TryGet(out エフェクト型変数名)で可能。

volume = GetComponent<Volume>();
volume.profile.TryGet(out bloom);

あとは、エフェクトの変更をかけたいプロパティーを指定してやればOK。
以下の例では、ブルームの強度を10に設定している。

  bloom.intensity.value = 10f;

コード全貌

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;

public class ChangePostEffect : MonoBehaviour
{
    private Volume volume;
    private Bloom bloom;
    

    void Start()
    {
        volume = GetComponent<Volume>();
        volume.profile.TryGet(out bloom);
        
    }

    void Update()
    {
        bloom.intensity.value = 10f;
    }
}

このコードを実行すると、ブルームの強度が10に設定される。

まとめ

ポストエフェクトは単独でも、組み合わせても効果を発揮してくれる優れものだ。
いろいろな組み合わせを研究して、オリジナリティー大爆発の俺エフェクトを作り出すのも楽しいだろう。

さて。この先には、シェーダグラフを用いたカスタムエフェクトの道もあるのだが。

それは、また別の話🎮

砂塒雁治

BOOTHゲーム素材のお店やってます。あそびに来てね(‘ω’)

下のハートボタンは、砂塒のやる気スイッチに直結しています。
押すなよ~!絶対に押すなよ~!

・・・押してよぉぉぉぉ~!!!

コメントを残す