• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            3D FPS

            1234567890

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              57 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(10)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            版權(quán)歸 FK .ctd FK_jims

            0.3d fps (第一人稱射擊游戲) 

            簡述:

            當(dāng)今游戲業(yè)的發(fā)展最為風(fēng)光獨(dú)好的莫過于MMORPG(大型多人在線游戲了),這類游戲往往投入巨大,然而收益也是非常巨大。最好的例子就是當(dāng)今最為流行的網(wǎng)游,暴雪公司出品的魔獸世界,一個(gè)巨大的4維世界:3D空間+時(shí)間維度。而這些游戲的前面卻是現(xiàn)在不起眼的單機(jī)3D FPS游戲。(從編程角度看)。 

            3D FPS起源跟圖形處理芯片有莫大的關(guān)系:ID soft公司的John kamark起用一篇60年代的數(shù)學(xué)論文架構(gòu)一個(gè)BSP樹的3D視圖加速程序在PC機(jī)上運(yùn)行3D視角圖形開始成行3D射擊游戲風(fēng)氣。經(jīng)歷到現(xiàn)在,3D FPS游戲已經(jīng)是一個(gè)相對(duì)成熟的制作產(chǎn)業(yè)。代表作有孤島危機(jī),

            使命召喚4,使用成熟的3D game engine制作,效果非常逼真。 

            而現(xiàn)代一個(gè)普通3D FPS 游戲的制作基本上是使用成熟的3D game engine制作的了。3D ga me engine目前市場上有好多,各種各樣,開源,免費(fèi),收費(fèi)都有,收費(fèi)的有高價(jià)的也有低價(jià)的,相差也比較遠(yuǎn)。目前出名的有unreal game engine && ID Tech game engine 當(dāng)然游戲還要其他策劃,美工,劇本的非程序員角色。 

            原理上game engine就是3D graphics + physics + audio + input + script (圖形+物理+聲音+輸入+腳本)5大組件組成, 下面我將一個(gè)一個(gè)講解下,并尋找如何組合它們的方法: 
             

            1.3D 視圖渲染世界: 

            概述:游戲的圖形當(dāng)然的用圖形庫,兩大主流:DirectX && OpenGL. 目前基于windows平臺(tái)的游戲居多。所以DirectX占優(yōu)。我想介紹的是DirectX. 為什么不直接用引擎,因?yàn)橐娣庋b的是也是DirectX,道理一樣。明白DirectX就可以對(duì)引擎的了解達(dá)到一種相當(dāng)?shù)某潭取?/font> 

            1.1DirectX 簡單概述: 

            XXXXXX 

            1.2DirectX的數(shù)學(xué)3D世界 

            XXXXXX 

            1.3DirectX的基礎(chǔ) 

            XXXXXX 

            1.4實(shí)用DirectX 

            XXXXXX 

            1.5GPU編程 

            XXXXXX 
             

            2.物理世界(碰撞檢測) 

            2.1AABB 
             
             
             
             

            3.聲音世界 
             
             
             

            4.一個(gè)簡單的游戲

            4.0 簡述:

                  簡單的游戲,在一個(gè)盒子里實(shí)現(xiàn)到有目標(biāo)人物的射擊;

            4.1 DXUT engine 

               4.1.1DirectX SDK 里面包含了一個(gè)簡單的封裝D3D常用功用的類的一個(gè)庫;架構(gòu)如下: 

               您的瀏覽器可能不支持顯示此圖像。 

               各文件大概解析:

               1.DXUT 是管理windows窗口的,還有一些線程的內(nèi)存任務(wù)的管理

               2.DXUTEnum是管理設(shè)備的也就是顯卡,

               3.DXUTgui是一個(gè)簡單的用戶界面庫

                 DXUTsettingDlg就是一個(gè)已經(jīng)格式化的一個(gè)管理顯示設(shè)備的對(duì)話框

                     一個(gè)架構(gòu)圖:

                           您的瀏覽器可能不支持顯示此圖像。 

               4.DUXTmesh3D網(wǎng)格文件的管理

               5.DXUTTexture是管理紋理的

               6.DXUTmis是一個(gè)雜類,有管理數(shù)據(jù)結(jié)構(gòu)體的,有時(shí)間器的,有攝象機(jī)的,有方向管制的。

                     您的瀏覽器可能不支持顯示此圖像。 

               其中的CFirstPersonCamera 就是第一人稱視角攝象機(jī),用起來很方便 

               7.DUXTSound是聲音 
             

               4.1.2sample DXUT 

               您的瀏覽器可能不支持顯示此圖像。 
             
             

            4.2 一個(gè)盒子的世界 

                  meshCell 
             

            4.3增加一個(gè)東西

                  4.3.1 射擊球:ammo

                        struct AMMO_STATE

                 {

                   4元數(shù)世界坐標(biāo)轉(zhuǎn)化  

                 標(biāo)志是否活動(dòng)

                  位置

                   速度 

                   顏色

                   創(chuàng)建時(shí)間

                   生命周期

                   透明

                  }

                 

                 應(yīng)該就是這些的了 
               

                 4.3.2 怪物:droid 

                        struct DROID_STATE

            {

                4元數(shù)世界坐標(biāo)轉(zhuǎn)化  

                 標(biāo)志是否活動(dòng)

                 標(biāo)志是否被擊中

                  位置

                  速度 

                   顏色

                   創(chuàng)建時(shí)間

                   生命周期

                   透明 

                              離camaer有多遠(yuǎn)

                              動(dòng)作狀態(tài)

            }; 

            4.4 游戲壯態(tài):

                   一個(gè)游戲應(yīng)該有個(gè)場景管理的結(jié)構(gòu)體,表明當(dāng)前玩家處于游戲的什么狀態(tài),例如,玩家處在設(shè)置游戲的顯示設(shè)置時(shí),那么游戲玩的其他資源就應(yīng)該不那么快創(chuàng)建;

                     按照我設(shè)想。。就是一個(gè)標(biāo)志位:玩時(shí)為1,設(shè)置其他東西為2,結(jié)束為3. 

            4.5運(yùn)動(dòng)起來

                     當(dāng)創(chuàng)建怪物與球體后,就應(yīng)該初始化它們存在的狀態(tài)參數(shù),然后根據(jù)物理定律把握住它們的狀態(tài)(速度,位置,重量。。。)進(jìn)行運(yùn)算再返回結(jié)果給它們。 

                     適當(dāng)?shù)奈锢韰?shù)設(shè)置:

                     由于是簡單游戲,所以基本上設(shè)置一下世界引力系數(shù),再加上一些碰撞后的缺失,磨擦系數(shù)就可以了 

            4.5UI

                     用微軟提供的DXUT庫里面的就基本上足夠了。 
             
             

            4.6 基本程序架構(gòu) 

             面向?qū)ο笈c全局變量? 

                  基本上整體的結(jié)構(gòu)是使用面向?qū)ο笏枷氲摹?/font>

                        像攝象機(jī),封裝好一個(gè)類(DXUT庫提供)網(wǎng)格也是。 

                  然而大局里是用全局變量來設(shè)計(jì)的

                        全局的數(shù)組儲(chǔ)存球體信息與怪物信息;

                        全局的結(jié)構(gòu)體儲(chǔ)存要渲染的資源。 

               理由

                        因?yàn)橐紤]到全局變量可以減少函數(shù)參數(shù)堆棧出入帶來的時(shí)間損失!(3D是每秒楨楨循環(huán),調(diào)用函數(shù)頻繁)

                        當(dāng)然還有檢索怪物跟球體,把握它們的句柄是相當(dāng)迅速的 

            4.7全局整體架構(gòu)解析

              總有來說就是依靠在DXUT庫上做個(gè)簡單的程序 

                  您的瀏覽器可能不支持顯示此圖像。


            源代碼是Directx sdk中的XACTgame。。。本人自信有能力做,不過時(shí)間緊了,要交論文了

            時(shí)間08年3.31號(hào)!
            估計(jì)以后要增加一下函數(shù)的解析
            DXUT里面sample里的運(yùn)行機(jī)制
            兩個(gè)球體帶速度在3D里碰撞的數(shù)學(xué)問題
            球體與面的碰撞問題
            還有GPU里的FX文件的一些VS,PS的解析

            posted on 2008-03-31 12:16 DK_jims 閱讀(782) 評(píng)論(4)  編輯 收藏 引用

            Feedback

            # re: 3D FPS 論文 正式版 1 2008-03-31 12:22 DK_jims
            人氣太差,自己回一個(gè)。
            可恥的自我!其實(shí)是做不出!不是時(shí)間緊!
            大學(xué)生一篇論文就是這樣一晚功夫就可以完成,畫幾張圖,吹牛幾句~
            自己BS自己,又不得不陰敬一下自己!  回復(fù)  更多評(píng)論
              

            # re: 3D FPS 論文 正式版 1 2008-03-31 12:29 DK_jims
            配錯(cuò)最后一張圖,遲一個(gè)星期改,注 最后一個(gè)圖搞錯(cuò)了  回復(fù)  更多評(píng)論
              

            # re: 3D FPS 論文 正式版 1 2008-03-31 22:44 hakuci
            看不懂!!太高深了  回復(fù)  更多評(píng)論
              

            # re: 3D FPS 論文 正式版 1 2009-03-06 09:41 nn
            .........  回復(fù)  更多評(píng)論
              


            只有注冊用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            无码国内精品久久综合88| 亚洲va中文字幕无码久久不卡| 久久精品极品盛宴观看| 97久久精品人人做人人爽| 99国产精品久久| 久久国产热精品波多野结衣AV| 久久精品免费一区二区| 国产69精品久久久久APP下载| 久久午夜综合久久| 青青热久久国产久精品| 久久一区二区三区99| 久久综合九色综合久99| 久久精品桃花综合| 亚洲午夜久久久影院| 亚洲国产美女精品久久久久∴| 亚洲午夜久久久久久噜噜噜| 中文无码久久精品| 99热成人精品热久久669| 老司机国内精品久久久久| 精品国产青草久久久久福利| 久久久久亚洲AV无码专区网站 | 亚洲精品乱码久久久久66| 久久九九久精品国产免费直播| 久久SE精品一区二区| 奇米综合四色77777久久| 久久久久综合网久久| 久久久久亚洲精品男人的天堂| 久久久这里有精品| 99热成人精品热久久669| 久久www免费人成看国产片| 99久久国产亚洲综合精品| 久久久久亚洲精品无码蜜桃| 一级做a爰片久久毛片16| 久久天天躁狠狠躁夜夜不卡| av无码久久久久不卡免费网站| 久久久久无码中| 久久精品中文騷妇女内射| 久久综合色之久久综合| 99精品国产在热久久| 久久笫一福利免费导航 | 欧美丰满熟妇BBB久久久|