《洞穴Portal》是一款以HL2引擎制作的FPS游戲,該作與其他FPS在游戲方法上有很大不同,以往的FPS都是以使用各種武器屠殺敵人為主,而《洞穴Portal》在游戲方式上顯得非常聰明,他不追求殺戮的快感,也不追求畫面的華麗。游戲的關鍵在于利用空間傳送,打開空間入口,完成各種迷題。
本作強調(diào)解迷,挑戰(zhàn)玩家們的邏輯思維能力。在游戲中,主角的武器就是一把可以打開通往任意空間入口的傳送槍,傳送槍不但可以打開空間入口,還可以挪動地上的物品攻擊敵人,空間將再也無法束縛你的腳步,能神不知鬼不覺的消滅敵人!
Valve還宣布,Valve將隨PC版《半條命2:第二章》、PS3和X360版《半條命2》一起推出這款全新的單人游戲。
先來熟悉下Portal游戲怎么玩
http://v.youku.com/v_show/id_XODk3MTMwOA==.html
現(xiàn)在討論3d實現(xiàn)方法,看圖
$ESO4C%7BUDNS(PUBQA_thumb.jpg)
圖中,圓圈代表玩家,方塊代表2個門,從圓圈發(fā)出的直線代表玩家行進方向,重力向下,側向圖
這個圖表示在地面打開2個門,玩家從一個門進入,進入到另外一個世界
要實現(xiàn)這個圖,需要建立4個世界
![]DT4$O[HUJ1F04ZS_SMDEYS ]DT4$O[HUJ1F04ZS_SMDEYS](http://www.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/Portal_A405/%5DDT4$O%5BHUJ1F04ZS_SMDEYS_thumb.jpg)
這是更加復雜的例子,注意看左上角,玩家在墻上和地上分別打了洞。從墻上的洞進入,會從地面上出來
要實現(xiàn)圖,需要建立4個世界
![]RVSNZKH19@I89__9KKUENS ]RVSNZKH19@I89__9KKUENS](http://www.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/Portal_A405/%5DRVSNZKH19@I89__9KKUENS_thumb.jpg)
這是一個特例,玩家在世界的平臺上打洞,和在世界邊緣打了個洞。雖然是建立2個世界,但是左邊的世界明顯和右邊的世界不是等大的
其實Portal的原理,我們早在叮當(現(xiàn)在叫多啦A夢)的任意門就實現(xiàn)了,但是打開門的世界與進入前的世界處于2個地方。當在同一個地方開2個洞,就是portal的實現(xiàn)
要實現(xiàn)Port有幾個難題
1. 怎么進入到另外一個世界
看到另外一個世界很簡單,通過另外一個Camera渲染出來做成貼圖即可
但是要能進入,那必須是幾何空間是通透的
2. 到底構建幾個世界?
其實根據(jù)在游戲中的分析與一些資料的透露,建立2個世界即可
3. 切換到另外一個世界時,我(攝像機)不需要更換?
實際看下來可以是,我進入到另外一個世界,而另外一個世界進入到我的世界
4. 怎樣處理世界遞歸?
這是個有趣的話題,現(xiàn)實世界也存在這樣的問題,比如說,你用2面鏡子對著,眼睛從當中的一面看另外一面,就會形成視覺遞歸,只不過你不能進入到那個世界而已
類似于本文開頭的遞歸世界圖片,這個在Portal游戲中是有設置遞歸層級的,應該是受到渲染限制的,因此世界創(chuàng)建的個數(shù)應該與遞歸層級有關系。