电缆系统

From Valve Developer Community
< Zh(Redirected from Cables and Ropes:zh-cn)
Jump to navigation Jump to search
English (en)Deutsch (de)Русский (ru)中文 (zh)Translate (Translate)
概括性的地图制作系列 讨论你的想法——帮助我们写你需要的文章和想法

弹药 | 生物 | 蚁狮 | 光束和激光 | 线缆与绳索 | 动态的天空与云雾 | 色彩理论 | 战斗 | 联合军 | 压缩(起源 1) | | 尘土、雾、烟 | 升降机 | 关卡转换 | 环境光效、太阳、天气、室外 | 爆炸 | 火焰 | 植被 | 玻璃和窗户 | 猎头蟹 | 生命值 | 梯子 | 光效 | 优化 | 物理 | 视网膜扫描仪 | 声效和音乐 | 特效 | 地形 | 火车 | 炮塔 | | 武器 | 僵尸

电缆提供了一种简单的方法,以相对较低的性能成本为场景添加动态和复杂性。电缆可以连接在移动物体之间,作为物理约束(弹簧、长度约束等)的可视化表现。电缆还可以通过关卡事件动态摇晃或断裂。

Note.png注意:电缆默认不具碰撞体积,除非特别设置。要用电缆悬挂物体必须同时使用物理约束。详情见下文。
Icon-Bug.png错误:黑山 黑山cable/cable.vmt材质问题较多,建议使用cable/cable_lit或其他替代材质。  [todo tested in ?]

放置方法

Hammer中两点间铺设的电缆

电缆线可以完全由move_ropekeyframe_rope构成,两者内部使用相同类因此可互换。首先在第一个锚点放置任一实体,然后克隆到第二个锚点位置。新实体会自动重命名,原实体将自动指向新实体。通过此方法可快速布置多点电缆(如电力线)。

外观表现

电缆具有"松弛度"(Slack)参数,表示两个锚点间自然下垂的程度。松弛度能增强电缆的动态感和真实感。该数值表示超出两点直线距离的额外长度。当端点移动时,松弛度不会重新计算,因此:

  • 端点远离时下垂的电缆会绷紧
  • 端点靠近时绷紧的电缆会下垂

(注:keyframe_rope实体的'Auto Resize'属性可实时重新计算松弛度,非常适合起重机升降物体或配重电梯等场景)Hammer中的预览线会根据输入值更新,可辅助预估引擎中的最终效果。

行为特性

电缆锚点可与其他物体建立层级关系(en)并随之移动。SDK示例地图中,伪装成杆子的func_door 移动门作为两个电缆的动态锚点,门移动时电缆会相应伸缩。此外定时触发的env_shake会使所有锚点震动,导致电缆"弹跳"。这些技巧能有效为场景中的简单运动部件增添动态细节。

可通过玩家操作或触发输入使电缆从锚点脱离。当电缆收到"Break"输入时,会从接收输入的锚点断开。如果锚点的父实体被销毁,电缆也会脱离。SDK示例中,添加weapon_crowbar实体后,可用撬棍破坏左侧的func_breakable 破损杆子,杆子断裂时会向顶部锚点发送"Break"输出,导致连接的电缆坠落。

默认情况下电缆会穿透世界几何体。某些情况下(特别是电缆断裂时)这可能影响视觉效果。通过实体上的"Collide With World"设置可使电缆与世界几何体碰撞。由于会增加性能消耗,建议仅对存在穿透问题的电缆启用此功能。

示例地图

  • sdk_cables.vmf

TWHL示例地图

相关条目