1. 程式人生 > >Unity3D開發:為地形新增水源和效果

Unity3D開發:為地形新增水源和效果

第一步:新增水面

由於我在上一次的地形創作中就已經在山峰之間製作了一塊窪地,它就可以作為一個放置湖水的地方。如果您上次的創作並沒有這樣的地形,那麼請您重新建立一個山勢地形圖,就當作自己的一次練習吧。

在場景面板中點選Y方向的綠色箭頭 1.JPG ,切換到頂檢視,這樣可以便於我們很快的找到窪地所在的地方。如圖4.1所示:

2.JPG

圖4.1

然後用滑鼠滾輪迅速的推進觀測距離。如圖4.2所示:

3.JPG

圖4.2

接著再到Project【專案檔案欄】找到“Standard Assets”資料夾下的 4.JPG (僅限專業版使用,如果您使用的版本是非專業版本,請轉到 5.JPG )資料夾中,拖拽一個 6.JPG 【白天光照效果的水模型】到窪地的中央,並利用場景調整工具中的縮放工具 7.JPG

 ,將水模型調整到合適的大小。如圖4.3所示:

8.JPG

圖4.3

緊接著我們再點選場景面板中右上角的白色小方塊 9.JPG ,將視角切換到透檢視。然後利用場景調整工具 10.JPG ,將水模型調整到合適的高度。如圖4.4所示:

11.JPG

圖4.4

這時您只需要在播放時,將攝像機移動到窪地這個地方就可以看見湖水的效果了。

第二步:新增瀑布。

現在看來效果略顯單調,既然是山中泉水我們還得有一些瀑布和濺起的水花。為了節約查詢的時間,我們直接在Project【專案檔案欄】上方的搜尋框輸入字元“water f”,這樣就可以查處如圖所示的材質和模型。如圖4.5所示:

12.JPG

圖4.5

在這裡面, 13.JPG 是一個噴泉模型, 14.JPG 是一個水面的飛濺模型, 15.JPG

 是一個瀑布模型。我們先拖入一個 16.JPG 到窪地,然後利用場景調整工具來調整它的位置和角度。如圖4.6所示:

17.JPG

圖4.6

這時的瀑布略顯小了一些,我們可以先選中它,然後到它的屬性面板裡面去調整成您想要的效果。如圖4.7所示:

18.JPG

圖4.7

第三步:新增水面飛濺模型。

接下來我們會看到瀑布落到水面是沒有水花飛濺的效果的,這不合常理。於是我們在瀑布下的水面上方放置一個水面飛濺模型 19.JPG 。由於它的噶偶一定要和水面高度一致,所以我們先點選水平面,看看它的Y軸座標,然後複製到 20.JPG 屬性面板中同樣的位置,以確保它是伏在水面上的。緊接著再到它的屬性面板中調整它的屬性,讓模型效果調整成您想要得到的效果。如圖4.8所示:

21.JPG

圖4.8

第四步:新增水下模糊效果。

我們執行一下游戲 ,然後將鏡頭移動到泉水的水面下。如圖4.9所示:

23.JPG

圖4.9

大家會發現,水下的視覺和在地面上的視覺效果是完全一樣的。這和我們平時的生活現狀是不相符的,所以我們還得做一下相應的調整。首先點選 24.JPG ——> 25.JPG ——> 26.JPG ,建立一個立方體,並運用場景調整工具將它調整到整個水窪的實體部分。(注:運用其他形體也可以,其主要是用來覆蓋水窪的實體部分,以用來和攝像機做碰撞檢測,讓攝像機的鏡頭變得模糊。)如圖4.10所示:

123.JPG

圖4.10

接著,確保您建立的這個cube是被選中狀態,到它的屬性面板中,將“Box Collider”卷展欄中的“Is Trigger”複選框打上勾(如果這裡不打勾,這個cube將作為一個實物,當攝像機撞上它時,就像撞上牆一樣,無法穿過。)如圖4.11所示:

28.JPG

圖4.11

然後再將“Mesh Renderer”卷展欄下的所有複選框全部勾掉,使這個立方體只作為一個形體存在,而不讓它在場景中作出任何的顯示渲染。如圖4.12所示:

29.JPG

圖4.12

接著在屬性面板的最上方將它的名字由“Cube”改為“WaterColler” 30.JPG ,再選中 31.JPG 的下拉框 中新新增一個“WaterColler”的標籤分類。然後將這個“WaterColler”水窪碰撞體的Tag也改成“WaterColler”。

然後我們在選單欄中選中 32.JPG ——> 33.JPG ——> 34.JPG ,新新增一個JS指令碼。到Project【專案檔案欄】找到剛才新建的JS指令碼 35.JPG ,按下F2鍵更改它的名字為“UnderWatereffect”,並雙擊編輯它,輸入程式碼如圖4.13所示:

36.JPG

圖4.13

輸入完畢,按Ctrl+S儲存程式碼並關閉退出。然後將程式碼拖拽給攝像機使用。重新執行一下游戲,將攝像機移動到水下,就可以看到一片模糊的景象了。如圖4.14所示:

37.JPG

【編輯推薦】