3D渲染引擎介绍

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 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等游戏引擎。

目录
相关文章
|
7月前
|
Web App开发 前端开发 JavaScript
WebGL:开始学习 / 理解 WebGL / WebGL 需要掌握哪些知识 / 应用领域 / 前端值得学WebGL吗
WebGL:开始学习 / 理解 WebGL / WebGL 需要掌握哪些知识 / 应用领域 / 前端值得学WebGL吗
138 0
|
8月前
|
JavaScript 前端开发 数据可视化
6 个用于 3D 网页图形渲染的最佳 WebGL 库
现代前端、游戏和Web开发正是WebGL可以转化为数字杰作的东西。使用GPU绘制在浏览器屏幕上生成的矢量元素,WebGL创建交互式Web图形,从而获得用户体验。视觉元素的质量和复杂性使该工具在HTML或CSS等其他方法中脱颖而出。
173 0
|
8月前
|
Web App开发 测试技术 API
WebGpu VS WebGL
首先是Web 和 WebGPU 上的图形简史.如果您还没有阅读,请阅读 - 这篇文章在很大程度上是从那篇文章开始的。我将介绍WebGPU在实践中与WebGL的比较,我在Web游戏引擎Construct中添加WebGPU支持时学到的东西,以及它对未来的意义。
143 0
|
Web App开发 JavaScript 前端开发
Chromium 最新渲染引擎--RenderingNG
前置知识简讲 浏览器架构 组件结构 代码分析
142 0
|
Web App开发 存储 移动开发
浏览器内核(渲染引擎)介绍|学习笔记
快速学习浏览器内核(渲染引擎)介绍
257 0
|
监控 算法 数据可视化
跨平台多媒体渲染引擎OPR简介
跨平台多媒体渲染引擎OPR简介
359 0
跨平台多媒体渲染引擎OPR简介
|
存储 JavaScript 前端开发
浏览器内核之渲染基础(上)
此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和做的笔记。 而【WebKit 技术内幕】是基于 WebKit 的 Chromium 项目的讲解。 书接上文 浏览器内核之 CSS 解释器和样式布局 本文剖析 WebKit 为网页渲染而构造的各种类型的内部结构表示,并介绍基本的网页软件渲染方式。 WebKit的布局计算使用 RenderObject 树并保存计算结果到 RenderObject 树中。RenderObject 树同其他树(如 RenderLayer 树等),构成了 WebKit 渲染的为要基础设施。
142 0
浏览器内核之渲染基础(上)
|
存储 移动开发 缓存
浏览器内核之渲染基础(下)
浏览器内核之渲染基础(下)
150 0
浏览器内核之渲染基础(下)
|
JavaScript 物联网 开发者
WebGL的3D框架比较 ThingJS 和 Three.js
随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。 win10的画图板支持3D图片,2d工具photoshop也开始逐步集成了3D工具。
4587 0
|
前端开发 JavaScript 小程序
跨平台Web Canvas渲染引擎架构的设计与思考
这篇文章主要从技术视角介绍下跨平台WebCanvas的架构设计以及一些关键模块的实现方案(以Android为主),限于作者水平,有不准确的地方欢迎指正或者讨论。
1982 0
跨平台Web Canvas渲染引擎架构的设计与思考

热门文章

最新文章