阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某娱乐类网站需要开发一个网络游戏项目。该项目采用三维动画软件完成游戏建模以及美工制作,采用面向对象的程序设计语言完成系统集成,通过客户端程序与服务器进行交互操作。
【问题1】为了提高客户端与服务器的交互效率,保证游戏画面流畅,对游戏场景中的三维模型有什么要求?为什么?
【问题2】该项目采用螺旋式生命周期模型完成开发工作,简述采用螺旋式生命周期模型进行多媒体应用系统开发的基本步骤。
【问题3】在面向对象程序设计语言中,对象的成员分为哪几类?可视化对象的外观属性通常由哪类成员来表示?鼠标事件和键盘事件通常由哪类成员来处理?对象之间如何进行通信?
【问题4】在Windows平台下通常使用的三维编程开发工具包括微软公司的三维图形应用程序接口(API)①和SGI公司的三维图形应用程序接口(API)②。
参考答案:
【问题1】为了保证画面流畅,提高交互率,三维模型应用使用低精度模型,即使用多边形面数尽量少的模型。
主要原因如下:
(1)网络游戏采用的是实时渲染技术,需要根据游戏玩家发出的指令进行实时渲染,高精度三维模型的实时渲染复杂度高,难以保证画面流畅。
(2)采用较低精度的三维模型需要通过网络传送的数据量也较小,便于提高网络传输效率。
【问题2】采用螺旋式生命周期模型进行多媒体应用系统开发的基本步骤如下:
(1)用户需求分析。
(2)基于已知的需求分析,构建一个应用系统原型。
(3)将原型交给用户使用。
(4)从用户那里获得反馈,更改用户需求。
(5)建立下一个原型,加入新的用户需求。
(6)重复上述过程,直到该应用软件完成。
【问题3】对象成员分为数据成员和函数成员两类。
可视化对象的外观属性通常定义为对象的数据成员。鼠标和键盘事件的处理通常定义为函数成员,函数成员通过事件驱动完成一定功能。对象之间通过消息传递进行通信。
【问题4】(1)Direct3D(2)OpenGL
解析:
本题考查多媒体应用--网络游戏的策划与设计的内容。
近年来国家863计划(如网络游戏通用引擎研究及示范产品开发、智能化人机交互网络示范应用等项目)引领了网络游戏的发展。网络游戏市场逐渐显现规模,以 网络游戏开发,运营为主体的产业链也逐步形成。 从网络游戏的基本结构看,主要包括引擎、脚本、图形用户界面GUI、模型、材质、音频、支撑结构等几个构成要素。
·游戏引擎 游戏引擎用于控制游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置到接收游戏者的输入,以及按照正确的音量输出声音等。
·图形用户界面 图形用户界面是图形和脚本的整合,用于传递游戏的视觉外观并接受用户的控制输入。
·模型 模型是游戏的灵魂,数字化三维模型的表现方法有使用线框图、三角形表面的多边形建模,使用实体通过布尔运算来建模,使用样条曲线和NURBS曲线建模等。
通常为提供更好的运行效果、交互效率和传输速度,要求控制模型的面数和结构复杂度等。 网络游戏设计的流程与一般游戏设计的相类似,通常包括构思、提案、原型、制作、整合、测试等几个阶段。由于网络游戏属于多媒体应用系统,该项目可以采用软 件工程开发方法来完成。
软件开发模型包括增量式、演进式、V型、锯齿型等,其中瀑布式、迭代式、螺旋式模型是开发基础,其他模型多是基于这三种模型的变化 而来的。在此采用螺旋式生命周期模型完成开发工作。 螺旋式模型主要采用周期性的方法开发系统,是瀑布模型的迭代方式。
使用螺旋式模型在早期就为用户提供部分系统原型,使用户可以对应用系统有一个初步的认 识,以便进一步提出需求,为下一个周期的开发奠定基础。系统开发过程每迭代一次,系统开发就前进一个层次。
通常螺旋式模型适合的项目类型有:用户对自己的 需求不是很明确;项目风险是主要的制约因素;项目可能发生一些重大变更;项目采用新技术等。
网络游戏的引擎开发中会使用C++等面向对象程序设计语言。在面向对象程序设计语言中,涉及到对象、类、继承、封装、多态性、消息等基本概念。 类是一种重要的用户自定义数据类型,类的成员分为数据成员和函数成员。
数据成员保存类用于操作的数据,函数成员用于对数据成员的操作,完成一定的功能。类 通过实例化生成对象,同一类生成的所有对象都具有类的数据成员和函数成员。 在可视化程序设计中,窗口、对话框、按钮等可视化对象的外观属性通常定义为对象的数据成员、如字体、字号、颜色等。
鼠标和键盘事件的处理通常定义为类的函 数成员,当鼠标或键盘事件发生时,就会激活对应的函数成员,实现相应的功能。 在面向对象程序设计语言中,对象之间的服务通信是通过传递消息来实现的。
一个对象通过向另一对象发送消息来请求服务。一个消息通常包括接收对象名、调用的 操作名和参数。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操 作。
在Windows平台下,通常使用的三维编程开发工具包括微软公司的三维图形应用程序接口(API) Direct 3D和SGI公司的三维图形应用程序接口(API) OpenGL。