《纪念碑谷》空间结构设计设想:portal的传送的实现

来源:GameRes游资网 发布时间: 2016-03-01 14:00:00

  文 / 吴伟迪

  《纪念碑谷》空间结构复杂,完全不受物理定律的制约,这样的空间结构是如何建模和实现的呢?不是业内人士(虽然很想入行),也没有真正做过一款游戏,但感觉这个问题挺有意思的,试着说说自己的推测和思路吧,求各位指教。

  首先我设想如果我要做一个单独的这样的关卡,可能会用什么方式来实现这个效果。最直接的恐怕就是用类似portal的传送的方式了,也就是说实际的三维空间并没有改变,只是把人物用「传送门」传送到了相应的「看起来连在一起」的格子而已。也就是这样:

《纪念碑谷》空间结构设计设想:portal的传送的实现 ...



  所以说,要实现这个效果,只要在特定的两个格子之间设定一个规则:当画面转动到某个角度时,A和B这两个格子之间的传送门变为可用,就行了。在此基础上去计算路径的话,应该就没问题了。
但是,虽然纪念碑谷中能旋转的角度只有四个,但那么多关卡,如果一对对格子来设定传送规则的话也太麻烦了。所以这肯定有一个通用的规则才对。

  于是,经过对地铁站台地砖的一番研究后,我把格子放到坐标系中,从最简单的情况考虑,就得出了下面这个最基础的坐标图:

《纪念碑谷》空间结构设计设想:portal的传送的实现 ...



  灰色是一个柱子,橙色的两个格子分别是处于第二层和第三层。对应的蓝色是从柱子上这两个橙色格子能够走到的格子。(只能向后方走,因为前方这两个格子会被柱子的侧面挡住)

  第二层的(1 , 1 , 2)格子能走到的是第一层的(2 , 3 , 1)和(3 , 2 , 1);

  第三层的(1 , 1 , 3)格子能走到的是第一层的(3 , 4 , 1)和(4 , 3 , 1)以及第二层的(2 , 3 , 2)和(3 , 2 , 2)

  于是归纳一下,容易得出这么一个公式A:
  当角色处于格子(x , y , z)时,它向后方两个方向能走到的格子分别是(x+n , y+n+1 , z-n)和(x+n+1 , y+n , z-n)。(n >= 0)

  然后我很惊喜地发现当n = 0的时候就正好是在同一层走动的情况,于是我们目前就有了一个挺不错的「万能移动公式」了。

  不过目前这个公式还只能向后面的两个方向走,于是我们把公式整理一下,把xyz定在后方的格子上,把公式反一反,就得到了向前走的公式B:

  当角色处于格子(x , y , z)时,它向前方两个方向能走到的格子分别是(x-n , y-n-1 , z+n)和(x-n-1 , y-n , z+n)。 (n >= 0)

  同样地,当n = 0的时候正好是同一层走动的情况。

  于是,现在我们就凑齐一套在同一个视觉角度下角色在方块的正上方走动时的「万能移动公式」了!

  转动视角和侧面方向的格子主要是xyz轴的转换问题,但基本的道理应该是相近的,我就不(lan)再(de)赘(ji)述(suan)了。

  没做过游戏开发,仅凭脑洞写了这么多,不知道有没有硬伤和图样图森破的地方,求打脸求指教~

扫描左侧二维码,关注微信公众号

即可获得游戏智库每日精彩内容推送,并且在第一时间获取游戏行业新鲜资讯。

APP 下载

扫描二维码
下载iOS或安卓APP
返回顶部