有哪些好用的輕量級3D遊戲引擎?

最近在開發自己的飛行模擬器過程中,遇到了一個不大不小的問題是自己在OpenGL上面寫的三維引擎有點難看的過頭了。(沒有太多時間去優化這個東西)

題主需要一個輕量級可以很容易嵌入到Qt或者Cocoa之類的框架內的三維引擎,c或者cpp。最好可以直接調用一些常用的三維格式和貼圖等。但是功能也不用太多。

Unity3d還是重量級了一點,而SceneKit其實還算好用,但是只支持OS X很捉急(因為要跑在ros這種拙劣的玩意上,ros雖然自己在OS X編譯好了但是還是不好用)。webgl雖然跨平台起來很方便,http://cario.io也算是個三維引擎,但是還是怪怪的。。。。


irrlicht,功能並不高大上,但是獨立開發者絕對夠用。

代碼少,C++為主,編譯飛速,不使用奇巧淫技。

接地氣,入門特別快,也很方便集成到其他框架中。

支持各種PC平台,手機平台。

它還內置了一個非常非常簡單的物理碰撞模塊,實現個 FPS 遊戲是完全夠了。

http://irrlicht.sourceforge.net/

說完優點說缺點,不支持 D3D11 之後的版本,社區不活躍,要增加高大上的內容需要大幅度修改引擎代碼,動大手術。

不過大多數人都不需要高大上的內容,不是嗎?

Its main features are:

  • High performance realtime 3D rendering using Direct3D and OpenGL[more]
  • Platform independent. Runs on Windows, Linux, OSX, Solaris, and others.[more]
  • Huge built-in and extensible material library with vertex, pixel, and geometry shader support [more].
  • Seamless indoor and outdoor mixing through highly customizeable scene management. [more]
  • Character animation system with skeletal and morph target animation. [more]
  • Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
  • Several language bindings which make the engine available to other languages such as C#, VisualBasic, Delphi, Java …
  • Two platform and driver independent fast software renderers
    included. They have different properties (speed vs. quality) and
    feature everything needed: perspective correct texture mapping, bilinear
    filtering, sub pixel correctness, z-buffer, gouraud shading,
    alpha-blending and transparency, fast 2D drawing, and more.
  • Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, …
  • 2D drawing functions like alpha blending, color key based blitting, font drawing, and mixing 3D with 2D graphics.
  • Clean, easy to understand, and well documented API with lots of examples and tutorials.
  • Written in pure C++ and totally object oriented.
  • Direct import of common mesh file formats: Maya
    (.obj), 3DStudio (.3ds), COLLADA (.dae), Blitz3D (.b3d), Milkshape
    (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), Microsoft DirectX
    (.X)… [more]
  • Direct import of Textures: Windows Bitmap (.bmp),
    Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File
    Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush
    (.pcx)… [more]
  • Fast and easy collision detection and response.
  • Optimized fast 3D math and container template libraries.
  • Directly reading from (compressed) archives. (.zip, .pak, .pk3, .npk)
  • Integrated fast XML parser.
  • Unicode support for easy localisation.
  • Works with Microsoft VisualStudio, Metrowerks Codewarrior, Bloodshed Dev-C++, Code::Blocks, XCode, and gcc 3.x-4.x.
  • The engine is open source and totally free.
    You can debug it, fix bugs and even change things you do not like. And
    you do not have to publish your changes: The engine is licensed under
    the zlib licence, not the GPL or the LGPL.


@龔敏敏 的KlayGE


urho3d,貌似知乎上沒什麼人提這個引擎,這是為什麼?


Open scene graph


urho3D


Horde3D是一款模仿OGRE的簡化版

Urho3D是一款基於Horde3D的升級版

如果只是2D的話SFML是最簡潔的,也提供了嵌入OpenGL的介面

OGRE代碼層次清晰適合學習渲染器,但是太重了不推薦模擬器用


推薦閱讀:

Windows 支持 DirectX 和 OpenGL,為什麼大多數 PC 遊戲還是 DirectX 開發?
遊戲的漢化過程是怎樣的?
如何評價虛擬搖桿在手游中的廣泛運用?
獨立遊戲在國內有戲嗎?
是否非攻擊性的交互難以在塑造情感的同時塑造遊戲性?

TAG:前端開發 | 遊戲開發 | 三維設計軟體 |