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

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

                《洞穴Portal》是一款以HL2引擎制作的FPS游戲,該作與其他FPS在游戲方法上有很大不同,以往的FPS都是以使用各種武器屠殺敵人為主,而《洞穴Portal》在游戲方式上顯得非常聰明,他不追求殺戮的快感,也不追求畫面的華麗。游戲的關鍵在于利用空間傳送,打開空間入口,完成各種迷題。

                本作強調解迷,挑戰玩家們的邏輯思維能力。在游戲中,主角的武器就是一把可以打開通往任意空間入口的傳送槍,傳送槍不但可以打開空間入口,還可以挪動地上的物品攻擊敵人,空間將再也無法束縛你的腳步,能神不知鬼不覺的消滅敵人!

                Valve還宣布,Valve將隨PC版《半條命2:第二章》、PS3和X360版《半條命2》一起推出這款全新的單人游戲。

             

            先來熟悉下Portal游戲怎么玩

            http://v.youku.com/v_show/id_XODk3MTMwOA==.html

             

            現在討論3d實現方法,看圖

            GK}TW)$ESO4C{UDNS(PUBQA

            圖中,圓圈代表玩家,方塊代表2個門,從圓圈發出的直線代表玩家行進方向,重力向下,側向圖

            這個圖表示在地面打開2個門,玩家從一個門進入,進入到另外一個世界

            要實現這個圖,需要建立4個世界

             

            ]DT4$O[HUJ1F04ZS_SMDEYS

            這是更加復雜的例子,注意看左上角,玩家在墻上和地上分別打了洞。從墻上的洞進入,會從地面上出來

            要實現圖,需要建立4個世界

             

             

            ]RVSNZKH19@I89__9KKUENS

            這是一個特例,玩家在世界的平臺上打洞,和在世界邊緣打了個洞。雖然是建立2個世界,但是左邊的世界明顯和右邊的世界不是等大的

             

            其實Portal的原理,我們早在叮當(現在叫多啦A夢)的任意門就實現了,但是打開門的世界與進入前的世界處于2個地方。當在同一個地方開2個洞,就是portal的實現

             

            要實現Port有幾個難題

            1. 怎么進入到另外一個世界

            看到另外一個世界很簡單,通過另外一個Camera渲染出來做成貼圖即可

            但是要能進入,那必須是幾何空間是通透的


             

            2. 到底構建幾個世界?

            其實根據在游戲中的分析與一些資料的透露,建立2個世界即可

             

            3. 切換到另外一個世界時,我(攝像機)不需要更換?

            實際看下來可以是,我進入到另外一個世界,而另外一個世界進入到我的世界

             

            4. 怎樣處理世界遞歸?

            這是個有趣的話題,現實世界也存在這樣的問題,比如說,你用2面鏡子對著,眼睛從當中的一面看另外一面,就會形成視覺遞歸,只不過你不能進入到那個世界而已

            類似于本文開頭的遞歸世界圖片,這個在Portal游戲中是有設置遞歸層級的,應該是受到渲染限制的,因此世界創建的個數應該與遞歸層級有關系。

            posted on 2009-07-16 11:40 戰魂小筑 閱讀(620) 評論(1)  編輯 收藏 引用 所屬分類: 游戲開發技術

            評論

            # re: Portal游戲的實現理論分析 2010-05-02 16:28 rSkip
            在我看來:
            當兩個洞都創建好的時候 就可以通過位置關系求得兩個變換矩陣,只需要創造出通過變換矩陣變換之后的另兩個個自己,在和世界進行交互時同時用三個自己進行判斷。(當然要判斷是否是穿過洞進行交互的)
            我對HLSL并沒有什么了解 不過我還是比較相信利用光線追蹤一類的技術可以實現世界遞歸。如果當前像素顯示的是穿過洞的圖像 就把射線按照變換矩陣變換 繼續向前 直到顯示的不是洞或者當前射線長度達到一定值停止。

            這樣的話:
            1 維護好三個自己的關系 保證一個是真實的自己 另兩個是穿過洞的自己 穿過洞的時候適時刪除舊的 創建新的 在游戲系統方面只需要一層遞歸應該就夠用了
            2 按照上面的說法 1個世界就夠用了
            3 利用光線追蹤一類的技術就可以 在射線穿過洞的時候進行變換
            4 同3  回復  更多評論
              

            久久人人妻人人爽人人爽| 亚洲国产天堂久久综合| 国产欧美久久久精品| 久久最近最新中文字幕大全 | 97精品依人久久久大香线蕉97| 免费无码国产欧美久久18| 久久九九精品99国产精品| 久久久久人妻一区精品| 久久精品国产亚洲一区二区| 一本一本久久a久久精品综合麻豆| 久久永久免费人妻精品下载| 久久午夜无码鲁丝片秋霞 | 国产精品一区二区久久精品无码 | 久久久久亚洲av综合波多野结衣| 亚洲精品蜜桃久久久久久| 久久精品国产久精国产一老狼| 亚洲AV无码久久精品成人| 久久久亚洲欧洲日产国码二区 | 91精品国产综合久久四虎久久无码一级| 成人国内精品久久久久一区| 久久久精品久久久久影院| 久久r热这里有精品视频| 亚洲日韩中文无码久久| 武侠古典久久婷婷狼人伊人| 青青草原1769久久免费播放| 久久夜色精品国产噜噜噜亚洲AV | 91精品免费久久久久久久久| 91久久精品91久久性色| 久久国产一区二区| 无码任你躁久久久久久老妇| 久久国产精品99国产精| 伊人久久大香线蕉综合5g| 国产成年无码久久久久毛片| 青青草国产精品久久久久| 国产 亚洲 欧美 另类 久久| 久久综合九色综合欧美就去吻| 久久婷婷色综合一区二区| 久久99精品久久只有精品| 久久久久久久综合综合狠狠| 久久人人爽人人爽人人片AV麻豆 | 天天影视色香欲综合久久|