目前游戲行業內部主要幾款游戲引擎的技術對比


如果只有客戶端的話,可以考慮用gamebryo,技術好一點,用ogre也可以,如果規模不大,用unity3d,如果很有錢,要效果很好的,用unreal3,bigworld是帶服務器的,如果能力不夠,最好不要自己寫。

 

如果使用Ogre需要投入較多的人力和物力,因為Ogre是開源的,工具不齊全,使用其他流行的引擎需要購買授權,可以在Ogre的基礎上做東西,並且可以宣稱是自主研發的,沒有人會追究,如果是小型游戲可以采用Unity3D,選擇什么引擎具體要考慮項目想怎么做,准備投入多少錢,計划多長時間

Ogre引擎的技術特征分析和橫向對比

作者:趙占夕

郵箱:38858308@qq.com

日期2010-12-4

目錄

第一部分目前行業內的主流游戲引擎... 1

第二部分每款引擎的市場資料對比... 2

第三部分每款引擎的技術資料對比... 3

3.1 Ogre. 3

3.2 Unreal6

3.3 Unity. 7

3.4 Gamebryo. 8

3.5 Bigworld. 10

3.6引擎綜合評測表... 11

第四部分總結... 14

第一部分 目前行業內的主流游戲引擎

免費的

收費的

Ogre

Unreal

Unity

Gamebryo

Bigworld

3D游戲引擎有很多,以上只列出了小部分主流的游戲引擎

參考資料:3D游戲引擎網http://www.gamengines.com/

 

第二部分 每款引擎的市場資料對比

引擎名稱

開發成功的游戲

圖表顯示

Ogre

搜狐暢游:《天龍八部》、《鹿鼎記》;

麒麟網:《成吉思汗》。

目前國內使用Ogre開發的大型3D網游相當的多,Ogre在國外同樣很流行。

Unreal

細胞分裂》、《明日潘多拉、《天堂II》、《殺手13XIII)》、《虛幻競技場》、《American Army》等游戲都是基於Unreal 引擎進行的開發。

Unity

《捉迷藏OL》、《蒸汽之城》

Gamebryo

騰訊:《御龍在天》、《軒轅傳奇》、《QQ飛車》;

盛大:《星辰變》;上海燭龍:《古劍奇譚》;久游:《寵物森林》;金酷游戲:《魔界2》;成都夢工廠:《俠義道III》。(還有很多http://baike.baidu.com/view/1355419.htm

Bigworld

網易:《天下貳 》、《創世西游》;

游趣:《鬼吹燈OL》;

宇峻奧汀:《三國群英傳OL2》;

錦游:《俠客列傳》。

暴雪: 《魔獸世界》

 

 

 

注:市場占有率的統計方法:占有率 = 使用該款引擎已開發成功的游戲數量/已開發成功的游戲數量

       數據來源互聯網

第三部分 每款引擎的技術資料對比

3.1 Ogre

 

 

技術特征

1.         *全面並同等的支持OpenGLDirect3D

2.         *全面支持WindowsLinux以及Mac OS X平台

3.         *簡單並可擴展的對象框架,能方便的插入到已存在的應用程序框架中

4.         *自動處理渲染狀態和空間剪裁

5.         *強大且成熟的材質管理和腳本系統,可以不動一行代碼去進行材質維護

6.         *支持所有紋理混合和綁定技術,同時支持對GPU編程技術,支持匯編語言和所有高級語言形式的各種着色語言,其中高級語言包括:CgHLSLGLSL

7.         *支持多種紋理圖片格式,包括:PNGTGADDSTIFGIFJPG,同時支持特殊格式的紋理,其中包括:一維紋理(1D),容積紋理(Volumetric textures),體積紋理(Cubemaps)和壓縮的紋理格式如:DXTC

8.         *全面支持渲染到紋理(Render-to-Texture)技術和投影紋理(貼花,Projective Texturing-decals)。

9.         *全面支持材質LoD(細節層次,mipmapping)技術

10.     *優化的二進制模型文件格式,同時支持手動和自動LoD生成

11.     *同時擁有多種從商業或者開源3D模型軟件導出到Ogre模型格式和動畫格式的插件,其中包括官方以及用戶提供的版本。

12.     *全面支對頂點和索引緩存(vertex and index buffers)、頂點聲明(vertex declarations)以及貼圖緩存(buffer mappings

13.     *全面支持骨骼動畫和姿態動畫(pose動畫,頂點動畫的一種),每個頂點可以混合任意數目的骨骼權重

14.     *支持軟件和硬件加速蒙皮

15.     *支持靜態幾何體批次(static geometry batching

16.     *支持二次貝塞爾曲面(biquadric Bezier patches

17.     *給出以插件方式鏈接不同場景結構的接口,允許你使用適合自己應用程序的場景體系( 基本的八叉樹“octree”場景管理做為一個例子出現在插件中)

18.     *高級可屏蔽場景查詢系統(Advanced maskable scene-querying system

19.     *全面支持多種陰影技術,包括模版陰影(stencil),紋理陰影(texture),疊加陰影(additive),調制陰影(modulative),並且全部支持硬件加速

20.     *高級插件[來源:GameRes.com]方式的粒子系統,可擴展的發射器(emitters),效果器(affectors),渲染器(renderers)(ParticleFX作為插件的例子被包含在工程里面)

21.     *全面支持並且方便使用的天空盒(skyboxes),天空面(skyplanes),以及穹頂(skydomes

22.     *以精靈效果為基礎(sprite-based)並得到渲染優化的公告欄(Billboarding)技術

23.     *以單一隊列為基礎的渲染管理,允許全面操作渲染執行順序

24.     *自動管理透明對象

25.     *成熟且可擴展的資源管理和載入系統,文件系統支持的文件包括zippk3格式

 

參考資料:《PRO OGRE 3D PROGRAMMING》作者:Gregory   Juker   者:邸銳、李旭東

 

開發者評語

(注:以下內容來自開發者論壇http://bbs.gameres.com/showthread.asp?threadid=72106)

OGRE 雞肋,用了不爽,不用可惜,唉

——網友:偵察兵

Ogre現在國外很火,雖然Ogre本身不是商業的,但余生出很多商業的項目,比如那個oFusion的套件和Paging Scene Manager場景管理插件,因為Ogre的開放性,所波及的范圍也越來越大。當然我不敢說能比什么虛幻3或者Doom3好的引擎好,但考慮一下價格,Ogre性價比應該還不錯,畢竟現在特效都是在着色語言那里,基本上虛幻3能有的效果,Ogre也能實現。有時間可以到Ogre官網上看看那些商業項目(有一些非商業項目也做得不錯)。

——網友:免費打工仔

1.   要修改和擴展的地方太多(特別渲染部分,幾乎不能用)

2.   周邊太少

3.   虛幻3或者Doom3 有編輯器

——網友:偵察兵

1.  似乎是否需要擴展視項目而定,我這里比較簡單只是拿來用就好了,對渲染部分我個人也沒有什么太多的了解。是否幾乎不能用我就不清楚了,只是對於我來說還足夠用(比我需要的要好)。

   

2.  可能因為語言的關系,其實Ogre周邊並不少,在下面我列舉一些:
官方工具:
導出工具 Blender,SoftimagelXSI,Discreet 3D Studio Max,MilkShape 3D
命令行工具:OgreXMLConverter,MeshUpgrader,MaterialUpgrader,
開源社區及第三方工具:
導出工具:AliaslWaverfrontMaya(6,6.5,7)oFusion for 3D Studio Max, Google SketchUp,
場景構造以及察看工具:Particle Editor,MeshViewer,ATI RenderMonker Exporter
Ogre
插件:COLLADA,Paging SceneManager
物理庫:OgreODE,NxOgre,OgreNewt,
腳本綁定:pyOgre,OgreDotNet
某些使用Ogre的工程:Ogre4J(通過java調用Ogre,Yake(一個真正的游戲引擎,不是圖形引擎)

  

3.  另外還有眾多Ogre崔生出來的工程,比如OIS為了彌補Ogre輸入的先天不足,CEGUIOgre也有良好的互生關系。

另,開源社區的發展日益壯大,有眾多公司維護不同的工具以及插件,說實話,我並沒有接觸過太多商業引擎,但是我還真是希望有一個能和Ogre比較一下周邊的多少,我都一直以為開源屆的周邊比較多。

Ogre也有自己的編輯器,被稱為oFusion ,不過作為一個圖形引擎來說只是針對場景而言,並不如虛幻一樣是游戲編輯器(游戲邏輯)。Q3的管卡編輯器似乎也只針對場景,Doom3沒接觸過,不敢斷言。

從來沒有人說Ogre一定能勝過虛幻3或者Doom3,但別忘了也包括價錢。

 

4.我個人認為這個世界上不會只存在一種引擎,而是會有很多不同特性的供使用者選擇,Ogre首先廉價,易於擴展。並且不限於3D游戲,對於其他三維仿真同樣適用,但是這樣是通過付出諸如樓上所提到的一些代價而得到的,沒有人說一定要用Ogre不可,但Ogre一定是一個不得不考慮的選擇,相對於國內自主開發的諸多引擎而言。

——網友:免費打工仔

我是學經濟的,所以對我來說除了收益來說同樣計較成本,Ogre總會有其價值,我正在用其做商業項目以及應用,當然是一個很不起眼的小東西,也不知道能不能成功,但對於我們的項目來說Ogre本身0成本, 那帶來1元的收益我們就是盈利了。

我記得Unreal 2的買斷價是$750000,我沒打錯!或者$350000(大概)買下開發權"

虛幻3估計授權價格是75萬至150萬美元左右.一般公司承受不起的.

——網友:免費打工仔

國外用ogre引擎做的游戲多的是  國內也很多
我們公司的項目也在用 沒發現什么不可以實現 並在ogre基礎上制作了周邊工具
我發現ogre相當的完美 效率很好

——網友:免費打工仔

 

3.2 Unreal

 

 

技術特征

 

1.操作系統:只支持Windows XP

2.處理器:奔騰4 3GHz以上或對應的AMD處理器;內存:1GB聲卡:兼容DirectX 9.0c顯卡:128MB顯存,支持DirectX 9.0c,支持SM 3.0育碧特別給出了官方支持的顯卡列表,其中包括ATIRadeon X1600/1800/1900系列、NvidiaGeForce 6600GT6800GeForce 7300/7600/7800/7900

3. 完整優秀的編輯工具,包括地形,材質,動畫,聲音,模型等等。

4. 強大的渲染引擎,采用多線程渲染技術,支持64位的渲染管線。

5. 藝術級的動畫系統,使用用戶體驗到流暢,平滑的動畫,骨骼動畫支持4個骨節應用於一個頂點。

6. 強大的腳本系統,unrealScript 是一種簡單高級的編程語言,通過Unreal kismet為游戲添加新的元素

7. 真實的模擬物理系統,采用nvidiaPhysics

8. 更加真實的光影效果,以及最新的渲染技術,包括光線追蹤,體積光,着像素光照等等

9. Unreal提供成熟的工具來編輯超的游戲中的電影效果,

10Unreal具有優秀的地形渲染效果,支持多層材質混合,真實的侵蝕和風化效果,

 

參考資料:

百度百科http://baike.baidu.com/view/4208356.htm

Unreal官方網站http://www.udk.com/features

 

用戶評價

 

 

 

3.3 Unity

 

技術特征

開發者: Unity Technologies
支持平台: PC, Mac, iPhone, Wii
瀏覽器支持: Yes
價格: $199 (Indie), $1499 (Pro), $399+ (iPhone), $15,000 (WiiWare, per title), $30,000 (Wii, per title)

綜合編輯

  通過Unity簡單的用戶界面,你可以完成任何工作。這些為你節省了大量的時間。

圖形動力

  UnityDirectXOpenGL擁有高度優化的圖形渲染管道。

資源導入

  Unity支持所有主要文件格式,並能和大部分相關應用程序協同工作。

一鍵部署

  Unity可以讓你的作品在多平台呈現。

Wii的發布

Unity讓業界最流行的游戲平台軟件更容易開發。

iPhone發布

  Unity讓革命性的游戲開發降臨革命性的設備。

着色器

  Unity的着色器系統整合了易用性、靈活性和高性能。

地形

  低端硬件亦可流暢運行廣闊茂盛的植被景觀。

聯網

  從單人游戲到全實時多人游戲。

物理特效

  Unity內置的NVIDIA®PhysX®物理引擎帶給你生活的互動。

音頻和視頻

  實時三維圖形混合音頻流、視頻流。

腳本 Unity支持3種腳本語言:JavaScriptC#Boo

Unity資源服務器 Unity資源服務器是一個附加的包括版本控制的產品。

光影 Unity提供了具有柔和陰影與烘焙lightmaps的高度完善的光影渲染系統。

文檔

  Unity為你提供逐步的指導、文檔和實例方案。

 

參考資料:

百度百科http://baike.baidu.com/view/2299410.htm

3D游戲引擎網http://www.gamengines.com/article-55.html

 

用戶評價:

 

 

 

 

3.4 Gamebryo

 

技術特征

1.         Gamebryo是一款便捷且易上手的開放式跨平台游戲開發引擎

2.      Gamebryo為當今主要的DCC工具(MAXMayaXSI),它都提供了游戲所需資源的導出插件。這些導出插件的用戶界面簡單、方便且易使用。美術人員可輕而易舉地設置導出環境。導出游戲所需的數據:
• NIF文件包含與幾何模型有關的數據;
• KF
文件包含動畫數據;
• KFM
文件包含定義一個角色所需的NIFKF以及動畫序列間的默認轉換方式

3.      Gamebryo所提供的三個主要工具:
資源觀察器(AssetViewer
  這個工具可直接從DCC工具中啟動。美術人員可以在導出數據前用它對DCC中的導出物件、人物設置、場景效果等進行觀察以便在導出前進行修改。當然也可用來對已經導出的NIF進行觀察。
動畫工具(Animation Tool
  此工具可以設置導出的動畫序列之間的轉換,建立多層動畫組合。它所產生KFM文件定義了一個完整的角色。
場景編輯器(Scene Designer
  顧名思義此工具是美術和策划用來創建游戲場景的。2.5版增加的地形編輯功能使得場景編輯器更上一層樓。從DCC工具中導出的物件、人物可以通過此編輯器加到場景中。也可方便地設置場景中的燈光、相機等。使用者也可以通過寫插件的方式拓展編輯器的功能。場景編輯器產生的GSA文件是XML格式,可被直接加載到游戲中。
  上述三個主要工具的使用在Gamebryo文檔中都有詳細的描述,參考網站:www.gamebryo101.com可以通過看錄像的方式了解如何使用Gamebryo DCC插件以及如何使用Gamebryo所帶的三個主要工具。

4.      Gamebryo的主要技術特點

場景圖結構(Scene Graph
  Gamebryo的場景圖是一張從場景的根節點起單向非循環的層級結構圖表。

渲染系統(Frame Rendering

Gamebryo渲染系統的建立與管理更為方便靈活。使用者可以根據渲染的需要來安排Render StepRender ClickRender View的順序。同時,NiRenderFrameNiRenderStepNiRenderClick都可以靠設置Callback來完成渲染前以及渲染后使用者需要做的事情。

材質系統(Material/Shader/Texture
Gamebryo的材質系統是一種機制。這種機制有效地為基於參與渲染的幾何模型狀態的着色器(Shader)提供服務。在這樣的機制下,美術人員可在DCC工具中輕松地設置材質即可。而Gamebryo的材質系統會產生所需的Shader,並儲存在緩沖存儲器中。Gamebryo有自己的Shader文件格式(即NSF格式),同時也支持其它格式(如FX)。在Gamebryo中,對於在高端機器上運行的游戲,一般會采用標准材質(Standard Material)。而對低端機器來講,會用到固定管線(fix-pipeline)。

多線程管理系統(Floodgate
Floodgate系統是一個跨平台的多線程管理系統(也可說是一個數據流處理器管理系統)。在Gamebryo中,幾何模型的變形、粒子系統的模擬計算、人物模型的蒙皮計算等都由Floodgate系統來完成。圖05顯示Floodgate在系統中的工作流程。其中一片雲的部分就是Floodgate系統。主線程把任務交給Floodgate系統,它完成之后再返回主線程。

幾何模型系統(NiMesh

新的幾何系統(NiMesh)是由數據流組成的。上面講到幾何模型的計算是由NiMeshModifier通過Floodgate系統來完成的。圖06顯示了幾何系統與Floodgate系統之間的關系。NiMeshModifier會把任務交給Floodgate系統,並等待它完成任務返回。對這方面的編程方法感興趣的朋友可以參照Gamebryo所帶的例子MeshCreation

動畫系統(Animation
• Gamebryo
不僅支持人物模型的細節等級,也支持骨的細節等級。等級之間的切換由游戲系統的邏輯來完成。這部分邏輯是要由游戲開發者自己來寫的。
支持骨動畫、面部動畫、層級動畫(Layered Animation
支持動畫序列與動畫序列,動畫與物理模擬結果的混合。動畫序列之間的混和方式可由動畫工具(Animation Tool)來設定。
支持動畫序列之間的同步處理。
支持人物根節點的動畫累加。
具有響應動畫驅動事件的功能。

物理系統(Physics
Gamebryo中,物理系統使用的是NVidia公司的PhysX系統。Emergent已經完整地把PhysX系統整合到Gamebryo中了。使用者要做的只是拿到NVidia公司的PhysX SDK及其DCC工具的插件。導出帶有物理屬性的物體或人物並加載到游戲中。在游戲程序中,首先對物理系統初始,再在更新過程中使Gamebryo系統和物理系統能順利地交換數據。這個交換過程是這樣完成的,首先由Gamebryo系統向物理系統傳遞數據,物理系統完成模擬計算后再把結果返還給Gamebryo系統。

開發者評語

內容來自一篇論壇文章,以下只摘錄開篇部分

http://lenshuang.blogbus.com/logs/53035468.html%09

今日騰訊嘉年華壓軸戲,X-GAME-《御龍在天》的發布,日漸讓筆者感到Gamebryo引擎正成為國內研發公司開發大型3D游戲的首選。

歷數近期Gamebryo的作品,盛大《星辰變》,騰訊《御龍在天》、《軒轅傳奇》無不是各大廠商投重金打造的自主研發大作。Gamebryo引擎的優勢,其實就一句話總結:靈活性、多平台、畫面效果、負載能力。而之前例如NCSONY已獲得授權,EA的《戰錘OL》,次世代大作《輻射3》、《波斯王子》、《上谷卷軸》等都證明了Gamebryo引擎性價比較高的能力。由於受到國內公司的歡迎,Gamebryo的所有方Emergent近期剛剛在重慶開啟了認證培訓項目,可謂是風生水起。(國內代理winking估計最近要笑趴了)

 

3.5 Bigworld

 

技術特征

BigWorld為大型多人在線游戲 (MMOG) 開發商提供成熟的中間件平台,這一中間件平台正迅速成為行業標准。

 

BigWorld MMO Technology Suite是一套完整的技術解決方案,這一方案無縫集成了專為快速高效開發MMOG而設計的高性能服務器應用軟件、工具集、高級3D客戶端和應用編程接口(APIs)。BigWorld MMO Technology Suite使游戲開發項目避免了未知、昂貴和耗時的軟件研發風險,從而使授權客戶能夠專注於游戲制作這一核心事務。

 

通過降低研發風險、研發成本和縮短上市時間,BigWorld為授權客戶提供了領先於自行開發商的巨大競爭優勢。

 

BW其他網游引擎不同,它不是針對地圖為單元,將地圖為單元分擔到獨立進程中去管理的。它是以人群數量去進行划分的,從理論上來說BW是支持無限大的游戲世界,而且它完全的支持無縫,因為它完全沒有從物理地圖區域進行分割。


    BW
是使用C++開發的,使用的服務器是Linux,只支持RedHat,而且核心代碼,即動態均衡負載代碼是不提供源碼的。


    BW
中大量使用了多重繼承,從匯編級去讀其代碼結構,難度很大。
    BW
Python腳本使用起來非常方便,Server間的跨進程通訊被隱藏的很好,對開發者使用提供了很多的方便,但由於隱藏很多細節,也出現了修改上的難度和局限性。

 

參考資料:

百度百科http://baike.baidu.com/view/2587250.htm

百度hihttp://hi.baidu.com/freedomknightduzhi/blog/item/e1316da90df739f31f17a232.html

 

用戶評價

《魔獸世界》的成功讓bigworld名聲大噪,《魔獸世界》的成功曾讓國內游戲開發商對BigWorld(BW)趨之若鶩。

——網友:flask

bigworld 是代碼開放的一款引擎也就是說可以不用花太多的授權費用而對引擎進行自己所需求的改動
[::
艾澤拉斯國家地理 BBS.NGACN.CC::]

據了解國內有部分網游用的bigworld另外 來自USUnreal E3 授權1000W刀如果不需要全部的功能可以減少授權費用,售后技術支持另算

 

同時來自德國的孤島危機的CryTex Sandbox引擎則要便宜很多,這也是很多韓國游戲喜歡使用的引擎,比如AION就是使用的這樣一款引擎

所以不要把引擎的好壞來權衡游戲,另外 史可威爾艾尼克斯的新rpg 最后的神跡使用Unreal3,但是不見得把這款引擎吃透了多少

再另外,Unreal3 是目前唯一一款支持帶色彩高光貼圖的引擎,新版本的 Crytex 引擎還沒有研究過,所以不知道是不是也可以支持

 


——網友:黯

 

3.6引擎綜合評測表

 

引擎名稱

Ogre

Unreal

Unity

Gamebryo

Bigworld

作者

Steve streeting

Epic Games

Unity technology

Emegent game technology

Big World

圖形API

OpenGL

DirecX

OpenGL

DirectX

Software

DirectX

OpenGL

DirectX

OpengGL

DirectX

OpenGL

操作系統

Windows

Linux

MacOS

Windows

Linux

MacOS

Xbox

PlayStation

GameCube

Windows

Linux

PlayStation

iPhone

Wii

Windows

MaxOS

Xbox360

PS3

Windows

支持64位操作系統

開發語言

C/C++

C/C++

C/C++

C/C++

C/C++

開源與否

公開

不公開

不公開

不公開

部分源代碼開源

文檔狀況

充份

充份

提供逐步的指導、文檔和實例方案

 

充份

充份

特征概貌

面向對象的設計

插件式結構

可存/取系統

面向對象的存取

插件式結構

可存取系統

面向對象設計

面向對象設計

開放式跨平台游戲引擎

插件式結構

可存取系統

面向對象的存取

插件式結構

可存取系統

支持腳本語言

腳本材質語言

允許代碼外進行材質屬性的設置

支持腳本控制的多遍渲染

 

內嵌的Unreal-Script語言

以及C++支持的所有形象華文本,支持非程序員編譯器

 

Unity支持3種腳本語言:JavaScriptC#Boo

 

LUA腳本

Python腳本

 

內嵌編輯器

不支持

UnrealED:基於結構幾何表示的實時設計工具,對光源、紋理、和幾何體進行所見即所得的操作

腳本配置方式的編輯

完整優秀的編輯工具,包括地形,材質,動畫,聲音,模型等等

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM