以下の内容はhttps://www.karvan1230.com/entry/2020/11/24/213350より取得しました。


【Unity】UIEffectを使ったuGUIのディゾルブ

忘年会シーズン

コロナ禍で唯一良かったこと言えば社内の無駄な飲み会が無くなったという事なのに突然社長がオンラインで忘年会をやろうと言い出して連休明けの憂鬱な気分が更に憂鬱になった皆さんこんにちは。絶対地獄やん、勘弁してください。

 

UIEffect

さて、世の中には才能があるのに度量も優れている方がいるようで、かなり便利なアセット群がストア販売ではなくGithub等で無料で公開されています。

「UIEffect」もその一つで、このアセットをUnityプロジェクトに導入することでuGUIに対する17種類以上のシェーダが使用できるようになります

 

github.com

上記リンクからunitypackageファイルをダウンロードし、UnityのメニューからAssets→Import Package→Custom PackageよりUnityプロジェクトに導入することができます。

 

ディゾルブ

"Dissolve"というのは「溶解する」という意味ですが、その意味通り表面が溶けて燃え落ちているような演出をディゾルブと呼びます。

Unityでは3Dモデルに対するディゾルブのシェーダーがアセットストアで販売されていますが、UIEffectではPanelやImageといったuGUIに対してディゾルブの演出を行うことができます。

 

使い方は簡単でディゾルブ効果を付与したいuGUIオブジェクトに対してUIDissolveのコンポーネントをアタッチするだけ。

ディゾルブパターンや縁取りの色などをInspectorで設定します。

 

f:id:Karvan:20201124212831p:plain

 

項目 内容
Effect Factor 効果の強さ
Width 縁の太さ
Softness 縁のぼかしの強さ
Color 縁の色
Color Mode 縁の色のブレンドモード
Noise Texture ノイズテクスチャ

 

ディゾルブパターンはNoise Texture欄に白黒画像のTextureを指定します。

f:id:Karvan:20201124212922p:plain

 

この指定した画像に準じてuGUIが「溶けていく」=「消えていく」ことになりますが、逆に消えている状態から表示したい場合はEffectFactor欄の値を「1」に設定し、Reverseの欄をチェックします。

 

 スクリプトから実行

ディゾルブ演出を実行するにはスクリプトでUIDissolveのPlayメソッドをコールします。

 

using Coffee.UIExtensions;

public GameObject dissolvePanel;

public void PlayDissolve()
{

    UIDissolve panelDisolve = dissolvePanel.GetComponent<UIDissolve>();
    
    panelDisolve.Play();
    
}

 

このuGUIに対するディゾルブは全面表示のPanelに適用することで場面展開などの演出に使えます。

現在作成中の脱出ゲームでは制限時間切れによるゲームオーバーの場面で使っています。

 

f:id:Karvan:20201124213152g:plain

ホラーゲームではないのですがちょっとホラーっぽくなりました。

 




以上の内容はhttps://www.karvan1230.com/entry/2020/11/24/213350より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14