网站大量收购闲置独家精品文档,联系QQ:2885784924

如果您想開發具有高品質繪圖及動畫的遊戲或模擬.docVIP

如果您想開發具有高品質繪圖及動畫的遊戲或模擬.doc

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

13. 加载 3D模型并让模型动作 如果您想开发具有高质量绘图及动画的游戏或模拟,应该要知道如何加载外部工具所产生的3D模型档案。您也需要让这些模型动起来,特别是那些代表程序中角色的模型。我们将会在本章检视在3D世界中加入3D对象并让角色活动的技术。 动画角色   角色动画是另一个对游戏开发极为重要的3D程序设计领域。在游戏中没有比与鲜活动态的角色互动更刺激的了(把您画在里面并且感觉身在其中又另当别论)。更棒的是,您可以用Microsoft DirectPlay API为游戏加上网络功能(您将会在?第十五章?看到),这样使用者就能和朋友面对面玩一个身历其境的游戏。动画角色能代表在远程玩游戏的的真实人物在您的3D世界中活动。 您可以用几种方式建立动态角色并加入您的3D世界。下面是最常用的两种方法: 用分成多节的3D角色并利用动态撷取数据使之活动。动态撷取通常是指记录人体动作供以后播放。由于显示是由真实世界产生,使用动态撷取数据来动作的3D角色看起来会非常的生动。不过由于人体各部份都是分离的,所以有时候会在关节处看到接缝,使得角色看起来不如单一网格的角色真实。   使用单网格角色并利用各种制作动态的3D工具产生动作,这些工具包括3D Studio Max和很多的附加组件。(我最常用的附加组件是LifeForms、Motion Manager、HyperMatter以及Character Studio)这些模型非常的真实,不过Microsoft DirectX并未提供加载它们并使之动作的设施。我们稍后涵盖的程序代码会替您实作这个功能。   在本书所附光盘中附有两个Credo Interactive(LifeForms系列角色动画软件的制造商)提供的角色,分别是一只有动作的马模型和一个有动作的人物模型。这些角色已经用LifeForms加上动作,并且输出3D studio(.3ds)档案格式的动态对象。我也已经把它们转成DirectX档案格式并且放在光盘的\models\credo目录中。 多节式角色   多节式(segmented)角色是一个所有关节都分离开来(如头、上臂、下臂、手、躯干)的3D模型。多节式角色在Direct3D中运作的效果非常好,因为您可以用Direct3D提供的转换(旋转、平移等等)直接处理模型中的身体组件。举例来说,您可以让肩关节转动某个角度,让角色的手臂上下动。依照Direct3D中转换的阶层特性,所有连接的身体组件(下臂、手等等)都会照预期的随着上臂移动。 能在3D角色上套用动态撷取数据的能力特别让人兴奋。我通常都是用Credo Interactive的角色动画软件LifeForms。这套软件不只威力强大而且容易使用。Credo提供了LifeForms的范例版本放在本书所附光盘中,让您体验它的威力与便利。Credo也提供另外两个3D角色模型,这些模型的身体组件都可以接受用LifeForms所建立的动态撷取数据。除此之外Credo也提供几组动作可以让您套在自己的3D角色上。 单网格角色   单网格角色在3D游戏和模拟中非常流行。使用这种技术时得建立一组单网格模型,让这些模型连续播放来产生动画。动画的每一格都是储存成代表身体外形的网格。所以要重现走路的动作时,必须储存一组代表完整行走序列中各个动作的3D模型。您手上有正要踏出一步和行进中身体不同姿势的模型,还有最后走完一步时的身体模型。 像HyperMatter和Character Studio等用于3D Studio Max的附加工具,可以让您产生单网格角色的动画。在Character Studio中可以把角色的单网格模型外皮加上骨架,让外皮的顶点能随着骨头生动地变化,来产生角色的动画。您可以利用这种技巧,把动态撷取(或手工制作)数据加到骨架组件上,让网格正确地移动。 能运用HyperMatter等工具变化网格本身的功能更是叫人兴奋不已,因为网格是代表角色的皮肤或衣服。利用HyperMatter可以让衣服像是布做的,会随着角色动作自然地弯屈。 立即模式少了一个重要的功能,它不能让提供开发人员加载游戏所需的多节式或单网格角色或物件。虽然您总是能用DrawPrimitive及各个顶点(如顶点缓冲区)实时建立3D对象,不过还是事先建立对象并制作动画比较合乎逻辑。Direct3D之所以不支持这个功能,主要原因是开发人员会用各种不同的方法来建立程序中的对象和角色。由于这些方法常会需要不同的档案格式和动画技巧,所以想为所有使用立即模式的开发者提供一个标准格式并不切合实际。另外档案格式(如3D Studio Max格式, .3ds)的复杂性也使得模型很难被正确的汇入。 随书光盘中的RoadRage程序能让您加载存成3D Studio格式的静态3D模型(家具和建筑物等)。实作这

文档评论(0)

book1986 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档