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

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            版權歸 FK .ctd FK_jims

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

            簡述:

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

            3D FPS起源跟圖形處理芯片有莫大的關系:ID soft公司的John kamark起用一篇60年代的數(shù)學論文架構一個BSP樹的3D視圖加速程序在PC機上運行3D視角圖形開始成行3D射擊游戲風氣。經(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ù)學3D世界 

            XXXXXX 

            1.3DirectX的基礎 

            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常用功用的類的一個庫;架構如下: 

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

               各文件大概解析:

               1.DXUT 是管理windows窗口的,還有一些線程的內存任務的管理

               2.DXUTEnum是管理設備的也就是顯卡,

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

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

                     一個架構圖:

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

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

               5.DXUTTexture是管理紋理的

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

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

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

               7.DUXTSound是聲音 
             

               4.1.2sample DXUT 

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

            4.2 一個盒子的世界 

                  meshCell 
             

            4.3增加一個東西

                  4.3.1 射擊球:ammo

                        struct AMMO_STATE

                 {

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

                 標志是否活動

                  位置

                   速度 

                   顏色

                   創(chuàng)建時間

                   生命周期

                   透明

                  }

                 

                 應該就是這些的了 
               

                 4.3.2 怪物:droid 

                        struct DROID_STATE

            {

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

                 標志是否活動

                 標志是否被擊中

                  位置

                  速度 

                   顏色

                   創(chuàng)建時間

                   生命周期

                   透明 

                              離camaer有多遠

                              動作狀態(tài)

            }; 

            4.4 游戲壯態(tài):

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

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

            4.5運動起來

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

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

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

            4.5UI

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

            4.6 基本程序架構 

             面向對象與全局變量? 

                  基本上整體的結構是使用面向對象思想的。

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

                  然而大局里是用全局變量來設計的

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

                        全局的結構體儲存要渲染的資源。 

               理由

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

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

            4.7全局整體架構解析

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

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


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

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

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

            Feedback

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

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

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

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

            99久久无色码中文字幕人妻| 久久天天躁狠狠躁夜夜网站| 欧美精品一区二区精品久久| 久久超碰97人人做人人爱| 国产精品福利一区二区久久| 久久九九有精品国产23百花影院| 99久久伊人精品综合观看| 久久久久亚洲精品男人的天堂| 怡红院日本一道日本久久| 久久精品国产乱子伦| 欧美日韩久久中文字幕| 99久久人妻无码精品系列| 91久久精品91久久性色| 久久亚洲AV无码西西人体| 少妇久久久久久久久久| 国产999精品久久久久久| 人妻无码久久一区二区三区免费| 国产巨作麻豆欧美亚洲综合久久 | 99久久婷婷国产综合亚洲| 久久性生大片免费观看性| 99久久婷婷免费国产综合精品| 午夜视频久久久久一区 | 亚洲AV无码久久精品色欲| 国产精品久久久久一区二区三区 | 久久AV高潮AV无码AV| 国产精品熟女福利久久AV| 久久精品麻豆日日躁夜夜躁| 亚洲欧美一区二区三区久久| 91精品国产91热久久久久福利 | 亚洲精品97久久中文字幕无码| 国产精品久久国产精麻豆99网站| 久久99这里只有精品国产| 国产精品久久久久乳精品爆| 青青草原综合久久| 国产2021久久精品| 国产午夜福利精品久久| 青草影院天堂男人久久| 国产精品久久久久久福利69堂| 国产亚洲欧美精品久久久| 国内精品久久久久影院免费| 久久国产免费观看精品3|