原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【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

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

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。