物体设计-门的制作
基础要求
如下图,是一扇简单的门。
先尝试回答下面的问题:什么是触发?什么是开关触发?什么是触发的拆分与套娃?为什么设计开关要用到独立开关A、B乃至更多?什么是持续触发和单次触发?事件的串行、并行如何设置? |
如果你对上述问题有疑问,那么说明你还不了解 触发的本质。
需要去看看:”8.物体 > 触发的本质.docx
”。
也可以去看看示例中 机关管理层 的 触发的本质 介绍。
基础插件
具体设计门要用到的哪些插件,在 从零开始设计 中会说明。
该文档将 门的设计方法 归纳到一起。因为 开关与门 并不是独立功能模块,所以 如何设计门 与 如何设计开关 思路基本相似。 |
基础配置
具体注意示例下面的地方:
1)地图事件
需要留意 机关解谜管理层 中的门事件。
2)开关触发介绍
留意 机关管理层 的复合传感器(计数开关、序列开关等),
这些是 连接多个开关 的基础功能,连接多个开关最终都会作用到 门事件。
门
直接交互的门
在编辑器中,鼠标右键,就能快速创建一个门事件。
这个门事件,玩家接触后,会进行场所移动。
或者,玩家接触门后,可以开门,玩家能穿过打开的门。
直接交互的门 是一个单独的事件,没有其他开关与此门交互。
连接开关的门
连接开关的门 通常与门直接交互不能开门,
必须要求玩家去激活开关,只有开关才能开门。
(示例中为了方便,用的是 灯泡,而不是真的门)
连接门的开关可以是任意解谜性质的开关。
以重力开关为例,
玩家只要离开开关,门就立刻关闭了,
这就要求玩家必须拿花盆压着才能使得门保持开启。
门的细节
玩家被门卡住
注意,门看起来像是与墙壁连成了一体,但不要忘了门只是一个事件。
如果玩家站在门事件的位置,且正好门被关闭了,
这时候,玩家与门事件重叠,玩家能向下移动,也能向上移动。
如果门外有开关,但是门内没有开关,这时玩家向门内移动会造成卡关。
玩家能跳进门里面去
门看起来像是与墙壁连成了一体,但不要忘了门只是一个事件。
由于玩家能跳过任何事件,因此,门事件的位置需要单独设置禁跳区域。
飞行事件能穿透门
门的优先级只能阻塞玩家和一般事件,无法阻塞飞行的事件。
(其实墙壁也无法阻塞飞行的事件)
从零开始设计(DIY)
普通钥匙的门设计
1. 设置一个目标
2023年3月4日,作者用ai生成了许多宝箱和钥匙。
钥匙能用来开宝箱,也能用来开门,
于是这里作者我打算设计一个钥匙物品,能开启指定的门。
2. 结构规划/流程梳理
钥匙直接处于玩家的仓库里面,所以不需要开关。
因此按 直接交互的门 来设计即可。
示例中用到了下面插件:
Drill_EventSelfSwitch 物体 - 独立开关(基础插件)
Drill_EventText 行走图 - 事件漂浮文字(显示文字用)
Drill_LayerReverseReflection 行走图 - 图块倒影镜像(关闭门的镜像用)
3. 开门设置
建立一个门事件如下图。
当玩家接触后,执行开门动画(开门动画 通过门事件的转向 来播放不同帧实现),
然后开启独立开关A跳转到下一个事件页。
第二页事件页设为空,表示为门开启的状态。
4. 关门设置
通常游戏设计的 钥匙+门 为一次性永久开启,
但你也可以 再添加一页事件页 用来执行关门。
如下图,外部事件开启这个门的独立开关B。
门事件(第三页事件页)在独立开关B激活时,执行关门动画,
并且关闭独立开关A,恢复到初始能开门的状态。
注意图中的分支条件,如果门一开始就没开(独立开关A为OFF),则不要播放关门动画。 |
5. 钥匙设置
在第一页开门的事件指令中,
直接对 玩家是否持有钥匙 进行分支条件判定。
最后,在游戏中测试 钥匙开门 的效果。
小区门禁设计
1. 设置一个目标
2024年2月15日,作者我忽然脑海闪过了一个机制很特殊的门。
就是下图这个,小区门禁。
这个门可以用钥匙开,但它又不是普通的 钥匙+门 组合。
因为钥匙接触的不是门,而是旁边立着的两个柱子。
于是作者我尝试开坑了。
2. 结构规划/流程梳理
仔细分析后,小区门禁有下面的特点:
直接与门交互没有效果,必须要和柱子交互才可以。
如果有门禁钥匙,则刷门禁就能开门。
门禁开门后是限时的,时间结束后,会自动关门。
示例中用到了下面插件:
Drill_EventSelfSwitch 物体 - 独立开关(基础插件)
Drill_EventText 行走图 - 事件漂浮文字(显示文字用)
Drill_LayerReverseReflection 行走图 - 图块倒影镜像(关闭门的镜像用)
Drill_GaugeOfBufferTimeBar UI - 缓冲时间条(显示开门持续时间用)
当然,真要细究日常生活的设定,门禁还有下面的特点:> 门的内侧能直接开门,但是门外侧不能开门。> 如果旁边站有门卫,你可以与门卫打招呼放行进去。这些特点不是主要功能,所以可以根据游戏需要来自定义。 |
3. 开门并限制时间
玩家不能直接与门交互来开门。
所以当门处于关闭状态时,玩家按确定键,只会出现对话。
能开门的是柱子,
放置一个柱子事件,设置 接触柱子时,开启 门的独立开关A。
门的独立开关A开启后,
执行开门动画(开门动画 通过门事件的转向 来播放不同帧实现)。
由于开门需要限制时间,
所以并行等待300帧后(5秒),执行开启独立开关B,跳转到关门的事件页中。
4. 关门设置
第一页为关门状态,第二页为开门并限制时间的过程。
还需要第三页事件页,表示关门的过程。
独立开关B激活后,执行关门动画,并且关闭独立开关A,恢复到最初的状态。
完成上述指令后,在游戏中测试柱子和门的关系。
5. 门禁柱子细节
确认柱子能开门后,
门禁柱子再加上钥匙的限制,就能实现 门禁钥匙 控制开门了。
自动关闭的门设计
自动关闭的门即 能够被玩家打开,但当玩家离开一定距离后,自动关闭的门。
可以去看看 “8.物体 > 大家族-开关.docx
” 的 从零开始设计 的章节。