电缆系统
概括性的地图制作系列 讨论你的想法——帮助我们写你需要的文章和想法 |
---|
弹药 | 生物 | 蚁狮 | 光束和激光 | 线缆与绳索 | 动态的天空与云雾 | 色彩理论 | 战斗 | 联合军 | 压缩(起源 1) | 门 | 尘土、雾、烟 | 升降机 | 关卡转换 | 环境光效、太阳、天气、室外 | 爆炸 | 火焰 | 植被 | 玻璃和窗户 | 猎头蟹 | 生命值 | 梯子 | 光效 | 优化 | 物理 | 视网膜扫描仪 | 声效和音乐 | 特效 | 地形 | 火车 | 炮塔 | 水 | 武器 | 僵尸 |
电缆提供了一种简单的方法,以相对较低的性能成本为场景添加动态和复杂性。电缆可以连接在移动物体之间,作为物理约束(弹簧、长度约束等)的可视化表现。电缆还可以通过关卡事件动态摇晃或断裂。

放置方法
电缆线可以完全由move_rope或keyframe_rope构成,两者内部使用相同类因此可互换。首先在第一个锚点放置任一实体,然后克隆到第二个锚点位置。新实体会自动重命名,原实体将自动指向新实体。通过此方法可快速布置多点电缆(如电力线)。
外观表现
电缆具有"松弛度"(Slack)参数,表示两个锚点间自然下垂的程度。松弛度能增强电缆的动态感和真实感。该数值表示超出两点直线距离的额外长度。当端点移动时,松弛度不会重新计算,因此:
- 端点远离时下垂的电缆会绷紧
- 端点靠近时绷紧的电缆会下垂
(注:keyframe_rope实体的'Auto Resize'属性可实时重新计算松弛度,非常适合起重机升降物体或配重电梯等场景)Hammer中的预览线会根据输入值更新,可辅助预估引擎中的最终效果。
行为特性
电缆锚点可与其他物体建立层级关系 并随之移动。SDK示例地图中,伪装成杆子的func_door 移动门作为两个电缆的动态锚点,门移动时电缆会相应伸缩。此外定时触发的env_shake会使所有锚点震动,导致电缆"弹跳"。这些技巧能有效为场景中的简单运动部件增添动态细节。
可通过玩家操作或触发输入使电缆从锚点脱离。当电缆收到"Break"输入时,会从接收输入的锚点断开。如果锚点的父实体被销毁,电缆也会脱离。SDK示例中,添加weapon_crowbar实体后,可用撬棍破坏左侧的func_breakable 破损杆子,杆子断裂时会向顶部锚点发送"Break"输出,导致连接的电缆坠落。
默认情况下电缆会穿透世界几何体。某些情况下(特别是电缆断裂时)这可能影响视觉效果。通过实体上的"Collide With World"设置可使电缆与世界几何体碰撞。由于会增加性能消耗,建议仅对存在穿透问题的电缆启用此功能。
示例地图
sdk_cables.vmf
TWHL示例地图
相关条目
- 模型电缆布置
- phys_lengthconstraint - 用不可伸缩电缆悬挂物体的实体
- phys_pulleyconstraint - 创建滑轮系统的实体
- phys_spring - 创建弹性伸缩电缆的实体
- WiseWind - 受风影响的电力线
- Hanging lamps - 制作悬挂灯具道具
- Suspended Object Trap - 制作绳索悬吊的陷阱
- Cable - 电缆专用着色器
- SplineRope - 电缆材质着色器