网络游戏的开发设计VC.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络游戏的开发设计VC

网络游戏的开发设计VC 刀锋战士游戏引擎结构 ?从严格意思上来说,它不是一个真正的游戏引擎系统。因为不具备4.1所讲的游戏引擎功能。设计它的目的是先提供一种框架,然后以这种框架为低层接口,不断地扩充其功能。同时我注意到,游戏程序中许多功能都有其相似性,如“走路”,“跑步”,“打开背包”等。因此,可以在该引擎基础上封装这些操作,提供一种接口。为了使这种接口更加简单形象,就需开发其特有的脚本语言,同时提供编译系统来解释这些脚本。例如,在程序中实现打开背包操作,只需写脚本语言”Open backpack”。由编译系统解释后提交给游戏引擎底层来渲染背包图片。这样游戏引擎就和游戏本身独立,在该引擎基础上可就方便地开发各种应用程序。当然,这只是对刀锋战士游戏引擎后续的升级提出的想法,目前还没提供这种功能。引擎中的3D渲染类 ?空荡的小城镇,迷漫着浓雾,死亡气息充满了整个城镇。在拐角处的大教堂,透露着出邪恶的灯光。我们的英雄出现了,他的目标就是深入教堂内部,驱除邪恶的诅咒。在英雄左旁,伫立着两着雕像,从外型的划痕明显看出这个城镇刚经历了残酷的战争。过了不多久,从远出缓缓走来两个人,他们是英雄的伙伴,他们互相交谈一番后,大步走向了教堂…… 以上便是刀锋战士出现的场(www.L 毕业论文参考网原创论文)景,从以上描述,便能勾画出设计该游戏所涉及的技术。“迷雾”、“灯光”,、“教堂,雕像”等需要材质,灯光,纹理,摄像头,Mesh等3D技术。而英雄伙伴的出现是来自另两个客户端玩家的加入,因此,需要提供网络支持。在刀锋战士引擎中,以上的处理都封装了相应的类,为CGraphics  3D渲染类CTexture类、纹理类 一个纹理实际上就是一个位图,用于将一幅图片贴到一个3D图元表面。 该类主要方法: (表1)  纹理类方法 Load?装载图片 Create?创建纹理对象到一个Graphics图元表面 Blit?贴图CMaterial类、材质类 材质用来描述多边形如何反射光线或看起来会发出光线。本质上来说,材质属性就是在渲染时通知Direct3D象下面这样来处理多边形: ?(1)多边形如何反射环境光和漫射光。 ?(2)如何处理镜面高光。 ?(3)多边形是否看起来会发出光线。 该类主要方法: (表2)  材质类方法 SetDiffuseColor?设置漫射光颜色 SetAmbientColor?设置周围环境光颜色 SetSpecularColor?设置镜面光 SetEmissiveColor?设置发射光源颜色 SetPower?设置光源强度 CLight类、灯光类 灯光用来照亮场景中的物体。Direct3D使用四种类型的灯光:点光源(point light)、聚光灯(spotlight)、方向光(directional light)和平行点光(parallel-point light)。 该类主要方法: (表3)  灯光类方法 SetType?设置光源类型 Move?移动光源 SetDiffuseColor?设置漫射光颜色 SetSpecularColor?设置镜面光 SetAmbientColor?设置周围环境光颜色 SetRange?设置平行光间隔 SetFalloff?设置散射光散开度CMesh类、网格类 它是一种模型,是将3D物体与贴图预先做好,放在内存中再由引擎读入。Mesh有两种:动态Mesh和静态Mesh。动态Mesh(Animation Mesh)和动画搭配,一般都是用来表现人物角色;静态Mesh(Static Mesh)是那些没有必要做出动画的普通Mesh,游戏中绝大多数的摆设、物件都是这一类。 该类主要方法:(表4)网格类方法 Load?装载位图模型(一个完整的物体由几个位图块组成) ParseXFileData?解析.X格式文件(X文件存放位图块信息,用来组成一个3D模型。 MapFramesToBones?把3D位图模型转化为骨骼模型,实现物体的动作 CVertexBuffer类、顶点缓冲类 通过不同的顶点组合可形成各种3D图形

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档