论文部分内容阅读
当今网络游戏行业发展迅速,游戏引擎作为游戏软件开发的核心工具也是不断推陈出新,它为游戏开发者提供底层应用接口。利用游戏引擎可以方便游戏开发,使得游戏开发者只关注逻辑的开发,而不需对引擎内部结构进行研究,从而大大提高开发效率。本文首先介绍了游戏引擎的发展史以及国内外研究发展的状况、引擎的基本原理以及数学和图形学的相关知识。其次采用面向对象的设计方法,对引擎的功能模块进行独立封装,以DLL的方式进行输出,这样开发者只需要使用引擎各个模块提供的接口进行开发。本文主要做了以下四个方面的工作:(1)重点研究引擎的场景管理。使用八叉树和AABB包围盒对场景物件进行管理,从而进行可视性检测,并对渲染状态的排序,以减少流水线的中断次数,提高渲染效率。(2)在角色动画方面,引擎支持骨骼动画和关键帧动画以及Morph动画三种动画模式。此外,本文还对游戏中广泛应用的粒子技术进行了研究,并制作了一个动态的支持脚本的粒子系统的编辑器,可以进行可视化编辑。(3)在引擎的架构设计方面提出了按照层次进行开发的思想,各个层次成为一个独立的系统。比如,引擎和游戏的分离等。同时本文在系统设计方面还充分考虑了设计模式方面的应用,注重模块的接口设计,提高了系统的可扩展性和维护性,便于以后的系统升级。(4)作为本文研究的实践,通过引擎提供的API制作了一个简单的3D游戏程序,并介绍了开发游戏程序的基本流程。