当前位置: 首页 > article >正文

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

http://www.lryc.cn/news/2420858.html

相关文章:

  • 2024年Android最新Android系统在超级终端下必会的命令大全,我的腾讯安卓面试经历分享
  • Linux服务和守护进程管理:systemctl、service等命令的使用教程和技巧
  • VC++6.0、VS2003、vs2005、vs2008程序依赖DLL
  • 深入浅出hibernate摘录2
  • 网传腾讯薪酬规则调整:允许降薪
  • BOOT.INI文件详解
  • 130道ASP.NET面试题
  • 计算机视觉——顶会、顶刊
  • 三套方案7日打造骨感美人
  • HTML5动漫网页设计——少女漫画心(HTML+CSS+JavaScript+Bootstrap)
  • win8如何快速关闭135\445端口,预防onion永恒之蓝病毒
  • 与窗体及消息有关的API
  • SQLServer 连接字符串大全
  • nProtect GameGuard(簡稱GameGuard或GG,其驅動程序為GameMon.des)是由韓國INCA互聯網開發的遊戲反作弊軟體。
  • 获取树莓派4系统信息
  • GBK 编码
  • 地心一号-基于STM8的超迷你自平衡小车-DIY套件
  • ARPU与ARPPU 的概念
  • 物联网实训Day2
  • information security -- 网络拓扑
  • 0基础学IT有有哪些步骤
  • 河南科技大学计算机科学与技术分数线,河南科技大学2020年录取分数线(附2017-2020年分数线)...
  • DLL文件 VC++Matlab混合编程( 调用DLL)
  • 使用VMware Workstation安装Windows10虚拟机(超详细,每一步都有)
  • 揭秘软文外链代发产业
  • 张驰课堂:六西格玛绿带培训证书的作用
  • 实战:小程序购物商城
  • Python]网络爬虫
  • app自动化测试面试题(含答案)
  • python开发的软件有哪些,python一般用来开发什么