ソード・フルスウィング配布シェーダーの使い方たち

Unity1Week参加作品「ソード・フルスウィング」で使用したシェーダー達の使い方です

こちらのゲームでは以下のシェーダーを作成してます

・二値化シェーダー

・レトロゲーム風シェーダー

・グリッジシェーダー(今回は配布なし)

・スクロールトランジションシェーダー

全部URP(v12.1)に対応しているポストエフェクトです。ビルトインは気が向いたら配布します(勝手にビルトイン用に改変して使ってもらってもいいです)

スクロールトランジションシェーダーとそれ以外で使い方が異なります

スクロールトランジションシェーダー以外の使い方

二値化シェーダー、レトロゲーム風シェーダーの方。

最初にRender Dataに、「Add Render Feature」からRender Featureをつけておきます。

二値化シェーダーを使うときはTwo Tone Post Process Render Featureを、レトロゲーム風シェーダーを使うときはRetro Game Post Process Render Featureを追加します

追加したRender Featureのシェーダーのところに、シェーダーを設定します

Two Tone Post Process Render FeatureならTwoToneShaderを、

Retro Game Post Process Render FeatureならRetroGameShaderを設定

あとは普通にVolumeのAdd Overrideからエフェクトを追加してあげるだけです

スクロールトランジションシェーダーの使い方

こっちはちょっとめんどくさいかも

Volumeに追加してあげるまでは上二つと同じです。

最初にRender Dataに、「Add Render Feature」からScroll Transition Render Featureをつけて、シェーダーにScrollTransitionShaderを設定しておきます。

あとはVolumeに追加しておきます。

パラメーターについては後述…

このScrollTransitionPostProcessVolumeを取得して、SetメソッドとPlayメソッド以下のように読んであげると画面がくるくると切り替わります。

C#
using System.Collections;
using UnityEngine;
using UnityEngine.Rendering;
using usagiMeteor.ScrollTransitionShader;
using usagiMeteor.ShaderUtility;

public class ScrollTest : MonoBehaviour
{
    [SerializeField] private Volume _volume;
    IEnumerator Start()
    {
        ScrollTransitionPostProcessVolume _scroll;
        if (!_volume.profile.TryGet<ScrollTransitionPostProcessVolume>(out _scroll))
        {
            _scroll = _volume.profile.Add<ScrollTransitionPostProcessVolume>();
        }
        
        //カメラを移動する前に今の画面で停止させる
        yield return StartCoroutine(_scroll.Set());
        
        // カメラを切り替えたり移動させたり
        Camera.main.transform.position = new Vector3(50, 3, 0);
        //スクロールにかかる秒数とイージングを指定
        StartCoroutine(_scroll.Play(1.5f,Easing.easeIn));
    }
}

もし、Setメソッドを呼んだけどやっぱり切り替えをやめるなどの処理をしたかったらResetメソッドを呼んでください

二値化シェーダーのパラメーター

Is Tone

 閾値で黒か白かに分けます。チェックを外すとただの白黒になります

Darkness

 暗さを増します

Threadhold

 どのくらい暗いと黒にするかを変えます

レトロゲームシェーダーのパラメーター

Filter

 画面にかかる色

Resolution Coarseness

 ドット絵っぽくします。低いほど粗い

スクロールトランジションシェーダーのパラメーター

Reverse

 スクロールする方向を逆にします

Before Tex Scroll Num

 画面切り替え前の画面を何回表示するか

After Tex Scroll Num

 画面切り替え後の画面を何回表示するか

Vignette Power

 周辺減光の強さ、なくてもいいかも

ちなみにソード・フルスウィングでは画面切り替えはなかったので、Before Tex Scroll Numを0にしていました

Unity

関連記事
guest
0 コメント
古い順
新しい順 投票数順
Inline Feedbacks
全てのコメントを見る