1. 程式人生 > >遊戲製作之路(24)Camera(攝像機)的清除標誌Skybox

遊戲製作之路(24)Camera(攝像機)的清除標誌Skybox

在前面學習了攝像機的屬性:Clear Flags,知道它有四個選項,但是什麼時候使用哪一個選項呢?這是一個必須學習會的知識點,否則你是做不出來遊戲的,就像數學裡充分必要條件一樣。由於攝像機的重要性,就因為遊戲顯示的一切都是從它顯示出來的。在這裡先來學習第一個選項:Skybox(天空盒)。
什麼是天空盒呢?這個天空盒有什麼作用呢?我們可以先從現實的生活來觀察一下,比如你們來到深圳的蓮花山頂,可以看到市民中心,可以看到比市民中心更遠一點位於香港的高山,再遠一點,就是藍色的天空。當你環繞山頂一圈,總會看到天空,四周的天空總是圍成一個以自己為中心的半球天空。由於整個地球是圓形的,並且由於萬有引力的作用,導致整個大氣層是半球形狀,因此觀察到整個天空也是半球的形狀。這個就是現實觀察到的真實世界,那麼我們要在遊戲裡實現這個場景,當然是照搬現實世界了。好吧,在遊戲裡實現一個天空體,叫做Skydome,就是一個內半球。在這個內半球裡貼上天空和雲的紋理圖片,就像現實世界裡看到的天空一樣了,有太陽,也有月亮,更可以有星星。當角色在這個天空體裡行走時,同時移動這個天空體,讓角色永遠在這個圓心點上,這樣無邊無際的天空視野就實現了。
上面使用天空半球來實現,當然是最真實的情況,但在計算量上還是複雜了一些,有沒有更簡單的方法呢?其實還是有的。比如我們來觀察一下室內情況,就會發現每個房子都是四四方方的,如果採用房子的結構來代替半球的情況,這樣就更簡單了。因為一個房子,就只有6個面,每個面使用兩個三角形,才12個三角形就解決了。比一個半球顯然少了不少的計算量。這樣的天空體設計,就叫做天空盒,它的主要作用是模擬天空、室內場景。
如下6個圖片,就可以顯示一個天空盒:

從這個紋理圖片上,就可以看到天空體的6個面,每個面設計是不一樣的,四周是地球的邊緣地貌,頭頂上是天空雲,地面是山地。

在unity裡攝像機包含有顯示物件的顏色和深度,這裡的深度是指顯示物件到攝像機的顯示平面的距離。當攝像機要顯示一幀畫面時,它需要考慮幾個因素,比如顯示物體與顯示平面的深度距離,還要考慮物體的顏色,再有上一次顯示圖片之間的關係。在這裡的清除標誌,其實就是與這三者都有關係,四個選項裡選擇那一個,就是選擇了怎麼樣的深度、顏色和上一幀圖片疊加的效果。第一個選項skybox,意味著攝像機要顯示一幀新畫面時,把上一幀的畫面全部清空,讓它顯示以天空體為背景,再在上面按從遠到近來顯示攝像機範圍可視的物體,如果沒有遊戲物體部分,就會顯示天空體的圖片

最後來看一下,透視投影的攝像機,會加深理解它:

到這裡,就學會了第一個選項的使用。

五子棋遊戲開發
http://edu.csdn.net/course/detail/5487
RPG遊戲從入門到精通
http://edu.csdn.net/course/detail/5246
WiX安裝工具的使用
http://edu.csdn.net/course/detail/5207