Portal游戏的实现理论分析

http://www.cppblog.com/sunicdavy/archive/2009/07/16/90210.html

 

《洞穴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游戏中是有设置递归层级的,应该是受到渲染限制的,因此世界创建的个数应该与递归层级有关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值