物体设计-门的制作
===概述===
示例图
如下图,是一扇简单的门。
基础要求
先尝试回答下面的问题:什么是触发?什么是开关触发?什么是触发的拆分与套娃?为什么设计开关要用到独立开关A、B乃至更多?什么是持续触发和单次触发?事件的串行、并行如何设置? |
如果你对上述问题有疑问,那么说明你还不了解 触发的本质。
需要去看看:”8.物体 > 触发的本质.docx
”。
也可以去看看示例中 机关管理层 的 触发的本质 介绍。
===门的制作 - 实现===
基础插件
具体设计门要用到的哪些插件,在 从零开始设计 中会说明。
该文档将 门的设计方法 归纳到一起。因为 开关与门 并不是独立功能模块,所以 如何设计门 与 如何设计开关 思路基本相似。 |
基础配置
具体注意示例下面的地方:
1)地图事件
需要留意 机关解谜管理层 中的门事件。
2)开关触发介绍
留意 机关管理层 的复合传感器(计数开关、序列开关等),
这些是 连接多个开关 的基础功能,连接多个开关最终都会作用到 门事件。
门
1)直接交互的门
在编辑器中,鼠标右键,就能快速创建一个门事件。
这个门事件,玩家接触后,会进行场所移动。
或者,玩家接触门后,可以开门,玩家能穿过打开的门。
直接交互的门 是一个单独的事件,没有其他开关与此门交互。
2)连接开关的门
连接开关的门 通常与门直接交互不能开门,
必须要求玩家去激活开关,只有开关才能开门。
(示例中为了方便,用的是 灯泡,而不是真的门)
连接门的开关可以是任意解谜性质的开关。
以重力开关为例,
玩家只要离开开关,门就立刻关闭了,
这就要求玩家必须拿花盆压着才能使得门保持开启。
门的细节
1)玩家被门卡住
注意,门看起来像是与墙壁连成了一体,但不要忘了门只是一个事件。
如果玩家站在门事件的位置,且正好门被关闭了,
这时候,玩家与门事件重叠,玩家能向下移动,也能向上移动。
如果门外有开关,但是门内没有开关,这时玩家向门内移动会造成卡关。
2)玩家能跳进门里面去
门看起来像是与墙壁连成了一体,但不要忘了门只是一个事件。
由于玩家能跳过任何事件,因此,门事件的位置需要单独设置禁跳区域。
3)飞行事件能穿透门
门的优先级只能阻塞玩家和一般事件,无法阻塞飞行的事件。
(其实墙壁也无法阻塞飞行的事件)
===门的制作 - 从零开始设计(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
” 的 从零开始设计 的章节。