久久建筑網(wǎng)(i5h4u.cn)致力打造一個(gè)專業(yè)的建筑學(xué)習(xí)分享平臺(tái)! 用戶登錄 免費(fèi)注冊(cè) | 投訴舉報(bào) 幫助 | 會(huì)員中心 | 上傳資料
您現(xiàn)在的位置: > 建筑 > 專業(yè)資料 > >>

xna之X文件(3Dmax).doc

資料評(píng)價(jià):
☆☆☆☆☆
生成時(shí)間:
2021-08-23
下載權(quán)限:
免費(fèi)會(huì)員
文件大。
1,017.0KB
文件類型:
.doc
瀏覽次數(shù):
2
建筑論壇:
上傳會(huì)員:
下一秒
所屬欄目:
專業(yè)資料
下載地址:
資料是由會(huì)員“下一秒”上傳到本平臺(tái),如有不妥請(qǐng)聯(lián)系客服。違規(guī)侵權(quán)投訴
xna之X文件(3Dmax) ,xna加載3D模型之X文件詳解。
歡迎下載!
簡單動(dòng)畫-坦克1   這篇文章主要參考了清華2009年1月版的《Direct3D和XNA游戲開發(fā)基礎(chǔ)》第15章。
階層關(guān)系   在3D動(dòng)畫程序中的人物、動(dòng)物以及機(jī)器,可以設(shè)計(jì)為由不同的部件組成,例如一輛坦克可由3個(gè)部件組成,包括坦克車身、可旋轉(zhuǎn)的炮塔以及上下可運(yùn)動(dòng)的火炮。
這些部件一般都是由建模軟件創(chuàng)建的,它們采用建模坐標(biāo)。
程序?qū)脒@些部件后,必須把這些部件擺到合適的位置,例如要把坦克車身、可旋轉(zhuǎn)的炮塔以及上下可運(yùn)動(dòng)的火炮,擺放到合適位置以形成坦克的形狀。
這些工作是由初始世界變換矩陣來完成的,每個(gè)部件都有自己的初始變換矩陣。
所有部件在完成同一動(dòng)作時(shí)(例如坦克向前運(yùn)動(dòng)),其他部件可能還要完成不同的動(dòng)作,也許炮塔要同時(shí)旋轉(zhuǎn),火炮還要隨著炮塔旋轉(zhuǎn)同時(shí)進(jìn)行上下運(yùn)動(dòng)。
一般使用父子關(guān)系來描述這種關(guān)系,整個(gè)坦克運(yùn)動(dòng)是"父"運(yùn)動(dòng),炮塔旋轉(zhuǎn)是"子"運(yùn)動(dòng),而火炮的上下運(yùn)動(dòng)相對(duì)于炮塔旋轉(zhuǎn)又是"子"運(yùn)動(dòng),這種關(guān)系被稱作階層關(guān)系。
每個(gè)部件的運(yùn)動(dòng)都是由世界變換定義的,部件的世界變換要包括所要求的運(yùn)動(dòng),即部件本身的運(yùn)動(dòng)以及隨父部件的運(yùn)動(dòng)。
現(xiàn)在要解決的問題是如何寫出每個(gè)部件的世界變換。
  假設(shè)火炮的上下運(yùn)動(dòng)用矩陣Mup表示,炮塔旋轉(zhuǎn)用矩陣Mr表示,坦克前后運(yùn)動(dòng)用矩陣Mgo表示,坦克車身、可旋轉(zhuǎn)炮塔以及上下可運(yùn)動(dòng)的火炮的完整世界變換矩陣分別用bodyM、TrurretM和gunM表示,它們相應(yīng)的初始世界變換矩陣分別是bodyIM、TurretIM和gunIM,它們之間有如下關(guān)系:   bodyM=bodyM*Mgo   TurretM=TurretIM*Mr*Mgo   gunM=gunIM*Mup*Mr*Mgo   從以上公式可以看出,一個(gè)部件的完整世界變換矩陣包括三部分:部件本身的初始變換矩陣、部件本身運(yùn)動(dòng)變換矩陣和部件的父部件運(yùn)動(dòng)變換矩陣,用公式表示如下:   部件完整變換矩陣:部件初始變換矩陣*部件運(yùn)動(dòng)變換矩陣*部件父部件運(yùn)動(dòng)變換矩陣   例如上面的坦克,bodyM是坦克車身的完整世界變換矩陣,Mgo是坦克車身運(yùn)動(dòng)的變換矩陣,坦克車身是根部件,沒有父部件;TurretM是炮塔的完整世界變換矩陣,Mr是坦克炮塔運(yùn)動(dòng)的變換矩陣,炮塔父部件運(yùn)動(dòng)變換矩陣為Mgo;gunM是火炮的完整世界變換矩陣,Mup是坦克火炮運(yùn)動(dòng)的變換矩陣,炮塔父部件運(yùn)動(dòng)變換矩陣為Mr*Mgo。
請(qǐng)完全理解這些關(guān)系,因?yàn)楹竺娴睦又幸玫竭@些關(guān)系。
  本例用一個(gè)長方體模擬坦克車身,用圓柱體模擬炮塔,用一個(gè)細(xì)圓柱體模擬上下可運(yùn)動(dòng)的火炮,一輛坦克由這三部分組成,能完成坦克前后運(yùn)動(dòng)、炮塔旋轉(zhuǎn)及火炮上下運(yùn)動(dòng)三種動(dòng)作。
所以首先在3DS中創(chuàng)建三個(gè)模型,分別代表車身,炮塔和炮管,如下圖所示。
請(qǐng)注意朝向,可參考前一篇文章:X文件的導(dǎo)出系列2-紋理和朝向。
         XNA代碼
1.在Game1中添加如下變量: //分別代表坦克車身、炮塔和火炮框架 ModelBodyModel,TurretModel,GunModel; //三個(gè)部件的完整世界變換矩陣 MatrixBodyMatrixWorld,TurretMatrixWorld,GunMatrixWorld; //三個(gè)部件的初始世界變換矩陣 MatrixinitialBodyMatrixWorld,initialTurr


  xna之X文件(3Dmax) 下載地址
進(jìn)入下載地址列表

猜你還喜歡

建筑工程: 施工組織設(shè)計(jì) 圖紙 論文 方案 安全資料 工藝 建筑軟件 節(jié)能 專業(yè)資料 合同 交底 文本 建筑考試 教程
園林景觀: 園林施工方案 園林論文 園林考試 園林表格 景觀專業(yè)資料 園林圖紙 景觀設(shè)計(jì)
暖通空調(diào): 暖通專業(yè)資料 暖通軟件 技術(shù)交底 暖通論文 暖通考試 暖通圖紙 暖通施工方案 暖通軟件
水利工程: 水利施工方案 水利考試 水利專業(yè)資料 水利軟件 水利論文
結(jié)構(gòu)工程: 結(jié)構(gòu)施組方案 結(jié)構(gòu)圖紙 結(jié)構(gòu)軟件 結(jié)構(gòu)課件 工藝工法 結(jié)構(gòu)考試 結(jié)構(gòu)專業(yè)資料 結(jié)構(gòu)論文 其他資料
電氣工程: 電氣施工方案 電氣圖紙 電氣軟件 電氣論文 電氣課件 智能建筑 電氣專業(yè)資料 電氣考試
建筑給排: 給排施組方案 技術(shù)交底 給排水專業(yè)資料 污水處理 消防工程 給排水圖紙 給排水論文 給排水軟件
安裝工程: 設(shè)備安裝圖紙 安裝工程專業(yè)資料 安裝施組設(shè)計(jì) 專題
工程造價(jià): 造價(jià)法規(guī) 造價(jià)視頻 造價(jià)指標(biāo) 建筑造價(jià) 造價(jià)考試 水利造價(jià) 電力造價(jià) 裝修造價(jià) 其他 安裝造價(jià) 路橋造價(jià) 市政造價(jià) 園林造價(jià) 造價(jià)軟件 造價(jià)表格 清單實(shí)
工程監(jiān)理: 監(jiān)理交底 施工監(jiān)理 監(jiān)理文檔 旁站監(jiān)理 監(jiān)理考試 合同表格 監(jiān)理細(xì)則 監(jiān)理大綱 監(jiān)理總結(jié) 監(jiān)理月報(bào) 監(jiān)理規(guī)劃
路橋工程: 合同表格 路橋工藝 路橋論文 路橋交底 安全資料 路橋標(biāo)書 路橋?qū)I(yè)資料 路橋軟件 其他資料 路橋圖紙 路橋施工方案 路橋考試
裝飾裝修: 裝修施工方案 裝修圖紙 室內(nèi)設(shè)計(jì) 施工工藝 裝修技術(shù)交底 裝修表格 裝修資料 建筑文庫