论文部分内容阅读
近些年,随着计算机和信息技术的飞速发展,3D技术的研发与应用都已经取得了巨大的突破;另一方面,随着计算机网络的日益普及,3D应用,如游戏、电影、互动娱乐、教学演示等等,更已经成为了普通大众工作和生活中的一部分。一个以立体3D技术取代2D平面技术,用3D虚拟技术来模拟现实世界的3D技术浪朝正在各个领域迅猛掀起。3D互动娱乐是使用3D立体空间的计算技术实现操作的一种3D应用,其代表就是3D游戏。从软件设计和开发的角度来说,3D互动娱乐的基础模型(人物,场景,基础地形)是使用三维设计软件,通过3D空间编程算法实现的。目前,大多数的2D或者3D互动娱乐应用都采用了卷轴技术,包括横向卷轴和纵向卷轴。卷轴技术允许互动娱乐应用程序一次性在屏幕上画出整个场景,然后随着用户的操作让场景进行水平或者垂直卷动,给用户的感觉就像看画轴一样,一只手翻开图画,一只手用于收拢,而图画本身是固定不动的。这种方式可以很大程度地节省系统的内存和显存空间,提高了互动娱乐应用的运行效率,也提供了更好的用户体验。而且,目前的电视机和显示屏大都为4:3或16:9这样的长宽比,也有利于卷轴技术的应用。但是,卷轴技术也有明显的缺点。它将用户的操作和互动空间限制在固定的坐标轴上,所有的操作仅能在应用指定的坐标方向上进行。这就极大限制了用户的操作范围,也限制了互动娱乐的空间娱乐性。如上所述,3D互动娱乐是计算机领域的热门技术,传统的2D卷轴射击类游戏逐渐被3D卷轴游戏所替代。但是,现有的3D射击类游戏在互动体验上比2D卷轴射击类游戏更难理解与操作。3D卷轴射击游戏应用需要针对3个轴的自由度的操控,每个轴向都需要进行方向控制。目前单个平面至少需要2套坐标系的回馈反应开发,一套是物体移动坐标,一套是自身旋转坐标。通常射击类游戏都必须要有场景或其他参照物来判断相关的距离和方向,由此而产生的视角跟随运动轨迹反应效果在3D系统中就非常难判断,这也影响了3D卷轴应用的互动趣味性。因此,需要通过3D无限轴技术来减少3D互动应用和游戏的操控难度,提高其普及性。3D引擎是软件开发和设计中的复用思想在3D开发中的主要表现形式,3D引擎把3D互动应用中最常见、最核心的功能进行集成,形成通用的框架平台。因此,在进行具体的3D互动应用开发时,开发人员就不需要从头做起,而可以直接利用3D引擎提供的各项功能,在短时间内开发出高质量的3D应用。另一方面,3D应用的运行效果经常会受限于硬件系统的性能,尤其是运行在手机登嵌入式设备上的3D互动应用,对高效率和高性能的追求为开发人员提出了更高的要求。这种高要求产生了更专业的分工:一部分高水平的开发人员从事性能要求很高的3D引擎的开发:其它的开发人员则利用引擎进行具体3D应用开发。3D应用的核心特点是创意和可玩性。因此,3D引擎的使用让3D应用的开发变得比较容易和简单,使得不懂编程的3D创作人员也能快速的实现他们的创意。随着手机性能的提高和3D图形技术在手机3D领域的应用,3D手机互动应用必将成为3D领域的一个亮点。本论文重点讨论如何实现在终端平台上基于3D引擎把以往2D卷轴互动转变成3D无限轴互动体验,同时移植到手机应用平台上运行。目前主要的手机平台包括iOS,Android,Symbian,Windows Mobile等。考虑到通用性和工作量,本文中我们讨论的是把3D无限轴的飞机射击游戏移植到目前智能手机领域的两款主流操作系统:Apple的iOS系统和Google的Android系统。怎样在3D x、y、z、中用无限轴来代替传统的2D纵向卷轴还要保持原有的互动性,实现开放中规避不通用的代码,这正是我们要分析与阐述的要点。因为本身移植方面有编程无法跨平台如android系统和iOS编程环境,贴图格式,动力学解算,图形人工AI无法互通等。因此在本文中通过讨论利用unity3D引擎来实现把旧有的2D卷轴互动转变成3D无限轴互动体验和跨平台实现。