论文部分内容阅读
近几年来,我国游戏产业发展迅猛。3D游戏引擎则是整个游戏产业的核心技术。3D游戏引擎技术是一门综合技术,涉及了计算机图形学、网络、人工智能等领域,是当前研究的热点之一。
本文将游戏引擎分为底层引擎和高层引擎。底层引擎主要提供内存管理、资源管理、数学库、日志管理等基本功能。高层引擎则实现场景的管理和渲染、角色动画、图形用户界面(GUI)以及反映游戏世界中的规律的规则系统。本文依照这个框架,对3D游戏引擎的各个模块做了研究和探讨,并实现了其中的部分功能。本文所做的主要研究工作和创新性体现在以下几个方面:
1) 设计并实现了一个基于内存管理的资源管理器。资源管理器负责将各种游戏资源从磁盘载入到内存,并管理这些资源占用的内存空间。此外,本文实现了LRU的资源调度策略。
2) 传统的地形渲染算法着重于如何更快、更真实的渲染一块地形,而没有考虑到超大规模地形不太可能单独作为一块地形载入内存并渲染。对于超大规模地形的渲染,本文采用了分块渲染的方法并提出了“可视区域快速定位方法”以及“基于扫描线填充的地形渲染算法”。
3) 本文分析了场景图在场景管理中的缺点,提出了先对场景均匀分块,然后用场景图来管理每个分块的方法。这种方法能够在碰撞检测的初步检测阶段排除大量不相交的物体对。此外,它能够和分块地形系统有机结合起来。
4) 本文深入研究了A*寻路算法,并在此基础上提出了二维平面上的矢量寻路算法,将A*算法的应用范围从二维网格拓展到二维的矢量图。
5) 设计并实现了一个由Lua脚本语言控制的GUI系统。
此外,在研究分析的基础上,本文对一些关键问题提出了一些可能改进或实现的假设。本文实现了游戏引擎中的部分模块,经过测试,这些模块的性能基本满足实时性的要求。
本文的研究工作分别得到下述项目的资助:
1.国家自然科学基金项目“分布交互三维视景行为-特征建模方法研究”,批准号60073057。
2.国家科技型中小企业技术创新基金项目“分布式交互三维视景开发平台”,立项代码:04c26214201285,批准文号:国科发计字(2004)460号。