欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    乒乓球单机版3D游戏设计报告.doc

    • 资源ID:3037806       资源大小:61KB        全文页数:18页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    乒乓球单机版3D游戏设计报告.doc

    乒乓球单机版3D游戏设计姓 名:学 号:班 级:课程名称:乒乓球单机版3D游戏设计综合实训提交日期:2009年06月18日概 要该游戏需要3ds Max、Photoshop等多种软件分部制作,然后将其全部载入到J2ME所编写的程序中,最后将游戏实现在屏幕上。本报告正是以实训项目为载体,对实训项目中用到的软件及各部分制作的成果进行了详细的阐述。目 录前言.4第一章 使用到的软件介绍. 51.1 Photoshop简介. 51.2 3Ds Max简介.51.3 Maya简介. 61.4 J2ME简介. 61.5 OPEN GL简介. 7第二章 游戏整体设计分析. 72.1 游戏的设计思想.72.2 游戏特点.8第三章 音效合成.83.1 寻找素材. .83.2 筛选素材.93.3 合成音效.9第四章 游戏制作.104.1 3D场景制作. .104.2 Maya人物模型制作.104.3 部分程序设计 .11结论.16参考文献.17致谢.18前 言本次实训需要完成的是一个基于PC电脑的单机版乒乓球游戏,但是我们做的是一个基于手机平台的手机游戏,玩家将使用以手机按键的操控方式甩动模拟挥拍,以感受真实的乒乓游戏。简单真实的乒乓球规则,简易的操作方式让玩家可以轻松上手,满足他们爱好休闲体育锻炼需求。本书第一章主要是对所使用到的各软件的介绍,第二章是对游戏中声音的处理,第三章则是对游戏的整个制作过程的叙述,并附上部分程序,使阅者对本游戏的编写有个更清楚的理解。第一章 使用到的软件介绍1.1 Photoshop简介Photoshop前身是名为Display的小程序 Thomas好几次试图更改这个软件的名称,但每次都没有成功.有趣的是,正所谓踏破铁蹄无觅处,得来全不费工夫,在一次偶然的演示时,他采用了一个人的建议,把这个软件命名为Photoshop.从此,Photoshop正式成为了这个软件的名称,直至今日. 从功能上看,Photoshop可分为图像编辑、图像合成、校色调色及特效制作部分。 图像编辑是图像处理的基础,可以对图像做各种变换如放大、缩小、旋转、倾斜、镜像、透视等。也可进行复制、去除斑点、修补、修饰图像的残损等。图像合成则是将几幅图像通过图层操作、工具应用合成完整的、传达明确意义的图像,这是美术设计的必经之路。photoshop提供的绘图工具让外来图像与创意很好地融合,成为可能使图像的合成天衣无缝。 校色调色是photoshop中深具威力的功能之一,可方便快捷地对图像的颜色进行明暗、色编的调整和校正,也可在不同颜色进行切换以满足图像在不同领域如网页设计、印刷、多媒体等方面应用。 特效制作在photoshop中主要由滤镜、通道及工具综合应用完成。包括图像的特效创意和特效字的制作,如油画、浮雕、石膏画、素描等常用的传统美术技巧都可藉由photoshop特效完成。而各种特效字的制作更是很多美术设计师热衷于photoshop的研究的原因。1.2 3Ds Max简介3D Studio Max,常简称为3ds Max或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。其前身是基于DOS操作系统的3D Studio系列软件,最新版本是2010。在Windows NT出现以前,工业级的CG制作被SGI图形工作站所垄断。3D Studio Max + Windows NT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如X战警II,最后的武士等。目前,3Ds Max已广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域。拥有强大功能的3DS MAX被广泛地应用于电视及娱乐业中,比如片头动画和视频游戏的制作,深深扎根于玩家心中的劳拉角色形象就是3DS MAX的杰作。在影视特效方面也有一定的应用。而在国内发展的相对比较成熟的建筑效果图和建筑动画制作中,3DS MAX的使用率更是占据了绝对的优势。根据不同行业的应用特点对3DS MAX的掌握程度也有不同的要求,建筑方面的应用相对来说要局限性大一些,它只要求单帧的渲染效果和环境效果,只涉及到比较简单的动画;片头动画和视频游戏应用中动画占的比例很大,特别是视频游戏对角色动画的要求要高一些;影视特效方面的应用则把3DS MAX的功能发挥到了极至。1.3 Maya简介Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是电影级别的高端制作软件。其售价高昂,声名显赫,是制作者梦寐以求的制作工具,掌握了Maya,会极大的提高制作效率和品质,调节出仿真的角色动画,渲染出电影一般的真实效果,向世界顶级动画师迈进。Maya 集成了Alias/Wavefront 最先进的动画及数字效果技术。她不仅包括一般三维和视觉效果制作的功能,而且还与最先进的建模、数字化布料模拟、毛发渲染、运动匹配技术相结合。Maya 可在Windows NI 与 SGI IRIX 操作系统上运行。在目前市场上用来进行数字和三维制作的工具中,Maya 是首选解决方案。1.4 J2ME简介J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。1.5 OPEN GL简介OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软ARC/INFO等等。值得一提的是,随着Microsoft公司在Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡(如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出,OpenGL将在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高性能图形工作站上运行的各种软件的机会。OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C+紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。第二章 游戏整体设计分析2.1 游戏的设计思想因为有在第一学年学习程序设计语言及完成两个学期综合实训项目训练所具备的程序设计能力基础,加上已经学过的游戏动画设计知识和技能、Open GL引擎设计的基本技能、J2ME手机游戏开发,将他们融合在一起,通过一个典型的基于Open GL引擎技术与J2ME的乒乓球单机版3D游戏设计,包括游戏策划、3D角色设计、游戏场景设计、特效制作、动作设计、音乐合成、引擎设计与测试。游戏开发中的程序开发主要由如下几个方面组成: 1图形引擎 2声音引擎 3物理引擎 4游戏引擎 5人工智能或游戏逻辑 6游戏GUI界面(菜单) 7游戏开发工具 8支持局域网对战的网络引擎开发 9支持互联网对战的网络引擎开发 2.2 游戏特点本游戏是在特定的地点即体育馆内进行的,框架严谨又不失自由开放,可设计的扩展性很强,为整个游戏的设计与制作打下坚固的基础。3D场景的制作极力冲击玩家的视觉感受,以便向玩家能够感到身历其境。游戏中主角便是玩家本人,打球技术,人物动态等等,各种性格的玩家全是因人而异的。主角的打球时,乒乓球的运动路线,有着逼真的视觉效果。PK是玩家游戏生活中的重要组成部分。游戏不提倡玩家进行恶意PK,但也不会因此而取消PK设定,这在本游戏中有着很深的体会,因为乒乓球的基本要球就是两人对打,这就势必会引起玩家强烈的胜利欲望。 第三章 音效合成3.1 寻找素材声音是人类感知自然的重要媒介,人类的听觉和视觉起到认识自然的重要作用在多媒体产品中,声音不必不可少的对象,其主要表现形式是语音、自然声和音乐。通过对声音的运用使人们更加形象、直观、容易地认识产品所表现的内容。在多媒体应用系统、多媒体广告、视频物技等领域,声音的作用显得更加重要。音频是人们用来传递信息最方便、日子熟悉的方式,是多媒体系统使用最多的信息载体。多媒体技术的发展,使计算机处理音频信息达到比较成熟的阶段。音频信号可以携带大量精确的信息。音效是指有特殊效果的声音,例如,汽车声、鼓掌声、打碎碗及玻璃的声音等。效果声的制作最直接的方法是录制自然的声音。例如,打开麦克风,找一群人来拍手,就可得到鼓掌声。音频文件的来源主要有以下几种形式:数字化声波、MIDI合成、来源于声音素材库。其中,数字化声波和MIDI合成是我们不常应用到,我们所需要用的音乐基本上都是来源于声音素材库中,这些声音素材库当然也是我们从网上辛苦的找来的,然后放在一起,它之所以才称为库。3.2 筛选素材当然,从网上找来一些音乐素材也不一定正是我们所需要到的,它肯定有部分地方不是我们所制作的游戏所适用的,比如,几个音乐中有些部分是比较不错的,放在我们的游戏中是在好不过的了,还有,有些音乐断断续续的,让人听起来很不舒服,这时怎么办呢?所以,就要用到一些音频处理软件。我们主要运用的是:Cool Edit pro软件,它可以实现很多功能,例如,声音的叠加,杂音的删除,降噪、混响、变速等。还有,音频文件的格式不同,它还可以分为波形WAV、音频文件MIDI、CD音频文件和压缩音频文件等。其中,MP3是目前最热门的音乐文件格式。这是一种间频压缩技术,采用MPEG Layer-3标准对WAV音频文件进行压缩而成,MP3是MPEG-1 Layer-3。其特点是能以较小的比特率、较大的压缩北达到近乎完美的CD音质。在选择音乐格式的时候要特别注意这个,要不然会遇到很多麻烦,这点我们做的就比较好。3.3 合成音效Cool Edit pro是音频处理软件,它是美国Syntrillium Software Corporation公司开发的一寺功能 强大、效果出色的多轨录音和音频处理软件。Cool Edit pro是一个功能强大的音乐编辑软件,可以运行在Windows/98/NT/XP操作系统中,能高质量地完成录音、编辑、合成等多种任务,只要拥有它和一台配备了声卡的计算机,也就等于同时拥有了一台多轨数码录音机,一台音乐编辑机和一台专业合成器。第四章 游戏制作4.1 3D场景制作3D乒乓球游戏场景(场景图1-场景图3)主要是用3ds Max软件制作,PS进行贴图处理。乒乓球游戏场景讲究简单、舒适、颜色柔和,设置一目了然!让游戏者能够放松心情,看清比赛场地,能够很快的进入游戏境界。我们的场景制作充分体现了这一点。在3ds Max内创建标准基本体、样跳线、使用灯光渲染、照相机动画、编辑优化节点、基本变形、调节色彩制作场景内的设备。在材质编辑其中,设置贴图并运用与实体。在制作过程中遇到的问题主要在于贴图在渲染中显示不出来,灯光不到位,导致黑一块(显示不出贴图)白一块,颜色差异大,效果图差。主要原因在于贴图没有贴在物体双面,选择双面后,问题基本解决。第二问题就是摄像机的动画制作,使用路径追踪,把握不好路径,照相机运动起来让场景动画显得眼花缭乱,不适合游戏者了解游戏场地,所以,在经过不多的修改路径,才达到最终效果。第三个问题就是动画导出,要加载入手机游戏当中,就必须使用JSR-184(*.M3G)格式,在导出对话框中必须选择所使用的摄像机参数,否则出错。场景图-4为最先制作的场景,但由于导出问题,舍去了观众椅和赛场中的帷幕。这也是我们制作组的遗憾,以后要加强的知识。4.2 Maya人体模型制作人物头部的美化,调整人物模型的头部,在编辑窗口的图像上右键单击,在弹出的菜单中选择UV命令,这时模型的贴图表面显示的的不是多边形顶点,而是多边形的UV编辑点。给人物头部模型的脖子、耳朵和脸部两侧指定一个Blinn材质。使用颜色选择器的吸管工具来吸取图像中人物脸部的颜色,为选取的这些面赋予皮肤的颜色。同样的方法,选取模型正面头发所有的面,将头发图像贴到选取的面上。下面就是手指的美化,增加手背的线段,再次细分表面建模。制作人物的手指甲,组装人物,将人物的身体模型和头部模型显示出来,再将头部模型放置在身体模型上。将手的模型放在胳膊上,完成人手模型建模。调整整个人物模型的细节部分,如头发,眼睛,手指等部分,直至完成整个模型的细化。赋予人物皮肤颜色。创建Blinn材质并选择脸部皮肤的颜色,将材质赋予给模型的手、胳膊和腿部等露出的皮肤的部分。这样,一个完整的人体模型就创建好了。4.3 部分程序设计/定义一个MenuCanvas类,继承Canvas类,实现paint()方法,实现主菜单界面 class MenuCanvas extends Canvas implements Runnable /获得lowFont字体的长度 final Font lowFont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_LARGE); /获得highFont字体的长度 final Font highFont=Font.getFont(Font.FACE_MONOSPACE, */*/定义一个 GameOptionsCanvas类,以实现游戏设定功能public class GameOptionsCanvas extends Canvas implements Runnable private boolean isPlay; public boolean playOrplayer; private Image image; private Image image1; /private long delay; /PlayerCanvas playerCanvas=new PlayerCanvas(); /获得lowFont字体的长度 final Font lowFont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_LARGE); /获得highFont字体的长度 final Font highFont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE); /设置字体的颜色 final int lowColor=0x0000E00D; final int highColor=0x00FF0000; final int highBGColor=0xFFFF00; /画布的宽 int width; /画布的高 int height; /菜单起始位置的高度 int startHeight; /整个菜单的高度 int menuHeight; /菜单选项之间的高度 final int spacing=highFont.getHeight()/2; /菜单内容 private final StringmainMenu="初级玩家","普通玩家","高级玩家" private final StringplayerMenu="球员设定","球局规则","坏境设定" /实现paint(Graphics g)方法,在画布上一些对象 public void paint(Graphics g) / g.drawImage(image,0,0,g.HCENTER|g.TOP); g.setColor(0x00FFFF00); /g.fillRect(0,0,width,height); g.drawImage(image1,0,0,g.LEFT|g.TOP); if(playOrplayer) /将选中的菜单变为大号字体 for(int i=0;i<mainMenu.length;i+) if(i=menuIndex) g.setColor(highBGColor); g.fillArc(width/2-55,startHeight+(i*highFont.getHeight()+spacing,110,highFont.getHeight(),0,360); / g.fillArc(width/2-55,startHeight+(i*highFont.getHeight()+spacing,mainMenumenuIdx.length(),highFont.getHeight(),0,360); g.setColor(highColor); g.setFont(highFont); g.drawString(mainMenui,(width-highFont.stringWidth(mainMenui)/2,startHeight+i*highFont.getHeight()+spacing,20); else g.setFont(lowFont); g.setColor(lowColor); g.drawString(mainMenui,(width-lowFont.stringWidth(mainMenui)/2,startHeight+i*highFont.getHeight()+spacing,20); else g.drawImage(image,0,0,g.LEFT|g.TOP); /将选中的菜单变为大号字体 for(int i=0;i<playerMenu.length;i+) if(i=playerIndex) g.setColor(highBGColor); g.fillArc(width/2-55,startHeight+(i*highFont.getHeight()+spacing,110,highFont.getHeight(),0,360); / g.fillArc(width/2-55,startHeight+(i*highFont.getHeight()+spacing,mainMenumenuIdx.length(),highFont.getHeight(),0,360); g.setColor(highColor); g.setFont(highFont); g.drawString(playerMenui,(width-highFont.stringWidth(playerMenui)/2,startHeight+i*highFont.getHeight()+spacing,20); else g.setFont(lowFont); g.setColor(lowColor); g.drawString(playerMenui,(width-lowFont.stringWidth(playerMenui)/2,startHeight+i*highFont.getHeight()+spacing,20); /定义低级事件处理keyPressed(),获取按键所对应的事件 protected void keyPressed(int code) if(playOrplayer) /如果单击向上键,则菜单上移 if(getGameAction(code)=Canvas.UP&&menuIndex-1>=0) SoundPlayer soundPlayer=new SoundPlayer(1);/定义音效对象 menuIndex-; /如果单击向下键,则菜单下移 else if(getGameAction(code)=Canvas.DOWN&&menuIndex+1<mainMenu.length) SoundPlayer soundPlayer=new SoundPlayer(1);/定义音效对象 menuIndex+; /如果单击“FIRE”键,则程序进入相应的功能模块 if(getGameAction(code)=Canvas.FIRE) if(mainMenumenuIndex="初级玩家") playerIndex=0; playOrplayer=false; start(); else if(mainMenumenuIndex="普通玩家") playerIndex=0; playOrplayer=false; start(); else if(mainMenumenuIndex="高级玩家") playerIndex=0; playOrplayer=false; start(); else /如果单击向上键,则菜单上移 if(getGameAction(code)=Canvas.UP&&playerIndex-1>=0) SoundPlayer soundPlayer=new SoundPlayer(1);/定义音效对象 playerIndex-; /如果单击向下键,则菜单下移 else if(getGameAction(code)=Canvas.DOWN&&playerIndex+1<playerMenu.length) SoundPlayer soundPlayer=new SoundPlayer(1);/定义音效对象 playerIndex+; /如果单击“FIRE”键,则程序进入相应的功能模块 if(getGameAction(code)=Canvas.FIRE) if(playerMenuplayerIndex="球员设定") else if(playerMenuplayerIndex="球局规则") else if(playerMenuplayerIndex="坏境设定") / else if(playerMenuplayerIndex="游戏设定") / 结 论一个月的时间很快就过去了,关于乒乓球单机版3D游戏的设计与制作的综合实训已经结束了,在此次实训中我们完成了从资料收集、方案确定、任务分配、模型制作、程序编写、程序调试与修改等一系列任务,最后终于设计出了现在的乒乓球3D游戏,很开心,收获很大,算是圆满地完成了实训任务。通过完成本次实训,使我熟练和掌握了这学期所学的有关课程中的一些主要知识点和应用点。可以说是所学有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。 这次实训具有极强的实践性,使我加强了灵活应用理论知识的能力及编写程序设计的技能。我们经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。 当然,此次任务的完成,最主要的是同学之间的团结协作精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。“实践是检验真理的唯一标准”,没有实践,就不会发现和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。明白真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。 参考文献1. Maya高级角色动画教程 吕新欣 编著 MAYA 2007-12-012. Maya材质、贴图与渲染精粹 王以斌 MAYA 2007-12-043. Adobe Photoshopcs2标准培训教材 人民邮电出版社 Adobe公司北京代表处主编1. 4. J2ME 游戏开发 人民邮电出版社 编著 海民5. J2ME无线开发实用教程 清华大学出版社 忤博 张立捐 池瑞楠 编6. Java网络应用编程入门 人民邮电出版社 朱喜福,郭逢昌,赵玺 编 7. Java程序设计 清华大学出版社 朱喜福 编著8. 产品造型表现 清华大学出版社 张玉亭 编著致 谢本综合实训项目是在xx老师的悉心指导下完成的,他对本次实训工作倾注了大量的心血。四周来,xx老师深厚的专业背景、严谨的治学态度、平易宽厚的人格作风使我受益匪浅。感谢您对我的悉心教诲,使我顺利地完成了实训任务,在实训任务完成之际,衷心感谢xx老师对我的关心和培养!感谢我同组同学及同班同学的帮助和关心!最后向审阅技术报告的老师致以深深的谢意!

    注意事项

    本文(乒乓球单机版3D游戏设计报告.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开