目录

  • 写在前面
  • 导图
  • 索引
  • 概述
    • 游戏引擎概述
    • 游戏引擎框架概述
    • 功能游戏
    • 游戏引擎中的设计模式
  • 文档链接

写在前面

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

导图

课程思维导图:

大图查看链接:高清版
因此,本专栏将根据导图的索引,分为7个章节。

索引

  • 概述
  • 场景管理
  • 资源管理
  • 场景渲染
  • 角色动画
  • 事件处理与脚本语言
  • 内存管理

概述

游戏引擎概述

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


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

游戏引擎框架概述

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

其中环境需求包括:

  • 目标硬件

  • 设备驱动

  • 操作系统

  • 第三方软件包和中间件

  • 支撑引擎的平台独立层

功能需求包括:

  • 引擎的核心基础模块

  • 引擎资源管理

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

  • 角色动画

  • 声音

  • 物理和碰撞检测

  • 人工智能

  • 图形用户界面GUI

  • 脚本处理等

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

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

  • 基础平台的支撑组件

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

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

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


功能游戏

功能游戏的分类:

游戏引擎中的设计模式

创建型模式:

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

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

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

结构性模式:

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

行为性模式:

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

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

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

文档链接

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

3D游戏引擎入门课程——概述相关推荐

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

    目录 写在前面 场景管理 场景管理概述与BVH 场景组织结构:场景树,八叉树和BSP树 场景树 八叉树 BSP树 场景管理实例 OGRE场景管理 OSG场景管理 Panda3D场景管理 写在前面 本专 ...

  2. 3D游戏引擎入门课程——角色动画

    目录 写在前面 角色动画 角色动画概述和表示方法 角色的表示 骨骼蒙皮动画中重要的概念 角色动画实现实例 OGEE角色动画 Panda3D角色动画 写在前面 本专栏内容均为学堂在线慕课<3D游戏 ...

  3. 如何学好3D游戏引擎编程《转自3D游戏引擎网》

    此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰         --阿哲VS自己 QQ79134054多希望大家一起交流与 ...

  4. 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录

    3D游戏引擎设计  实时计算机图形学的应用方法  第2版 目录 第1章 概述 1.1 图形硬件和游戏发展史 1.2 本书版本与软件发展史 1.3 章节导读 第2章 图形系统 2.1 基础知识 2.1. ...

  5. 3D游戏引擎系列十一

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  6. [原创]四大开源3d游戏引擎探究(前言上)

    [声明] 本人水平有限,只对于长久以来研究的几个经典3d游戏引擎的设计思想.程序架构和应用行深入剖析的结果与游戏开发同行分享,文档有不妥之处请指出,期待我们的共同进步. 引擎名称: 1.       ...

  7. Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统

    Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统 1 粒子系统 1 粒子系统的历史 2 粒子系统的概念 1 位置,速度,大小,颜色,生命周期. 2 粒子系统的生命周期: 3 ...

  8. 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日

    Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...

  9. 3D游戏引擎系列十二

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

最新文章

  1. ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签
  2. springBoot单元测试-模拟MVC测试
  3. python爬网盘数据犯法吗_python爬取疫情数据的源码
  4. Linux安装以太坊geth客户端
  5. 三分钟了解云存储网关 使用场景
  6. word文档的尺寸和字号对照表
  7. 华为手机桌面有计算机的数字,华为手机桌面上信息图标上显示的数字角标如何关闭...
  8. IP命令详解(强大的命令)
  9. 【CSS3】渐变背景
  10. 【Centos】EFAK(kafka-eagle)对ZK、Kafka可视化管理工具容器化安装与配置
  11. C语言--实现汉诺塔【图文讲解,附代码】
  12. springCloud-day04
  13. VSCode下配置R语言环境(Windows)
  14. 杨辉三角python输出
  15. android 使用mediaplayer播放视频的时候设置请求头header
  16. 软件测试可以做到多大岁数?
  17. 网络设备模拟器Packet Tracer教程
  18. 生鲜小程序制作价格 平邑网站建设网店制作app开发
  19. rnnlm源码分析 二
  20. 2014年国际注册信息系统审计师CISA考试相关信息

热门文章

  1. OPA1612AIDR IC AUDIO 2 CIRCUIT 8SOIC
  2. 做视频不想用原声?这个可能是你需要的。
  3. stm32之备份寄存器(BKP)应用(侵入检测中断)
  4. 【STM32】HAL库-备份寄存器(BKP)
  5. 分别计算二维数组主对角线元素与辅对角线元素的和。
  6. 关于列columns的一些配置
  7. Linux系统结构以及各类命令的汇总
  8. java:编写一个求平方的窗体
  9. ImagePicker
  10. CorelDraw插件开发-VBA-常用功能-二维码创建-cdr插件