コガネブログ

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

【Unity】ハードエッジの 3D モデルでもキレイに表示できて、隠れている部分も表示できるアウトラインシェーダ「Facepunch.Highlight」紹介

はじめに

「Facepunch.Highlight」はハードエッジの 3D モデルでもキレイに表示できて、
隠れている部分も表示できるアウトラインシェーダです

使用例(引用)

f:id:baba_s:20190414145749p:plain

f:id:baba_s:20190414145756p:plain

f:id:baba_s:20190414145803p:plain

f:id:baba_s:20190414145717p:plain

使用例

適用前

f:id:baba_s:20190414150010p:plain

f:id:baba_s:20190414150101p:plain

適用後

f:id:baba_s:20190414150017p:plain

f:id:baba_s:20190414150021p:plain

使い方

f:id:baba_s:20190414150332p:plain

「HighlightImageEffect」マテリアルでアウトラインのサイズや色を設定します
(「Color Occluded」は隠れている部分を表示するための色)

f:id:baba_s:20190414150355p:plain

シーンのカメラに「Highlight」コンポーネントをアタッチして
「Highlighted」の配列にアウトラインを適用したいオブジェクトを登録します

using Facepunch;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        Highlight.Rebuild( true );
    }
}

最後に、上記のようなスクリプトを作成して
シーンのいずれかのオブジェクトにアタッチします

以上でアウトラインを表示できるようになります