Unity3D戰爭迷霧效果

2022-03-25 06:07:42 字數 705 閱讀 7218

最近一直都在做flash相關的東西,很久沒有空搞unity3d了,今天稍微有空,就做點小效果玩玩。

這次做了乙個戰爭迷霧的效果:

戰爭迷霧大家應該很熟悉了,一開始地圖全部都是黑的,只有主角的一定範圍內能看得到。隨著主角的移動,未探索的區域變成了可見。

我這個demo還做了視角切換的功能,可以看看切換攝像機視角之後的迷霧是什麼效果的。

在場景裡面有很多隱藏的物體(這裡是一些cube),走近了,可以漸漸的出現。

主角可視的範圍是可以調節的,這裡是把可視範圍調節的比較小,可以清楚的看出行走過的道路。

既然有人問,就說說原理吧。這個戰爭迷霧我理解是分為了這幾個部分:

1、初始化場景,按照場景的總大小生成一張對應的遮罩,用於記錄場景哪些部位已經走過,哪些沒走。

2、當人物移動的時候,判斷人物的半徑範圍,用漸變的方式去修改遮罩的畫素點。

3、使用遮罩去疊加螢幕的顯示。

對於第二點,為了減少繪製遮罩的頻率,我們首先可以只在人物移動的時候做繪製判斷,然後也可以把地圖分成區域,當某個區域已經全部變成可視之後,就不再做判斷。最後,還可以控制繪製時的時間間隔,比如每隔10幀才繪製一次之類,自己去感受了。

對於第三點,可以使用的方法就比較多了:

1、可以使用渲染前的合成疊加

2、可以使用多個攝像機疊加

3、可以使用shader判斷世界座標繪製。

出於效能的考慮,我是用了多個攝像機疊加的方式。

Unity3D技術開發之戰爭迷霧效果

相信玩過dota 英雄聯盟等即時競技類遊戲的朋友都知道戰爭迷霧,這次做了乙個戰爭迷霧的效果 戰爭迷霧大家應該很熟悉了,一開始地圖全部都是黑的,只有主角的一定範圍內能看得到。隨著主角的移動,未探索的區域變成了可見。我這個demo 還做了視角切換的功能,可以看看切換攝像機視角之後的迷霧是什麼效果的。在場...

Unity3d流光效果

之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光移動照射物體的效果,之前是使用shader 每幀傳遞乙個 offs...

unity3d程式 顏色漸變效果

研究了下,顏色變化時遵從rgb圓環 就是說顏色條對接一下成環 路徑最小變化原則。舉個例子,加入abcde四個顏色點,並且a和e在同一點 了一圈 設定從a變化到c的話,有兩種路徑,一種abc,還一種adc,究竟選擇哪條路徑 就看這兩條路徑哪個更短些了 1 2 3 4 5 6 7 8 9 10 11 1...