3d手机游戏考试一些重点.doc
文本预览下载声明
1. 游戏引擎就是用于控制游戏核心功能的主程序,它将各类游戏中通用的功能模块封装到一起。2. M3G是一个专门为移动设备设计的高性能的3D图形引擎,可以把它看做是3D游戏引擎的引擎,基于J2ME的3D手机游戏由M3G、3D手机游戏引擎、外围程序或图形等三部分组成。3. MIDlet程序有三个状态:活跃(active)、暂停(pause)、销毁(destroyed)4. MID1.0与MID2.0分别提供了Canvas类与GameCanvas类。只有支持MIDP2.0的移动平台才能够运行3D游戏。5. Input()按键测试、Logic()逻辑判断、Paint()屏幕刷新6. 游戏动作是由MIDP定义的一种抽象的概念,它对应游戏中具体的某种操作。一个游戏动作可以对应多个按键。7. 应用管理软件(AMS)是通过MIDlet框架来控制应用程序的。相关联的方法就是在MIDlet框架中定义并调用GameCanvas框架类的对象。8. 摄影机、光源、实物就是3D场景中基本元素。通过控制这些元素的位置和属性就……
除实物模型与摄影机外,3D游戏场景中还需要能够照明的光源,
M3G中定义了Camera类,专门用于管理3D游戏中的摄影机,
‘投影’是指将三维场景映射到二维平面的过程,
‘投影’过程可采用多种映射算法,不同的映射算法可将同一个三维场景映射成不同的二维图像。
M3G定义三种投影方式:透视投影、平行投影、自定义投影
透视投影:只有在平截头体中的实物才能被摄影机所拍摄。
平行投影:正平行投影和斜平行投影
调用Camera类的setParallel方法,设置平行投影方式
Public void setPerspective(float fovy(显示区域的高度), float aspectRatio, float near, float far)
调用Camera类的 setGeneric方法,设置成自定义投影方式,
Public void setGeneric( Transform transform(映射算法矩阵))
在3D游戏中,光源本身并不可见,但它发出的光却能影响游戏世界中的实物。
M3G定义了Light类,专门用于管理3D游戏世界中的光源。
Light类定义了4种光源:点光源(由一个中心向周围发射)、聚光源(光线沿着一个圆稚体向外发射)、环境光源(并不存在)、平行光源(平行照射下来的)。
调用setSpotAngle方法,设置聚光灯的照射范围,照射范围(0度~90度),angle参数表示该圆锥体的轴线与母线的夹角,
调用setSpotExponent方法,设置聚光灯的聚光度,public void setSpotExponent( float exponent) 取值范围为0—128
调用Light类的setColor方法,设置光源的发光颜色,public void setColor(int RGB)
调用Light类的setIntensity方法,设置光源的高度,
衰减系数=1/(C+L*d+q*d2 )
在M3G中规定,只有点光源和聚光灯光源发出的光线才具有衰减特性;
在3D游戏世界中,每个三角形的位置、颜色等属性都由它的三个顶点信息所决定。
保存三棱锥的模型顶点信息具体步骤:1,顶点的位置信息 2,顶点的颜色信息 3,保存顶点的所有信息
调用VertexBuffer类的getPositions 或getColors方法,获取模型顶点的位置或颜色
如果没有设置模型顶点的颜色,系统会将模型顶点颜色设置成默认值。 setDefaultColor方法
Public TriangleStripArray(int[] indices(顶点的索引数组),int[] stripLengths(三角形带长度数组))
手机游戏中,通常使用.png格式的文件来存储平面图像。
Image类是由MIDP所定义的用于存储平面图数据的类。
Image类定义了createImage方法,用于读取图像数据。
Public static Image createImage(String name)
Name:图像资源的名称,通常是图片文件的路径与文件名。
getFormat:获取二维图像的像素格式。
getWidth和getHeight:获取二维图像的像素宽度与高度。
在M3G世界中,可以将Image2D对象设置为游戏背景,
M3G还定义了Background类,用于管理游戏的背景。
setImage方法:设置背景图像
public void setImage(Image2D image)
image:像素格式必须为RGB或RGBA;参数可以为null,表示不设置背景图像。
如果没有设置
显示全部