コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI で画像や文字がキラッと光る演出を実装できる「ShinyEffectForUGUI」紹介(2018/5/29 更新)

はじめに

「ShinyEffectForUGUI」を Unity プロジェクトに導入することで
uGUI で画像や文字がキラッと光る演出を実装できるようになります

使用例

f:id:baba_s:20180528203345g:plain

f:id:baba_s:20180528202016p:plain

f:id:baba_s:20180528202028p:plain

WebGL デモ

https://mob-sakai.github.io/ShinyEffectForUGUI/

導入方法

https://github.com/mob-sakai/ShinyEffectForUGUI/releases

上記のページから「ShinyEffectForUGUI.unitypackage」をダウンロードして
Unity プロジェクトにインポートします

使い方

f:id:baba_s:20180518211114p:plain

Canvas の「Additional Shader Channels」に「TexCoord1」を設定します

f:id:baba_s:20180528202205p:plain

そして、キラッと光る演出を適用したい UI オブジェクトに
ShinyEffectForUGUI コンポーネントをアタッチして
各種パラメータを調整することで使用できます

項目 内容
Location 光沢の位置
Width 光沢の太さ
Softness 光沢の柔らかさ
Brightness 光沢の強さ
Rotation 光沢の回転角
Highlight 光沢をどのくらいハッキリさせるか

スクリプトからエフェクトを再生したい場合は

using Coffee.UIExtensions;
using UnityEngine;

public class Example : MonoBehaviour
{
    public ShinyEffectForUGUI m_shiny;

    private void Start()
    {
        // 1秒かけて再生
        m_shiny.Play();
        
        // 指定した秒数かけて再生
        m_shiny.Play( 1 );
        
        // 指定した秒数かけて再生(タイムスケールを無視)
        m_shiny.Play( 1, AnimatorUpdateMode.UnscaledTime );
    }
}

このようなコードを記述して使用します