3D渲染引擎介绍

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 3D渲染引擎介绍

背景

专业处理视觉呈现的渲染库。
3D引擎从商业属性上分为:商业引擎和开源引擎,从业务领域上分为:游戏引擎、GIS引擎、仿真引擎等,部分引擎可能具备多种领域组合,开发语言涉及包括:C++、C#、Java、JavaScript、GLSL及各类脚本等。

引擎列表

UE4游戏引擎-商业引擎(源码开源)-游戏引擎-C++及脚本

UE4, 开发语言C++和蓝图。UE4是3A游戏开发者引擎的首选,它以逼真的渲染效果著称。很多大型的3A游戏都采用UE4来开发,比如腾讯的《和平精英》等。UE4采用C++开发,虽然有蓝图,但是很多公司正式项目都去蓝图化,采用C++开发游戏,与C#和Js/Ts相比,开发难度大,当然C++可以获得更好的性能。UE4不支持H5,但是可以用WebAssembly技术发布到Web平台,同时可以发布到主流的游戏平台,PC,iOS, Android等。UE4目前通过Cesium for Unreal组件,实现了游戏引擎和GIS引擎的跨界融合;总结一下UE4的特点:

  • 画面效果好,3A游戏的首选。
  • C++开发难度相对较大,所以爱她的程序员和恨她的一样多。
  • 开发3A级游戏技术成熟, 画面效果好。

国民3D引擎Unity-商业引擎-游戏引擎-C#及脚本

Unity, 使用C#或Lua语言开发。国民3D引擎,这个称号说明了Unity在3D引擎的市场地位,中小型的游戏公司做3D游戏,基本都是用Unity, 很多大公司的游戏也用Unity, 比如《王者荣耀》, 国外什么情形呢?AppStore上面80%的3D游戏都使用Unity游戏引擎开发。为什么Unity打败了众多高手,成为国民游戏引擎,我们也好好的说一下。时间回到2010年左右,当时页游比较火,Unity那个时候引擎的定位是能开发PC端游和页游的游戏引擎。随着手游时代来临,市场急需一个3D游戏引擎,能一次开发多平台发布到Android与iOS, 而Unity成为了当时唯一的3D游戏引擎解决方案。和手游市场一起,Unity实现快速增长。Unity能成为国民引擎还有一个很重要的原因,就是对初学者很友好,很方便就可以上手,极大的降低了3D游戏开发难度, Unity引擎的市场份额越来越大,技术人才, SDK,第三方插件, 技术资料等也越来越完整。总结一下Unity的特点:

  • 能制作精美的3D游戏画面,和定制渲染管线,画面效果不如UE4。

  • 能制作各种类型的3D游戏上线,每种类型的游戏都被商业项目验证过。

  • 完整的生态,一次开发多, 平台发布(PC, android, iOS, xBox)。

  • Unity不开源, 需要支付授权费才可以修改引擎代码, 发布后也要付授权费。

  • Unity开发2D游戏相对包体过大。

  • Unity 3D H5支持比较薄弱,不支持微信/抖音/华为/Facebook等H5小游戏平台;但是可以用WebAssembly技术发布到Web平台。

Cesium-开源引擎-GIS引擎-JavaScript

Cesium是一个用于显示三维地球和地图的开源js库。它可以用来显示海量三维模型数据、影像数据、地形高程数据、矢量数据等等。三维模型格式支持gltf、三维瓦片模型格式支持3d tiles。矢量数据支持geojson、topojson格式。影像数据支持wmts等。高程支持STK格式。

属于GISSer领域使用率较高的软件,特别是3DGIS在Web领域的无插件应用,对比其他的同类GIS引擎包括,开源的:OsgEarth,WorldWind等;商业的包括:SkylineGlobe,ArcGisGlobe等;国内使用Cesium软件的厂家较多,特别是地理信息领域和导航定位领域的公司,如果有这方面类似的业务和需求,这款软件是不错的选择。

优点

开源,GIS特性比较强,扩展性较强。

缺点

可视化和渲染效果不如游戏引擎,不过国内有一些厂家也定制了渲染管线,提升了渲染效果。

Urho3D/AtomicGameEngine-开源引擎-游戏引擎-C++/C

Urho3D的引擎架构参考了Unity的ECS架构设计,是比较先进的架构。AtomicGameEngine引擎基于Urho3D,用C#形式封装的,上手和易用性较Urho3D简单,是很不错的引擎。Urho3D和AtomicGameEngine一样易于跟Qt5集成。

另外AtomicGameEngine/Urho3D设计得还挺好用的,感觉应该是比较现代的设计吧。游戏场景全由Node组成,并被组织为树结构。每个Node可以附加一系列Component,每个Component可实现该Node某方面的功能。

优点

引擎架构先进,扩展性强,可作为自主引擎的基础。

缺点

国内社区活跃度不高。

其他国内目前使用较多的引擎包括:

老牌图形厂家,一般使用:Ogre、Osg、OsgEarth、VTK、Unigine等引擎,架构相对较老,只支持CS应用,大部分此类公司会在开辟一条BS引擎线。

新新GIS图形厂家,一般使用:Cesium.js,Three.js,也是一些老牌图形厂家支持BS技术的引擎选择。

游戏和仿真跨界的厂家,一般使用:UE4、Unity等游戏引擎。

目录
相关文章
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】Mean Shift、Kmeans聚类算法在图像分割中实战(附源码和数据集)
【Python机器学习】Mean Shift、Kmeans聚类算法在图像分割中实战(附源码和数据集)
525 0
【Python机器学习】Mean Shift、Kmeans聚类算法在图像分割中实战(附源码和数据集)
Google Earth Engine(GEE)——利用归一化建筑指数NDBI(不透水层)提取建筑物
Google Earth Engine(GEE)——利用归一化建筑指数NDBI(不透水层)提取建筑物
3192 0
Google Earth Engine(GEE)——利用归一化建筑指数NDBI(不透水层)提取建筑物
|
API 开发工具 C#
一套基于 .NET Core 开发的支付SDK集 - paylink
一套基于 .NET Core 开发的支付SDK集 - paylink
253 1
|
SQL 前端开发 NoSQL
SpringBoot+Vue 实现图片验证码功能需求
这篇文章介绍了如何在SpringBoot+Vue项目中实现图片验证码功能,包括后端生成与校验验证码的方法以及前端展示验证码的实现步骤。
SpringBoot+Vue 实现图片验证码功能需求
|
前端开发 JavaScript API
前端开发新趋势:探索WebAssembly与WebGL在游戏开发中的应用
【10月更文挑战第1天】前端开发新趋势:探索WebAssembly与WebGL在游戏开发中的应用
508 2
|
数据可视化 算法 JavaScript
数字孪生核心技术揭秘(一):渲染引擎
从2017年“数字孪生城市”概念走红开始,全国各地“数字孪生城市”如雨后春笋般涌现,迅速推动了整个行业快速发展。与此同时,整个“数字孪生城市”产业链路上的技术瓶颈开始显现,尤其是数字孪生城市构建的核心环节之一的三维渲染引擎已经成为制约数字孪生城市项目正真实战落地的核心痛点。
7089 4
|
机器学习/深度学习 JavaScript 前端开发
PyCharm 2024.1最新变化
PyCharm 2024.1最新变化
|
Rust 前端开发 JavaScript
探索前端技术的未来:WebAssembly与JavaScript的融合之路
【2月更文挑战第12天】 随着Web技术的不断进步,前端开发正迎来一场革命性变革。本文将深入探讨WebAssembly(以下简称Wasm)与JavaScript(以下简称JS)的结合如何为前端开发带来前所未有的性能提升与新的编程模式。我们将从两者的基本概念入手,探索它们各自的优势与局限,然后深入分析Wasm和JS协同工作时能够解锁的潜力,最后展望这一技术趋势如何塑造未来的前端开发生态。本文旨在为前端开发者提供洞见,帮助他们理解并准备好迎接这一即将到来的技术浪潮。
229 1
qt初入门1:qt读文件的几种方式简单整理
qt初入门1:qt读文件的几种方式简单整理
339 0