纪念碑谷第三章第一个场景快做完了
昨天晚上,我花了一些时间去制作塔顶方块。因为以方块的形式制作有限制,我只能用实体去做这个效果。昨天我做了3*3规格的塔顶,今天我做完了剩下两种规格的塔顶。我还做了有六种不同条纹的方块,放置时会随机选择一种条纹。制作这个时,我无意中发现了以前的漏洞,花园房石块只会随机选择4种形状而不是5种。漏洞的原因是方块排列条件表达式有问题,方块状态范围是1-5,但是表达式却是判断状态值0-4的,这就导致方块排列中“方块状态为0”时的模型永远不会出现。
我顺手修复了这个问题,也做出了那种带条纹的方块。那种方块用在两个可以拉动的大方块下面,主要是表现来回拉动两个大方块留下的摩擦痕迹。现在就只有一些带花纹的方块还没做了,也就是说,这个场景快做完了。
---夜晚---
做带花纹的方块太麻烦,不如直接做花纹本身,我打算用一个方块做完所有花纹。我创建了一个方块,给它一个方块特征,然后创建了三个方块状态,分别管理它的形状设置(花纹的外观)、阴影设置和旋转设置。形状设置的目的很简单,因为有不同的花纹,我需要一个方块状态定义到底是哪种花纹。旋转设置的目的也很简单,就是为了减少花纹的种类。因为纪念碑谷里面很多花纹都可以看作一个花纹的旋转,这样做可以减少形状设置的数量,让形状总数待在16以下。至于阴影设置,就是单纯地转换亮面和暗面,为了模拟真实颜色,方块阴影是我制作模型时决定的,所以需要这个设置。
一切都很简单,我很快做完了模型,只不过写那些JSON数据时,方块排列数组中有24个对象,有点多了。进入游戏测试,我却发现没那么简单,旋转设置有问题。放置时,向北面和南面是正常的沿Z轴旋转,但向东面和西面时也是沿Z轴旋转,导致实际上看起来有很大位移。我本以为是数据写错了,但文件里写的就是这样的数据,按理说是沿X轴旋转,但游戏里就是沿Z轴旋转。于是这个场景的开发停止了,我把朝北和朝南的图案放好后就没办法放朝西和朝东的了,因为有一个地方要用到旋转图案的功能。
由于制作失误,我还是做了一些可以通过旋转同一形状得到的形状;有些图案有背景层,有些没有……还是有很多问题。我甚至现在才发现右侧塔中部还有一种方块,是上下颠倒的梯形纹路的方块。
不过我也修复了很多漏洞,包括门的碰撞箱不正确(除了朝北方的),打开的门的UV和外观不正确,等等。我还作出了一项改进,那就是关上的门背面从透明改成了不透明的深蓝色,这样就提高了关着的门的辨识度。图案方块有多个常用的状态,所以我设置了木棍、烈焰棒和旋风棒分别管理三个状态。木棍管理形状,烈焰棒管理旋转,旋风棒管理阴影。
在游戏里截图时,我还发现了纪念碑谷游戏的一个奇怪现象,如图所示。https://pic.imgdb.cn/item/663248dc0ea9cb1403989208.png当我点击两个塔顶时,它们分别出现了一些圆圈,而这种圆圈是可点击路径的特效。也就是说,塔顶是可以站人的,只不过没有上去的路。
为了确定在迷雾中的图案到底是什么,我还对图像做了一点处理。https://pic.imgdb.cn/item/66324a740ea9cb14039c1bbb.jpg通过这张图片,我们才能清晰地看出图案的大小、位置等信息,颜色可以通过另一个这样的图案得知。我这才发现那个图案没有居中,这可能是刻意的。
下面是我的开发过程,今天没怎么截图。最后一张图演示了原图片去掉迷雾后可能的场景。由于缺乏参考,矗立在迷雾中的小塔位置可能不准确。https://pic.imgdb.cn/item/66324c5c0ea9cb1403a245f2.jpg
有时候,我的模型有个非常玄学的问题——Z-fighting,深度冲突。某些时候和位置,两个平面之间只需要0.05个像素就不会冲突,而有时候这个缝隙有0.1个像素宽也会冲突。有些模型放在左边就没问题,放在右边就有深度冲突(一个典型例子是门)……这种问题很难修复,因为我不知道为什么会这样,它的触发也很玄学。https://pic.imgdb.cn/item/66324d5f0ea9cb1403a4a952.jpg 高技术力啊 作者厉害[哔哩_微笑]
页: [1]