2016-08-23 48 views
2

如何概述遊戲內對象? (爲了顯示玩家選擇的目的)。可以說我有5個哥布林,我只想勾勒出與光標相交的那個。材質,着色器和概述Unity3d中的對象

我的材料和Shader知識非常薄弱,所以也許我不理解正確的,但是......

...我正在使用類似的輪廓着色器見過最答案。

但是這意味着我將不得不爲每個可選對象做兩個版本的材料?因爲只是改變着色器會改變每個其他物體相同的材料?

是不是有更好的方法?

+0

如果您正在尋找一個快速解決方案,Asset Store上有(付費)資產可以做這樣的事情:https://www.assetstore.unity3d.com/EN /#!/內容/ 41508。 (不是我的建議,如果這是爲了愛好者/教育目的,因爲在那種情況下,如果你第一次嘗試爲自己編寫一個解決方案會好很多。) – Serlite

回答

0

我可以給你我的代碼。我使用此代碼突出顯示選定和使用Raycasting的房間中的物體。如果你想使用一個輪廓d

HighlightCode

Highlight Children

:您可以突出顯示了一個對象,如果選擇其他,舊將被取消......忽略的意見,他們在德國-shader,這裏是一個很好的例子:Outlined Diffuse

+0

我有幾個問題:1)是否有這種着色器的變體與新的統一5標準着色器一起工作? 2)如果我想要突出顯示的對象是由幾個較小的對象組成的,該怎麼辦? (比如身體+武器)不會把輪廓搞亂嗎? 3)突出顯示時你改變了什麼顏色?它是反照色嗎? – Zedd

+0

讓我們談談我的highlightCode,因爲我只是使用着色器,而我是這個主題的小菜鳥。 我更新了我的代碼以及我在答案中使用的鏈接。 ** 2)**我用我的highlightCode來突出顯示一個有很多其他對象作爲子對象的對象。你只需要輸入孩子,並改變那裏的材料。 (3)**它採用當前對象的顏色,只需添加一個值: 'new Color(oldColor.r + highlightFactor,oldColor.g + highlightFactor,oldColor.b + highlightFactor,oldColor.a); ' ** 1)**我猜這裏有很多教程如何使用着色器 – Perazim

+0

我對着色器和材質也很陌生,所以我不明白一件事情?你正在改變的顏色 - 這是基礎材料的顏色(反照率)?我使用的許多模型都來自資產商店,它們的基礎材料顏色爲白色,所以我想我必須將它們變暗一點。 – Zedd