大家好,我是IT售前工程师Bernie.

三维引擎是在三维底层图形技术的基础上,封装硬件操作与三维图形算法,形成普遍意义上的三维交互引擎。在此基础上进行虚拟现实、三维交互、可视化管理平台二次开发等。

上图中,Direct3D和OpenGL是图形渲染的API,通过这套API应用层可以控制GPU进行图形的绘制渲染。调用者无需关心CPU怎么调用GPU,GPU怎么分配内存,怎么异步处理代码等。

比如,游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻辑。有了渲染引擎,我们不再需要具备太多专业而复杂的计算机专业知识,只需要进行简单的系统学习,便可以使用它们来进行游戏开发。

引擎分类

从业务领域上分,3D引擎可以分为游戏引擎、GIS引擎、仿真引擎等。3D引擎涉及C++、C#、Java、JavaScript、GLSL及各类脚本等。

从运行环境上分,3D引擎可分为客户端和Web端引擎。客户端有UE和Unity的游戏引擎,CAD/CAM/CAE三维引擎。Web端的三维引擎主要有Three.js、Babylon.js、Cesium.js等。

接下来,我们简单列一下常用的游戏3维引擎,及其特点。

UE

UE(Unreal Engine 简称 UE) 是虚幻引擎,是一款有着强大开发功能和开源策划的游戏引擎,在游戏画面和沉浸体验方面要明显优于Unity3D游戏,画面效果可以达到3A游戏水准,更适合高端游戏制作,比如腾讯的《和平精英》等。

UE采用C++开发,虽然有蓝图,但是大多数公司采用C++开发游戏,因为用C++可以获得更好的性能。

在美国和欧洲,虚幻引擎主要用来制作主机游戏,比如风靡全球的《吃鸡》、《绝地求生》都是由UE4引擎开发的。UE4采用了当前最先进的及时光线追踪、HDR光照、虚拟位移等技术。每秒钟可以实时处理2亿个多边形运算任务。

UE不仅涉及主机游戏、PC游戏、手游等游戏,还涉及影视制作、建筑设计、战略演练,三维仿真城市建设,可视化与设计表现,无人机巡航等诸多领域。一切可以用到三维仿真表达、虚拟环境模拟的行业,都可以用UE来进行模型表达、场景构建、动态仿真。

Unity

Unity是由Unity Technologies研发的跨平台2D/3D游戏引擎,可用于开发Windows、MacOS及Linux平台的单机游戏,PlayStation、Xbox、Wii、任天堂3DS和Switch 等游戏主机平台的视频游戏,以及iOS、Android等移动设备的游戏。

Unity所支持的游戏平台还延伸到了基于WebGL技术的HTML5网页平台,以及tvOS、Oculus Rift、ARKit等新一代AR和VR多媒体平台。

除可以用于研发电子游戏之外,Unity还广泛用作建筑可视化、实时三维动画、美术、建筑、汽车设计、影视等类型互动内容的综合型创作工具。

游戏引擎的特点

跨平台

平台你可以简单理解为不同的操作系统,比如windows、mac os、Android、ios等,他们的操作系统不一样就称为不同的平台。

以前我们开发一款游戏,为了能在不同的平台上运行,必须得针对不同的平台进行多次开发。而跨平台的意思就是,我们只需要进行一次开发,通过Unity和UE提供的跨平台功能,我们可以让产品在各种不同平台上使用。

多种游戏类型

大部分人理解的游戏类型可能更多的是RPG(角色扮演)、FPS(第一人称射击)等游戏机制的类型,这里提到的类型涵盖面会更广。

Unity和UE4可以制作如:3D游戏、2D游戏、VR(虚拟现实)游戏、AR(增强现实)游戏等。说直白点,只要是游戏他俩都能做。

免费使用

Unity和UE4都可以让大家在一定程度上免费使用,至少在学习阶段是完全免费的。

而如果要用来做商业项目或使用更多的高级功能,两者会有不同的收费策略。