コガネブログ

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

【Unity】Photoshop の選択範囲ようなアウトラインを使用できる「marching-ants-outline.shader」紹介

はじめに

上記のサイト様が公開されているシェーダを使用することで
Photoshop の選択範囲ようなアウトラインを使用できるようになります

使用例

f:id:baba_s:20181222114714g:plain

使い方

上記のシェーダを Unity プロジェクトに導入し、

f:id:baba_s:20181222114840p:plain

マテリアルを作成して Shader を「Sprites/Outline (Marching Ants)」に変更して
そのマテリアルをスプライトに設定して

using UnityEngine;

public class Example : MonoBehaviour
{
    public SpriteRenderer   m_renderer      ;
    public float            m_outlineSize   ;
    public Color            m_outlineColor  ;

    private void Update()
    {
        var p = new MaterialPropertyBlock();
        p.SetTexture( "_MainTex", m_renderer.sprite.texture );
        p.SetFloat( "_OutlineSize", m_outlineSize );
        p.SetColor( "_OutlineColor", m_outlineColor );

        m_renderer.SetPropertyBlock( p );
    }
}

さらに上記のようなスクリプトを作成して

f:id:baba_s:20181222114941p:plain

スプライトにアタッチして各種パラメータを設定することで使用できます