當我們看到現實世界裏,有很多山地。那麼這種山地,在3D世界裏又是怎麼樣顯示出來的呢?要模擬現實中的山地,就需要研究它怎麼樣構成,然後採用各種方法創建出來。在遊戲的世界裏,對於地形的要求是不嚴謹的,只要看起來像山地,就行了,而不像其它地理系統,一定要精確到跟現實世界裏山比例一樣。因此,在這裏創建的3D地形,都是近似地模擬出來,這樣就節省了很多工作,加快地形的顯示,提高遊戲速度的流暢性。
這裏介紹的山地地形,主要使用高度圖來實現。它的原理是:先生成平面的網格,比如是4×4大小,那麼它就有16個頂點。接着,就設置每個網格頂點的高度,也就是設置每個頂點的Y軸座標值,隨着Y軸的座標值不同,就代表了高度不一樣。如果Y軸的值是有規律地變化,那麼顯示出來的網格,就是山地的形狀了,然後再加上各種不同的紋理,就可以顯示高山、沙灘、雪山和盤地等等。
山地網格1,如下圖:
山地圖形1,如下:
創建山地圖形2,如下圖:
3D遊戲從入門到精通-32
從這張美麗的畫面裏,看到一個古銅色的OGRE頭像,在光源的照射下,閃亮着光澤,活靈活現的。左下角是一些重要信息,第一行是FPS的數,什麼叫做FPS呢?或許你也會問這個問題,如果你還不懂,現在就給你講一下。FPS是Frame per second的縮寫,就是每秒鐘多少幀畫面的意思。在視頻或者動畫裏,衡量動畫的流暢性,就是通過FPS來體現的。FPS值越大,表示動畫流暢性越好。反之,越小的FPS值,說明動畫不好,也就是說畫面更新不及時,看到很卡住的樣子。FPS值的大小,是跟電腦的性能,顯示畫面複雜程度有關。越好的CPU,FPS值就越大。更多的內存,FPS值就越大。更好的顯示卡,FPS值也變大。最好的渲染引擎也會導致FPS值變大的,也就是說,當渲染引擎變得非常有效率時,就可以要求的電腦配置越低。FPS值反而變成衡量OGRE引擎的性能了,如果OGRE非常高效,FPS值就越大。第二行是平均FPS值,第三行是最壞時FPS值,第四行是最好時的FPS值,第五行是三角形個數,這裏是4546個三角形。
右下角是一個OGRE的LOGO圖片顯示。
到這裏,就把這個Helloworld編譯並運行了。那麼它又是怎麼樣編寫的呢?怎麼樣調用OGRE庫的呢?
3D遊戲從入門到精通-33