主流3D引擎介绍

主流3D引擎介绍

3D引擎在游戏与工业领域扮演着核心角色,它们可以根据商业属性分为商业引擎和开源引擎。此外,3D引擎按照业务领域,可以进一步细分为游戏引擎、GIS引擎、仿真引擎等,一些引擎则可能跨足多个领域。开发语言涉及C++、C#、Java、JavaScript、GLSL及各种脚本。

UE4游戏引擎是一款商业引擎,采用C++及脚本语言开发。它以逼真的渲染效果闻名,是3A级游戏开发的首选,如腾讯的《和平精英》。UE4支持C++开发,尽管有蓝图功能,但大多数正式项目倾向于使用C++。UE4支持WebAssembly技术,可发布至Web平台及主流游戏平台,如PC、iOS、Android。UE4通过Cesium for Unreal组件实现了与GIS引擎的跨界融合。UE4的关键特性包括:画面效果出色,开发难度较高,且兼容多种游戏平台。

Unity是另一款广受欢迎的商业引擎,使用C#或Lua开发,尤其适合中小型游戏公司。它凭借其强大的3D游戏制作能力,成为国民级游戏引擎,如《王者荣耀》。Unity的崛起源于其适应手游市场,能够一次开发多平台,如Android和iOS。此外,Unity对初学者友好,降低了3D游戏开发的门槛。Unity引擎的生态完整,支持多种类型游戏的开发,一次开发多平台发布。尽管Unity不支持H5,但通过WebAssembly技术可发布至Web平台。Unity的特性包括:优秀的3D游戏画面、广泛的生态支持、一次开发多平台,但需要授权费。

Cesium是一款开源GIS引擎,使用JavaScript开发。它提供了一种用于显示三维地球和地图的js库,支持多种三维模型、影像数据、地形数据等格式。Cesium在Web领域的3DGIS应用中较为流行,尤其在地理信息与导航定位领域。Cesium的优点在于开源、GIS功能强大、扩展性好,但渲染效果不如游戏引擎。国内使用Cesium的公司较多,特别是在地理信息和导航定位领域。

Urho3D和AtomicGameEngine是另外两款开源引擎。Urho3D采用先进的ECS架构,易于与Qt5集成。AtomicGameEngine基于Urho3D,以C#封装,上手和易用性更强。两款引擎均提供游戏场景构建功能,支持Node和Component系统,便于游戏开发。Urho3D优点在于架构先进、扩展性强,而AtomicGameEngine则易于使用,国内社区活跃度相对较低。

国内还有其他几家图形厂家使用的引擎,如Ogre、Osg、OsgEarth、VTK、Unigine等,这些引擎架构相对老旧,主要支持CS应用。新新GIS图形厂家则倾向于使用Cesium.js或Three.js,它们是老牌图形厂家支持BS技术的引擎选择。对于游戏和仿真跨界的厂家,UE4和Unity等游戏引擎是常用选择。