3D游戏引擎架构设计基础

抱歉,您来晚了,本次开课已结束!
加入课程 12人 收藏
分享到

课程介绍

Computer games have become an emerging industry for rapidly developing. Designing games needs comprehensive technologies together with computer graphics, artificial intelligence, multimedia, and other computer branches. 3D game engine is an important component for the development of game meanwhile it is a more complex system. This course will introduce the architecture of 3D game engines and design principles of their main parts for seniors of universities who want to be occupied in game design. The contents of the course include the basic conception and design principle of 3D game engines, the architecture of 3D game engines, the design methods of scene management, resource management, lens and rendering frame, and the interactive control technology of 3D game engines. The course also lectures about collision detection, physical effects, sound, memory management and scripting for scalability. Finally, by learning the open source 3D game engine, such as OGRE and Panda3D, the students will understand the design principle of architecture for 3D game engine.
计算机游戏已成为飞速发展的新兴产业,2014年中国游戏市场达到千亿元以上。另一方面,高水平大学开设游戏专业或游戏设计课程还远远不能满足市场需要,高端游戏设计人才十分紧缺。这门课程希望通过MOOC的授课方式,让更多的游戏设计爱好者学习游戏设计的关键技术。华南理工大学软件学院自2007年已设立软件工程的数字媒体设计方向,开设了4门课程和1门游戏设计实训,积累了丰富的课程经验和游戏设计实训的实践教学经验。  游戏设计是集计算机图形学、人工智能、多媒体等多个计算机分支于一体的综合技术。3D游戏引擎的开发是一个庞大复杂的系统工程,同时也是游戏设计的重要组件。本课程将介绍3D游戏引擎的架构和各主要部分的设计,让本科生掌握3D游戏引擎的基本概念和架构设计原理,掌握场景管理、资源管理、镜头和渲染等主要功能设计方法,掌握交互式游戏控制技术,学习了解碰撞检测、物理特效、声音以及脚本等要素的引擎扩展功能的设计,并通过讲解开源的游戏引擎OGRE和Panda3D,使学生理解游戏引擎架构的设计原理和基本方法。

课程大纲

教学计划:
1. 课程学分:2.5学分
2. 课程学时数:48学时=32学时讲授+16学时实验;
   其中MOOC视频40个,约600分钟,MOOC面授24学时;
   课后实验以小组项目式学习方式完成开源引擎的分析实践;
   视频和面授将在8周内完成,每周一次3学时的面授课程。
3. 课程内容:
   本课程共包含10章内容,各章内容和分配的视频单元个数如下:
   第一章 3D游戏引擎概述(1个视频单元)
   第二章 3D游戏引擎架构设计原理和设计模式(4个视频单元)
   第三章 3D游戏引擎的场景管理(8个视频单元)
   第四章 3D游戏引擎的资源管理(3个视频单元)
   第五章 角色动画控制设计(3个视频单元)
   第六章 3D游戏引擎的实时渲染和镜头控制(4个视频单元)
   第七章 交互式游戏控制技术与游戏设计脚本语言(3个视频单元)
   第八章 内存优化管理和插件扩展技术(2个视频单元)
   第九章 剖析开源游戏引擎OGRE(6个视频单元)
   第十章 剖析开源游戏引擎Panda3D(6个视频单元)
4. 先修课:
   该课程的先修课为C/C++、数据结构、计算机图形学和OpenGL、软件架构设计。
5. 授课方式:
   课程的游戏引擎架构设计的基本概念、原理和设计方法等内容以讲授为主,辅以练习和习题。引擎的各主要功能设计和交互式控制技术以程序案例为主,辅以实践练习。视频讲授以知识点为单位,制作约40个共约600分钟的短视频,包含大项知识点9个,约80个小知识点。课程完成习题数约30个,习题和上机实践都结合讨论课和答疑课。每个大项知识点设一个以小组项目式学习方式完成开源引擎的源代码分析实践,使学生在掌握理论内容的同时,了解代码的实现技术。本课程会充分利用游戏的视觉感官和控制效果,多用视频的方式进行实例、练习和实践等训练,做到生动有趣,积极调动学生自主学习的积极性。

学习目标

本课程是为培养高端游戏设计人才开设的,游戏引擎是游戏设计的核心通用组件,如何构建3D游戏引擎架构是游戏引擎设计的重要一环,也是游戏引擎开发的难点。该课程是面向计算机相关专业的大学高年级学生,或具有C++程序设计基础的游戏设计爱好者,课程的目的是使学生了解游戏引擎架构的设计原理和方法,通过开源游戏引擎OGRE和Panda3D,学习游戏引擎主要功能的设计方法,将来可以成为游戏引擎软件架构设计师。

学习要求

要求学生掌握3D游戏引擎的基本概念和设计原理,掌握3D游戏引擎的基本架构设计模式,学习3D游戏引擎的场景管理设计方法、资源管理设计方法、镜头和渲染帧率的控制方法、基于事件的交互式游戏控制设计方法和内存管理等,了解3D游戏引擎的声音、脚本、物理特效等扩展功能的插件设计方法。能够运用C++和OpenGL的API等基础库设计自己的3D游戏引擎。

考核标准

课程的考核成绩由三部分组成:
   平时作业和测验成绩(15%)+实验成绩(25%)+课程论文成绩(60%)
   
   其中平时成绩由阅读视频的时间统计,课堂面对面讨论,作业完成情况和测验结果等内容综合确定;实验成绩是由16学时的程序实践完成情况决定。

教材教参

1. 《3D游戏引擎设计:实时计算机图形学的应用方法(第2版)》,[美]David H. Eberly著,徐明亮、李秋霞、许威威译,清华大学出版社,
2.《游戏引擎架构》,[美]Jason Gregory著,叶劲峰译,电子工业出版社,2014
3.《开源商业化三维游戏引擎大揭秘》,刘晖,林欣,李强编著,清华大学出版社,2013