游戲開發(fā)學(xué)習(xí)筆記

用做留存筆記,供學(xué)習(xí)交流之用。
戰(zhàn)爭(zhēng)迷霧效果的實(shí)現(xiàn),關(guān)鍵就在于對(duì)MeshRenderer組件的運(yùn)用,啟動(dòng)或者關(guān)閉,決定實(shí)現(xiàn)敵方物體的可見與不可見。而可見不可見的條件是是否超出視野范圍,是否被阻擋物阻擋。
首先確定己方物體的視野范圍,要注意的是,自己設(shè)置的地塊格子的長(zhǎng)度,否則會(huì)在之后距離計(jì)算時(shí)出現(xiàn)問(wèn)題。
確定好視野范圍后,簡(jiǎn)單運(yùn)用一個(gè)洪水算法,篩選出視野范圍內(nèi)符合條件的地塊,剔除不符合的地塊,比如地塊上有障礙物之類的。
洪水算法會(huì)把符合條件的地塊收集到一個(gè)List列表里,這時(shí)候我們只需要?dú)v遍這個(gè)列表。首先修改美術(shù)效果,就是讓地塊高亮顯示,以表示該地塊可見。然后時(shí)修改地塊上屬性

1表示可見,0表示不可見。

上圖為大概思路實(shí)現(xiàn),向上打出射線,按MeshNum更改物體MeshRenderer組件,
按實(shí)際需求更改。
補(bǔ)充,MeshNum也是顯示地塊是否可見美術(shù)表現(xiàn)的憑證

同上按實(shí)際需求更改。
額外注意,射線是不穩(wěn)定的,千萬(wàn)要在輸入射線結(jié)果的時(shí)候,做容錯(cuò)。
標(biāo)簽: