2016-11-27 74 views
1

我要實現對MouseOverSilhouette Highlight像這樣的畫面:Unity3d輪廓突出了2D精靈

Example

內置Unity3d用戶界面元素,一個組件調用OutlineShadow,但他們只與工作用戶界面,而不是SpriteRenderer。第一個想法是在後臺創建第二個精靈,並將其設置爲MouseOver,但我認爲這種方法並不好。

+0

我想說你認爲是錯的。你描述的方法是最簡單的方法,也是最合適的。另一種方法是在着色器級別上工作,您可以嘗試使用Toon着色器。 – Everts

+0

事實上 - 只要製作「發光小精靈」並將它們打開和關閉,就沒有錯誤**。這是AAA方法! :)的確,你可以編寫一個着色器來做到這一點,但這真的是一個糟糕的工程 - 完全沒有必要。 – Fattie

回答

2

由於埃弗茨(和我)提到了一個評論,

有什麼不妥簡單地使「電熱精靈」,並打開和關閉它們。這肯定會在許多大型遊戲中完成:這很好。

確實,你可以寫一個着色器這樣做,但真的這將是「糟糕的工程」 - 對於這樣一個簡單的需求完全沒有必要。 (而且是明確的,可以說這是顯而易見更好地進行自定義精靈。)

現在,這給我們帶來了關於統一工程中的一個重要的一點 -

它的關鍵使用現有資產,團結奮鬥。

有幾個突出的例子。就像NatCam和Edy的車輛系統一樣。你只是 - 從字面上看 - 除非你使用「NatCam」,否則不能在遊戲中使用相機;唯一的選擇是完全毫無意義地花費一年時間建立NatCam。

在這種情況下,有很多很好的 「發光着色器」 可......

https://www.assetstore.unity3d.com/en/#!/content/20166

享受!

enter image description here