Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【アセット紹介】Easy Performant Outline 2D | 3Dでアウトラインをつける【Unity】

今回はアセットの紹介をしていきます。
紹介するのはEasy Performant Outline 2D | 3D
オブジェクトにアウトラインを追加するアセットです。

f:id:Raspberly:20210107025848p:plain

 

お得なセール情報!

現在アセットストアでは年末年始セールが開催中! 終了しました
500以上のアセットが50%OFF!

詳細とアセットの一覧はこちらのバナーからどうぞ

f:id:Raspberly:20201228221851p:plain

 

 

 

どんなアセット?

2D、3D問わずオブジェクトにアウトラインを設定できるアセットです。
モバイルやVRにも対応しており、DOTweenもサポートしています。

 

WebGLのデモをこちらから試すことができます。

Unity WebGL Player | Clean outline

現在HDRPには対応していませんが、近々追加と同時に値上がりすることが告知されているので、
はやめに買うのがオススメ!

予告通り値上がりしました。定価10ドル→25ドル。

 

 

Unity AssetStore Japanもオススメしているアセットです!

www.youtube.com

 

他注意点

⚠️このパックは、統一URP 2Dレンダラをサポートしていません。レンダリングプロセスにカスタムロジックを挿入する方法はありません。可能な限り早急に追加されます。

⚠️Unityperlayerマスキングは現在サポートされていません。いくつかのマスキング機能に取り組んでいますが、正確な時間枠はありません。

⚠️2019.1以降URP / LWRPをサポートします。APIの変更により、以前のバージョンが機能しない場合があります。

 

 

実行環境

Unity 2020.1.8f
URP ver8.2.0

 

 

インポートの確認

アセットインポート完了時はこんな感じです。
 Pluginsフォルダの中にあります。

f:id:Raspberly:20201229014526p:plain

セットアップ

インポート時にこのようなセットアップウィザードが表示されます。

f:id:Raspberly:20201228225320p:plain

DOTweenをインポート済みの場合は、DOTween supportにチェックを入れましょう。
URPプロジェクトの場合は、Addボタンを押します。

 

消してしまった場合、こちらから再表示できます。

f:id:Raspberly:20201228225705p:plain

 

UniversalRP Assetへの追加

URPプロジェクトでない場合無視していいです。

 

UniversalRP Assetにこのアセットを追加します。
Selectボタンを押すと、各UniversalRP Assetの設定画面を表示します。

f:id:Raspberly:20201228230226p:plain

UniversalRP AssetのAdd Outline Featureボタンから、URP Outline Featureを選択します。

f:id:Raspberly:20201228230702p:plain

これで設定は完了です。

 

デモシーンの確認

デモシーンも2D 3Dともに用意されています

f:id:Raspberly:20210107025545p:plain

街中にドーナツがたくさんあるシーンです

f:id:Raspberly:20210107025710p:plain

 

 

 

主要コンポーネント

このアセットを使いこなすうえで重要なコンポーネントを紹介します。

Outlinable

アウトラインをつけるオブジェクトにアタッチするコンポーネントです。

f:id:Raspberly:20201228235853p:plain

Drawing Mode

不明。ドキュメントにもソースコード内にもコメントなし。デフォルトのNormalでよさそう。

Outline Layer

レイヤーの設定。カメラごとに映すか写さないか設定するときに使う。

Render Style

「Single」と「Front Back」の2種類

Singleの場合、他のオブジェクトに遮られているかいないかに関係なく同一のアウトラインを表示します

 

Front Backの場合、
オブジェクトに遮られている時(Back)と、遮られていない時(Front)でアウトサインの設定を分けることができます。

f:id:Raspberly:20201229000934p:plain

Outline Parameters(Back Front parameters)

アウトラインの色やぼかしを調整できます。

Fill parameters

Back Front Paramatersから、アウトラインの塗りつぶしを設定できます。

f:id:Raspberly:20210107013409p:plain

単色、ドット、フレネル、ラインの4種類があり、色も自由に変えることができます。

f:id:Raspberly:20210107013805p:plain

f:id:Raspberly:20210107013706p:plain

f:id:Raspberly:20210107013924p:plain

Renderer

アウトラインを作成するRendererの設定です。
複数のRendererを登録できます。

 

 

Outliner

カメラにアタッチするコンポーネントです。

f:id:Raspberly:20201230002108p:plain

Mask

レンダリングするOutlinableのレイヤー

Rendering Strategy

DefaultとPer Objectの2種類があり、オブジェクトごとにアウトラインを設定するかどうか。

f:id:Raspberly:20210107015527g:plain

Rendering Mode

HDRLDRの2種類。ブルームを使っている場合のみHDRを設定します。

Scale Indepented

スケールに依存するかどうか。trueの場合レンダラーのスケールが変更された場合同じサイズを維持しようとします。

Primary Renderer Scale

おそらくアウトラインの解像度に関する設定です。
値が小さいほどパフォーマンスが向上します。

 

 

他アウトラインの見た目に関するパラメータ群

 

 

 

 

 

実際に試してみる

実際にアセットを使ってアウトラインをつけてみます。 

オブジェクトにOutlinableをアタッチ

RendererのあるオブジェクトにOutlinableをアタッチします。
親オブジェクトにアタッチすると、子のRendererを自動的に取得してくれるのでとても便利です。

f:id:Raspberly:20210107023705p:plain

パラメータなどはお好みで。
今回はキャラクターにのみColor fillを設定しています。

カメラにOutlinerをアタッチ 

カメラにOutlinerをアタッチします。
パラメータはそのままデフォルトです。

f:id:Raspberly:20210107025142p:plain



これで完成です。
コンポーネントをアタッチするだけでアウトラインをつけることができました。

f:id:Raspberly:20210107024839g:plain

 

 

 

 

まとめ

・Easy Performant Outlineを使うとアウトラインを簡単に実装できる
・実装方法はオブジェクトとカメラにコンポーネントをアタッチするだけ

 

以上です。

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。