This article relates to the game "传送门". Click here for more information.

创建实验室门

From Valve Developer Community
< Zh
Revision as of 08:45, 4 October 2025 by Qp0001 (talk | contribs) (先信code一回(?))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

English (en)中文 (zh)Translate (Translate)

本教程将逐步展示如何创建整个 传送门 实验室中可见的 实验室门 。实验室门通常用于将玩家关在终点门外,但也可以用作谜题元素本身。

Tip.png提示:看着很简单对吧 其实还真有点简单

创建

1.创建与剪切

创建一个 <32宽*128长*128高> 的笔刷。 然后使用 工具栏里的剪切工具在距顶部 24、48 和 84 个单位处分别横向剪切三次。

Note.png注意:注意不要把另一半删了,剪切工具默认使用留半模式(半白半红),再次点击会换侧,再点一下才能是保留两端(全白)
在这里需要的当然是全部保留,后续的剪切操作也是

之后,选择从顶部开始的第二个笔刷,并切一个在顶部从左往右数 48 个单位到→底部从左往右数 16 个单位的斜线剪切。在笔刷的另一侧做同样的事情,并删除中间残留的部分。

接下来,选择这个笔刷下方的笔刷,从顶部的从左往右数 16 个单位到→底部最外边咔一个斜线剪切。在另一侧做同样的事情并删除多余的部分。

现在,选择最底部的笔刷,从上方边缘到→底部从左往右数 20 个单位的斜线剪切。在画笔的另一侧做同样的事情,然后删掉最后的多余部分。

最后,选择所有门框笔刷并将它们一起绑定到 func_detail 实体。 之后,使用与门旁边墙壁相同的纹理对正面和背面进行纹理处理。使用<tools/toolsnodraw>纹理处理剩下的所有(即门内)部分。

对照图库 (使用大小为4的网格)

2.放置门框模型

这是你的模型该有的样子

放一个 prop_static 实体并将其 World Model 设为 <models/props/door_01_frame_wide_reference.mdl>。将门框模型对齐门框笔刷。

3.创建带动模型的func_door

左边的门
右边的门

创建一个使用 <tools/toolsnodraw> 纹理, <8宽*56长*104高> 的笔刷。将其对齐到门框的左侧,并将此笔刷绑定为func_door实体。确保所有flag均未勾选,并在其属性输入以下内容:

Property Name Value
Name door_left
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 270 0

接下来创建一个相同的笔刷,它也使用 nodraw 纹理、也是<8宽*56长*104高>,但将其对齐到门的右侧。也将它绑定为 func_door 实体,也要确保所有flag均未勾选,最后在其属性中输入以下内容:

Property Name Value
Name door_right
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 90 0

4.创建被带动的模型

左半边的模型
右半边的模型

创建一个 prop_dynamic 实体,并输入以下属性:

Property Name Value
Parent door_left
World Model models/props/door_01_lftdoor_reference.mdl
Name model_door_left

对齐,直到它覆盖刚才的 door_left

下一步,和制作func_door时一样,弄另一个 prop_dynamic 实体并输入以下属性:

Property Name Value
Parent door_right
World Model models/props/door_01_rtdoor_reference.mdl
Name model_door_right

它也应该覆盖 door_right

5.光点

实体 info_lighting_relative

在门前创建一个 info_lighting_relative(en),离地56个单位高。 将它命名为 lighting_relative。 现在将它的 Lighting Origin 同时设为model_door_rightmodel_door_left


实验室门应该准备就绪,至少能用了。

结果

游戏中的实验室门

第一步

将门放置在它该在的墙内,使框架笔刷与墙壁齐平。如果门旋转,则必须更改门的 Pitch Yaw Roll 值,以便门从正确的方向打开。

第二步

设置应打开门的项目,以便它向两者发送输入,并在门应打开时发送Open 输入给 door_leftdoor_right,与之相对的是 Close 输入,即需要关上它时。