3D游戏引擎入门课程——概述
目录
- 写在前面
- 导图
- 索引
- 概述
- 游戏引擎概述
- 游戏引擎框架概述
- 功能游戏
- 游戏引擎中的设计模式
- 文档链接
写在前面
本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。
原课程链接:3D游戏引擎架构设计基础。
本文由整份的word文档转化而来,可选择阅读整份文档(转化成的web专栏阅读起来感觉会更加舒服)。链接放到最后。
导图
课程思维导图:
大图查看链接:高清版
因此,本专栏将根据导图的索引,分为7个章节。
索引
- 概述
- 场景管理
- 资源管理
- 场景渲染
- 角色动画
- 事件处理与脚本语言
- 内存管理
概述
游戏引擎概述
定义:如果把游戏开发中的核心基础功能独立抽象出来,供游戏开发者调用,这样的组件被称为游戏引擎。使用游戏引擎开发游戏,能够提高游戏的开发效率和质量。在早期的游戏开发中,设计者们逐步地、不断地抽取出游戏设计的公共组件,将这些功能抽象化、模块化,形成了游戏引擎。随着游戏开发的不断成熟,游戏引擎的功能已经越来越强大。
其中开源的游戏引擎包括,Unreal Engine 4,OGRE,Panda3D等,流行的商业游戏引擎包括,Unity等。下文将主要通过OGRE和Panda3D进行举例。
游戏引擎框架概述
游戏引擎的需求分析,即游戏引擎应该包含的功能。
其中环境需求包括:
目标硬件
设备驱动
操作系统
第三方软件包和中间件
支撑引擎的平台独立层
功能需求包括:
引擎的核心基础模块
引擎资源管理
引擎场景管理和图形渲染
角色动画
声音
物理和碰撞检测
人工智能
图形用户界面GUI
脚本处理等
游戏引擎的设计原则包括:功能完善(多),运行效率高(快),性能稳定(好),同时具备良好的扩展性。
游戏引擎的架构设计,应将以下内容按照一定的方式组合在一起:
基础平台的支撑组件
第三方的基础库:数据运算、图形处理、数据结构等
引擎功能(如上面功能需求所述)
游戏引擎层次化组织架构:
功能游戏
功能游戏的分类:
游戏引擎中的设计模式
创建型模式:
单例模式:系统中只存在一个实例,一般是全程存在的。
抽象工厂模式:为创建若干个有关联的工厂类提供接口,是抽象类,无需制定具体类。
工厂模式:提供若干个有关联对象的接口,是具体类,可以实例化。
结构性模式:
- 适配器模式:将一个类的接口转换成所希望的另外一个类的接口。让原本因接口不兼容而不能一起使用的那些类可以一起工作。通过该模式可以为第三方的基础库定义统一的接口。
行为性模式:
迭代器模式:顺序访问一个聚合对象中的各个元素,但不需要了解该对象的内部表示。
观察者模式:由多个观察者对象同时监听某个主体,当主体对象发生变化时,通知所有的观察者,并做成响应。
访问者模式:将一些操作封装,并施加于某种数据结构元素上,当修改封装的操作时,不会影响被施加的数据结构,即可以将不稳定的方法和稳定的数据结构隔离。如,将渲染算法封装为访问者模式的类,可将方法和数据隔离,如果某个数据结构的某个算法发生改变,则只需要修改算法,而不影响数据结构的元素。
文档链接
[金山文档] 3D游戏引擎基础.doc
3D游戏引擎入门课程——概述相关推荐
- 3D游戏引擎入门课程——场景管理
目录 写在前面 场景管理 场景管理概述与BVH 场景组织结构:场景树,八叉树和BSP树 场景树 八叉树 BSP树 场景管理实例 OGRE场景管理 OSG场景管理 Panda3D场景管理 写在前面 本专 ...
- 3D游戏引擎入门课程——角色动画
目录 写在前面 角色动画 角色动画概述和表示方法 角色的表示 骨骼蒙皮动画中重要的概念 角色动画实现实例 OGEE角色动画 Panda3D角色动画 写在前面 本专栏内容均为学堂在线慕课<3D游戏 ...
- 如何学好3D游戏引擎编程《转自3D游戏引擎网》
此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ79134054多希望大家一起交流与 ...
- 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
3D游戏引擎设计 实时计算机图形学的应用方法 第2版 目录 第1章 概述 1.1 图形硬件和游戏发展史 1.2 本书版本与软件发展史 1.3 章节导读 第2章 图形系统 2.1 基础知识 2.1. ...
- 3D游戏引擎系列十一
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- [原创]四大开源3d游戏引擎探究(前言上)
[声明] 本人水平有限,只对于长久以来研究的几个经典3d游戏引擎的设计思想.程序架构和应用行深入剖析的结果与游戏开发同行分享,文档有不妥之处请指出,期待我们的共同进步. 引擎名称: 1. ...
- Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统
Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统 1 粒子系统 1 粒子系统的历史 2 粒子系统的概念 1 位置,速度,大小,颜色,生命周期. 2 粒子系统的生命周期: 3 ...
- 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日
Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...
- 3D游戏引擎系列十二
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
最新文章
- ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签
- springBoot单元测试-模拟MVC测试
- python爬网盘数据犯法吗_python爬取疫情数据的源码
- Linux安装以太坊geth客户端
- 三分钟了解云存储网关 使用场景
- word文档的尺寸和字号对照表
- 华为手机桌面有计算机的数字,华为手机桌面上信息图标上显示的数字角标如何关闭...
- IP命令详解(强大的命令)
- 【CSS3】渐变背景
- 【Centos】EFAK(kafka-eagle)对ZK、Kafka可视化管理工具容器化安装与配置
- C语言--实现汉诺塔【图文讲解,附代码】
- springCloud-day04
- VSCode下配置R语言环境(Windows)
- 杨辉三角python输出
- android 使用mediaplayer播放视频的时候设置请求头header
- 软件测试可以做到多大岁数?
- 网络设备模拟器Packet Tracer教程
- 生鲜小程序制作价格 平邑网站建设网店制作app开发
- rnnlm源码分析 二
- 2014年国际注册信息系统审计师CISA考试相关信息