游戏开发工程师--游戏引擎架构

2,728 阅读4分钟

游戏引擎

游戏引擎包含以下系统: 渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。

游戏引擎发展历程

1993 id Tech1
1998 Unreal Engine1
2005 Unity
2006 CryEngine
2009 Unreal Development Kit (UDK)

其他引擎
Source
RAGE
Snow drop
FROSTBITE
FOX ENGINE

游戏引擎架构

游戏专用子系统

武器 道具 载具 谜题 其他

游戏渲染

玩家机制

游戏摄像机

人工智能

通用子系统

场景渲染
事件处理
角色动画
声音
特效
AI
物理模拟

渲染引擎

低阶渲染器

图形设备接口

其他渲染器组件

场景图/删除优化

视觉效果

前端

剖析和调试工具

碰撞和物理

动画

人体学接口设备

音频

在线多人/网络

游戏性基础系统

资源管理系统

唯一性:同一个资源在内存中只有一个副本
生命周期:
内存用量:
引用关系:
复合资源:
异步加载:资源加载不阻塞游戏逻辑的进行

核心系统

反射:进程获取自身的类型信息,动态查找属性、调用函数

平台独立层

对操作系统和第三方软件开发包进行封装 ,隔离操作系统和上层引擎功能

第三方软件开发包和中间件

三维图形SDK

DirectX
Metal
OpenGL
Vulkan

三大物理引擎

Havok
PhysX by NVIDIA
Bullet physics Library

其他SDK

Oculus
Google VR
STEAM VR
LEAP motion

数据结构与算法

STL
STLport
Boost
Loki

角色动画

Havok AI
Granny
IKINEMA
Edge

图形

碰撞和物理

角色动画

人工智能

Kynapse

生物力学角色模型

Endorphin
Euphoria

操作系统

PC

在PC游戏不能假设拥有硬件所用控制权,多个进程共享硬件资源。

游戏主机

老主机:以轻量级库存在,链接到游戏的执行文档。

中断游戏执行,接管某些系统资源

设备驱动程序

操作系统 或 硬件厂商提供的软件组件
管理硬件资源
隔离硬件及上层软件

目标硬件(PC、Xbox One、PS4 ......)

Windows/Linux 平台的 PC
苹果的Mac
IOS / Android 平台设备
微软 Xbox 系列
索尼 playstation 系列
任天堂 NDS /Will/ Switch

运行时引擎架构

3D游戏引擎架构设计概述

游戏引擎概述

游戏引擎架构概述

功能游戏

游戏引擎中的设计模式

场景管理

场景管理概述,BVH方法

场景图的场景管理方法

OGRE场景管理的实现

OSG场景管理的实现

Panda3D场景管理的实现

八叉树的场景管理方法

BSP树的场景管理概念和构建

BSP树场景管理的遍历和应用

资源管理

资源管理概述

OGRE资源文件和格式

OGRE资源管理的实现

Panda3D资源管理的实现

场景渲染

场景渲染概述,场景剔除方法

真实感场景渲染方法

细节分层方法

OGRE场景渲染实现与材质文件

OGRE场景渲染的主要类

Panda3D场景渲染的实现

游戏引擎介绍

游戏开发过程介绍

游戏开发团队分工

游戏运营介绍与建议

角色动画控制

角色动画概述

角色的骨骼蒙皮表示方法

角色动画的运动合成方法

角色动画的运动控制方法

OGRE角色动画的实现

Panda3D角色动画的实现

事件处理和脚本语言

事件处理概述

OGRE事件处理的实现

Panda3D事件处理的实现

脚本语言概述

内存管理和可扩展性实现

内容管理概述和OGRE内存管理的实现

扩展插件概述和OGRE扩展插件的实现

OGRE和Panda3D开源引擎实例分析

OGRE引擎架构概述

OGRE引擎架构主要模块分析

OGRE引擎使用方法

Panda3D引擎架构概述

Panda3D引擎架构主要模块分析

Panda3D引擎使用方法

OGRE安装和编译

OGRE官方文档介绍

Panda3D安装

Panda3D官方文档介绍