Neoaxis

Neoaxis

NeoAxis遊戲引擎是一個全功能,現代化的立體三維圖形仿真,可視化和遊戲引擎。 NeoAxis引擎是一個完整的創建,包括3D虛擬世界,AAA級遊戲,和現實的互動式三維圖形仿真集成開發環境。同時具備實時3D引擎和一個全功能的工具套件組成的系統。 NeoAxis是一個3D遊戲框架,它包含了3D渲染,物理,粒子,聲音,GUI等一切你需要的庫,以及比較完整的編輯工具 NeoAxis 以最強大的開源引擎Ogre作為渲染引擎,支持所有.net語言

技術簡介

NeoAxis引擎是一個一流的技術,它可以很容易適應,因為它的精心設計和靈活的工具軟體的各種項目。我們的許多客戶聲稱他們從來沒有見過這種極其有效,易於理解的代碼。

引擎的NeoAxis非商業許可證用於非商業套用和學習NeoAxis引擎。

這個SDK包括NeoAxis引擎演示,這展示了幾乎所有的NeoAxis功能。還演示包含資源編輯器和地圖編輯器,以便您可以開始您的項目發展。

對於遊戲

該NeoAxis引擎包括為遊戲開發的最要求的所有功能。

它包含了所有現代圖形,物理和遊戲項目的音頻功能。強大的NeoAxis工具將節省您的項目開發的寶貴時間。

的遊戲種類繁多,從AAA遊戲休閒遊戲,可以創建NeoAxis。

完整的遊戲框架

NeoAxis引擎包含一個快速和直觀的遊戲項目的開發範圍廣泛的基類。

其內容包括:

框架創造新的遊戲類型

可擴展的基於格線的路徑搜尋系統

水量與實際影響力和飛濺

削減現場經理

單位智力系統

單位,人物,車輛,武器,子彈,爆炸,還有更多

技術學習

在開始NeoAxis的學習前,你需要做一些事情

1。安裝最新版本的Dx9.0c

如果你不確定機器上是不是最新版的,可以去微軟下載Dx9最終用戶運行時

2。安裝.Net Framework2.0,我相信大部分人的機器上都有裝,不過如果有人沒有的話也可以去微軟下載

3。好了,你可以下載和安裝NeoAxis了

4。如果你需要學習進一步的開發,我是說到代碼級的開發而不是光點點工具玩玩的話,就必須安裝C#的開發環境了。這個東西我就不提供開發環境了,推薦使用Microsoft Visual Studio 2008,當然如果你有2005或者2010的話也沒問題。這個比較大,大家可以慢慢下載,一時半會兒用不上。

準備工作到此結束,1-3是必須的,當你完成了1-3步後,請繼續看下去

安裝完NeoAxis,讓我們打開目錄看一下裡面的東西

API Reference是他的API文檔,不過沒有看的價值,因為人家壓根沒寫完,裡面就只有一堆函式名...

比較重要的東西是Resource Editor和Map Editor,他是編輯的核心工具,也是前期初級教學的主要內容

另外你現在可以運行一下Demo.exe,看一下他提供的一些Demo,效果挺棒的。如果你跑不了,就說明你的機器悲劇了

下面,我們瞎做一個小Demo玩吧

打開Map Editor,新建一張地圖

第一步,我們給黑漆漆的世界增加一個天空體。在右側的Entity Types中找到BlueDaySky並選中,然後再黑色的地方點擊一下,是不是看到一個半球形的天空體了?

名詞解釋:天空體

天空體是大部分3D遊戲的一個基礎。因為3D世界是有空間的,為了不讓人看到黑色的區域,所以就把Camera包圍在一個天空體中。這樣最壞的情況玩家也能看到藍天白雲。

天空體一般有幾種形式構成,比如我們現在使用的是半球。還有一些做法是使用盒子,也就是一個六面體。但是其實盒子的底面是基本看不到的(因為我們有地面),所以也有使用5面體來做天空盒的。

加完天空就要加大地了,我們在Types-Base中找到HeightmapTerrain並選中,點擊添加看到綠油油的草地了不?這就是基礎的高度圖地面

名詞解釋:高度圖

在很多有室外景的3D遊戲中普遍使用高度圖技術作為地形基礎。高度圖其實就是一張灰度圖,用灰度圖中每個像素點的灰度值來表示地面上每個點的實際高度,然後經過渲染變成一個高低起伏的地形。

下面我們可以開始編輯地形了,在上面MapEntities中雙擊HeightmapTerrain,在Properties視窗中就會看到Edit按鈕,按下去吧,就會出現一個小的編輯窗。

看到視窗里Tool中的下拉窗,Raise是抬高底面,Lower是降低,其他我就不囉嗦了,自己試試就知道是啥了。下面的Shape是筆刷的形狀,Radius是作用半徑和影響半徑,Strength是調整強度。

你選擇Tool中的Paint選項時,就意味著是給底面刷上顏色。現在你看到我們有Base和second兩種Layers,也就是可以刷上這兩種顏色,嘗試著刷一下~~

下面我們看看如何添加自己定義的底面顏色。先關掉edit的編輯窗把,暫時用不到了。在HeightmapTerrain的屬性頁里,找到Layers這項,按“...”點開視窗,看到了剛才我們使用的Base和second layer了吧,點擊添加增加一個layer。然後在屬性中添加BaseMap,DetailMap和NormalMap。由於時間關係我直接添加了BaseMap:Maps\TankDemo\Resources\Terrain\Rock_Diffuse.dds和NoramlMap:Maps\TankDemo\Resources\Terrain\Rock_Normal.dds,DetailMap留空。

名詞解釋:BaseMap,DetailMap和NormalMap

BaseMap是你需要的基色,也就是底色。如果你沒有特殊需求的話,添加這個就ok了

DetailMap是細節圖,是覆蓋在BaseMap上的一層細節紋理

NormalMap可能比較複雜,他是一種利用Shader技術根據法相圖重新計算紋理的光照強度,使貼圖即使沒有很多的面也可以看起來凹凸不平的一門技術,以豐富紋理的細節

確定後再點下Edit,看看是不是已經有了剛才加的東西?

光有底面不好看,我們加一片海吧

找到Types.Special中的WaterPlane,點擊添加。看到海了,可是顏色不對,好像和底面重疊了?那是因為底面和海的高度都是0,所以渲染順序有問題。我們把海抬高一點點吧,雙擊選中WaterPlane,在屬性中找到Position,把高度設為0.5。需要注意的是,NeoAxis的坐標軸是Z軸向上的,所以你需要把z值填餵0.5即可

同時需要設定一個物理高度,把屬性中的PhysicsHeight填個1吧

呵呵,下面你可以玩上一會兒了,我也自己畫了張,如圖

現在怎么樣?是不是有點樣子了?我們進去跑一跑吧,要運行遊戲,你需要添加一個出生點

在Special中找到SpawnPoint,選中後就可以在地圖某個地方放上一個黃色小旗子,這就是角色出生的地方了

現在你可以點擊上面的箭頭運行遊戲了,進去逛逛吧

ps,水裡面也可以游泳喔,倒退著游可以看到水花

然後你覺得奇怪么?底面顏色黑乎乎的,其實是因為我們場景上還沒有光源!

找到Base.Light,點擊添加一個。怎么是錐形燈呢?我們需要的應該是一個平行光源(類似太陽光),雙擊你添加的Light,在屬性中找到LightType,改成Directional,然後在Rotation中把y改為300,讓光源有一個傾角。

名詞解釋:Light

對於3D遊戲,光源的計算是非常重要的。他同時影響模型的受光和陰影兩大要素,也就是影響到遊戲畫面效果最重要的因素。不過,光源越多,程式的計算量就越大,所以一般我們不贊成同一區域有3個以上的光源影響

光有光源是不夠的,我們還需要烘焙一下Lightmap,下一步,添加一個Base.StaticLightingManager,然後選中他,點擊Calculater,發現顯示光源數為0,原來剛才添加的Light沒有開啟靜態光支持。返回選中剛才的Light,把AllowStaticLighting開啟。再次選中StaticLightingManager,你可以點Start開始烘培了。烘培速度有點慢,你可以喝杯茶休息一下。

烘培結束後,點擊運行看看,是不是亮了呢?

名詞解釋:LightMap

LightMap是很多3D遊戲都會採用的一門陰影技術。實際上大部分3D遊戲的陰影都會分為動態陰影和靜態陰影。動態陰影是實時生成的,但是計算量巨大,很影響效率,一般只有運動的物體才會採用這種陰影,比如移動的人物和車輛等。其他靜態的物體,使用的都是LightMap,也就是在地面上貼上一張預先渲染好的圖。這樣在實際運行中就不需要去動態計算諸如建築,樹木這些不會動的物體的陰影了,大大節省效率

相關詞條

相關搜尋

熱門詞條

聯絡我們