• <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)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

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

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

            簡述:

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

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

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

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

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

            1.3D 視圖渲染世界: 

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

            1.1DirectX 簡單概述: 

            XXXXXX 

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

            XXXXXX 

            1.3DirectX的基礎(chǔ) 

            XXXXXX 

            1.4實用DirectX 

            XXXXXX 

            1.5GPU編程 

            XXXXXX 
             

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

            2.1AABB 
             
             
             
             

            3.聲音世界 
             
             
             

            4.一個簡單的游戲

            4.0 簡述:

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

            4.1 DXUT engine 

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

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

               各文件大概解析:

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

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

               3.DXUTgui是一個簡單的用戶界面庫

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

                     一個架構(gòu)圖:

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

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

               5.DXUTTexture是管理紋理的

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

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

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

               7.DUXTSound是聲音 
             

               4.1.2sample DXUT 

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

            4.2 一個盒子的世界 

                  meshCell 
             

            4.3增加一個東西

                  4.3.1 射擊球:ammo

                        struct AMMO_STATE

                 {

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

                 標志是否活動

                  位置

                   速度 

                   顏色

                   創(chuàng)建時間

                   生命周期

                   透明

                  }

                 

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

                 4.3.2 怪物:droid 

                        struct DROID_STATE

            {

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

                 標志是否活動

                 標志是否被擊中

                  位置

                  速度 

                   顏色

                   創(chuàng)建時間

                   生命周期

                   透明 

                              離camaer有多遠

                              動作狀態(tài)

            }; 

            4.4 游戲壯態(tài):

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

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

            4.5運動起來

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

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

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

            4.5UI

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

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

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

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

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

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

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

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

               理由

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

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

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

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

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


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

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

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

            Feedback

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

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

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

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


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


            少妇人妻综合久久中文字幕| 国产午夜精品理论片久久影视 | 亚洲中文精品久久久久久不卡| 久久精品无码一区二区三区| 国产精品久久网| 久久精品视频免费| 久久国产三级无码一区二区| 99久久免费国产精品| 国产精品伊人久久伊人电影| 国产午夜精品久久久久九九| 久久本道久久综合伊人| 欧美与黑人午夜性猛交久久久 | 久久精品国产一区二区| 久久亚洲2019中文字幕| 久久人妻少妇嫩草AV蜜桃| 久久久久久国产精品美女| 久久99国产综合精品女同| 777久久精品一区二区三区无码| 国产高清美女一级a毛片久久w| 久久久久综合中文字幕 | 国产亚洲色婷婷久久99精品| 久久夜色精品国产亚洲| 日产精品99久久久久久| 性欧美大战久久久久久久久| www久久久天天com| 国产91久久综合| 久久精品国产色蜜蜜麻豆| 国产精品久久午夜夜伦鲁鲁| 欧美午夜A∨大片久久| 久久人人妻人人爽人人爽| 91麻豆精品国产91久久久久久 | 日韩人妻无码一区二区三区久久| 亚洲国产二区三区久久| 久久精品免费全国观看国产| 国产精品无码久久久久久| 热综合一本伊人久久精品| 99久久精品午夜一区二区| 婷婷国产天堂久久综合五月| 久久综合九色综合欧美狠狠| 伊人色综合久久天天人手人婷 | 无码人妻少妇久久中文字幕|