Skip to content

物体设计-门的制作 ​

===概述=== ​

示例图 ​

如下图,是一扇简单的门。

基础要求 ​

先尝试回答下面的问题:什么是触发?什么是开关触发?什么是触发的拆分与套娃?为什么设计开关要用到独立开关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” 的 从零开始设计 的章节。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新