首页 3D游戏引擎入门课程1——概述
文章
取消

3D游戏引擎入门课程1——概述

写在前面

本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。 原课程链接:3D游戏引擎架构设计基础。 本文由整份的word文档转化而来,可选择阅读整份文档(转化成的web专栏阅读起来感觉会更加舒服)。链接放到最后。

导图

课程思维导图: 在这里插入图片描述 大图查看链接:高清版 因此,本专栏将根据导图的索引,分为7个章节。

索引

概述

游戏引擎概述

定义:如果把游戏开发中的核心基础功能独立抽象出来,供游戏开发者调用,这样的组件被称为游戏引擎。使用游戏引擎开发游戏,能够提高游戏的开发效率和质量。在早期的游戏开发中,设计者们逐步地、不断地抽取出游戏设计的公共组件,将这些功能抽象化、模块化,形成了游戏引擎。随着游戏开发的不断成熟,游戏引擎的功能已经越来越强大。

其中开源的游戏引擎包括,Unreal Engine 4,OGRE,Panda3D等,流行的商业游戏引擎包括,Unity等。下文将主要通过OGRE和Panda3D进行举例。

游戏引擎框架概述

游戏引擎的需求分析,即游戏引擎应该包含的功能。

其中环境需求包括:

  • 目标硬件

  • 设备驱动

  • 操作系统

  • 第三方软件包和中间件

  • 支撑引擎的平台独立层

功能需求包括:

  • 引擎的核心基础模块

  • 引擎资源管理

  • 引擎场景管理和图形渲染

  • 角色动画

  • 声音

  • 物理和碰撞检测

  • 人工智能

  • 图形用户界面GUI

  • 脚本处理等

游戏引擎的设计原则包括:功能完善(多),运行效率高(快),性能稳定(好),同时具备良好的扩展性。

游戏引擎的架构设计,应将以下内容按照一定的方式组合在一起:

  • 基础平台的支撑组件

  • 第三方的基础库:数据运算、图形处理、数据结构等

  • 引擎功能(如上面功能需求所述)

游戏引擎层次化组织架构:

在这里插入图片描述 在这里插入图片描述

功能游戏

功能游戏的分类: 在这里插入图片描述

游戏引擎中的设计模式

创建型模式:

  • 单例模式:系统中只存在一个实例,一般是全程存在的。

  • 抽象工厂模式:为创建若干个有关联的工厂类提供接口,是抽象类,无需制定具体类。

  • 工厂模式:提供若干个有关联对象的接口,是具体类,可以实例化。

结构性模式:

  • 适配器模式:将一个类的接口转换成所希望的另外一个类的接口。让原本因接口不兼容而不能一起使用的那些类可以一起工作。通过该模式可以为第三方的基础库定义统一的接口。

行为性模式:

  • 迭代器模式:顺序访问一个聚合对象中的各个元素,但不需要了解该对象的内部表示。

  • 观察者模式:由多个观察者对象同时监听某个主体,当主体对象发生变化时,通知所有的观察者,并做成响应。

  • 访问者模式:将一些操作封装,并施加于某种数据结构元素上,当修改封装的操作时,不会影响被施加的数据结构,即可以将不稳定的方法和稳定的数据结构隔离。如,将渲染算法封装为访问者模式的类,可将方法和数据隔离,如果某个数据结构的某个算法发生改变,则只需要修改算法,而不影响数据结构的元素。

文档链接

[金山文档] 3D游戏引擎基础.doc

本文由作者按照 CC BY 4.0 进行授权

Kintinuous算法+Ubuntu19.10编译过程记录

3D游戏引擎入门课程2——场景管理