2016-11-19 140 views
0

我是Unity新手。對不起,如果我有一個初學者的問題風格。如何在Unity 3D平面上繪製標記?

我想在Unity中實現3D國際象棋遊戲。我已經實現了一個包含整個AI的C++共享庫。我已經在WPF和Android中使用過這個庫,並且完美地進行了測試。現在輪到Unity了。

當用戶選擇一個作品時,應該顯示它的下一個動作。

Chessboard image

這些標記可以是光或圖像。圓形或矩形。

要做到這一點的一種方法是每個棋盤棋盤格有64個標記並以編程方式更改其可見性。

我個人更喜歡的另一種方法是以編程方式繪製標記。但我不知道如何在我的棋盤上畫畫。

請指導我。

+0

你不應該做繪畫,這將意味着重繪每次移動的國際象棋紋理。消耗很大的內存。另一個過程可能是使用投影儀和一個附加着色器。 – Everts

+0

@Everts我搜索了一點,但我還沒有找到一個很好的參考閱讀。你能給我一個鏈接嗎? –

+1

標記是什麼意思?你可以把棋盤上的簡單標記看起來應該是什麼樣子? – Programmer

回答

0

最終結果(僅有的SketchUp!)

enter image description here

STEP BY STEP

(我假定你已經有了一個棋盤)

1.創建物料&配置它就像在下面的圖像。需要注意的是綠色的反照率是50%透明:

enter image description here

2.創建四&爲它分配新創建的材料上。然後設置 它像下面的圖片中:

enter image description here

現在我們將添加光暈效果。首先,我們需要通過切換到Good Quality而不是Fantastic來關閉 反鋸齒。

enter image description here

4.其次,我們需要在主攝像頭,使HDR

enter image description here

5.第三,我們需要導入Image Effects包。此軟件包 是Unity隨附的Standard Assets的一部分。它是完全免費的 。如果你沒有在這裏得到它。 https://www.assetstore.unity3d.com/en/#!/content/32351
您只需要Image Effect包。

enter image description here

6.現在添加Bloom效果,你的主攝像頭。

enter image description here

7.這就是它!如果你需要通過代碼來隱藏它再拿到參考 它和執行這行代碼:

yourQuad.SetActive(false);

查看更多在這裏: https://docs.unity3d.com/ScriptReference/GameObject.SetActive.html

最後,複製該四創建64個&正確地定位它們 。有2個技巧,可以幫助你的生活在地獄裏很多 簡單:

要快速複製一組對象的:全部選中,然後按:Ctrl + D

要啓用邊緣扣:選擇您的四邊形並按住V,然後將鼠標懸停在四邊形的頂點上。你會看到一個白色的正方形。拖動那個vetex並看到魔法。

9.從此,它是您的遊戲邏輯來實現。您可以將 中的所有四邊形存儲在二維array(矩陣)中,並自己操縱它 ,這一切我都能想到。祝你好運!

+0

如何使用標準鏡面着色器並跳過步驟3到6? – Everts

+0

@Everts:我剛試過!事實上,我沒有找到一種方法來實現沒有「開花」的發光效果。 'HDR'只是爲了讓'bloom'更好,但它需要關閉'Anti-Aliasing'。 「Specular」只是取代「金屬」工作流程的一種方式。如果您使用標準着色器,則會給您一個「金屬」滑塊。如果使用標準(高光設置)着色器,則將滑塊替換爲「高光」。 –