碰撞纹理

From Valve Developer Community
< Zh(Redirected from Zh/Clip textures)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)

裁剪(en)纹理是不可见的工具纹理(en),用于限制移动(通常是玩家的移动)。使用碰撞纹理笔刷(en)通常称为碰撞笔刷。在起源引擎(en)中,通用的专用碰撞纹理是Clip,但也有替代品如Player Clip(Player) Control ClipNPC Clip。这些都属于同一个Clips可视分组(en)类别。不过,任何未渲染的笔刷或模型都可以充当这个角色。

在使用碰撞笔刷限制玩家移动时,有好的技巧也有不好的技巧。

技巧是指那些能防止玩家可能被复杂笔刷结构(如树和山丘之间,或几块岩石的裂缝中)卡住而被迫重开的技巧。楔形碰撞笔刷也可以用于防止玩家在试图跑到某处时被窗台或按钮等小细节笔刷卡住,以及防止玩家跳上过于狭窄的栅栏或窗台。

不好的技巧被称为隐形墙(en),它们会阻挡玩家进入"不应该"进入的走廊。除了让玩家感到沮丧外,这还会破坏沉浸式世界的幻觉,提醒玩家这只是一个游戏。

示例

PlayerClip use example.png

右侧的栅栏被toolsplayerclip工具纹理包围有两个原因:首先防止玩家在沿着它奔跑时被笔刷结构卡住,其次防止玩家跳过在现实生活中至少难以攀爬的东西。请注意,玩家可以获取物理对象并将它们堆叠在栅栏旁,从而跳过笔刷。如果是这种情况,可以考虑将这个碰撞笔刷一直延伸到地图的屋顶,但由于这会创建一个隐形墙,或许用实心墙完全替换整个栅栏会更好。

替代方案

不可见位移

当碰撞笔刷难以创建时的替代不可见位移。

在某些情况下,碰撞笔刷不可行,或者难以围绕道具制作精确的碰撞笔刷。
例如,Left 4 Dead(en)经常使用带有不可见纹理的位移(en)笔刷来制作类似碰撞的东西,覆盖碎石道具。

Env_Player_Blocker

另一个有用但非常有限的替代方案是env player blocker(en)实体。这些是矩形点实体,阻挡其体积内的玩家。该实体主要用于通过解说系统(en)LMP文件编辑(en)在"清理"活动期间,地图已经编译完成后使用。

带表面属性的碰撞

一些游戏,如反恐精英:全球攻势Garry's Mod,有多个使用特定材质表面属性(en)的碰撞工具纹理,如混凝土、泥土、玻璃等。
这使得踩在碰撞上时声音不同,并且可以利用材质的属性,如"SlipperySlide"的低摩擦。
例如,在玻璃走道上工作时使用带有玻璃材质的碰撞,这样踩在碰撞上时仍能听到玻璃声音,否则会播放与环境不符的通用声音。
对于没有这些碰撞纹理的游戏,您可以自己创建或从拥有这些纹理的游戏中复制。但这在某些游戏中可能无效,因为它会导致所有碰撞使用您首次交互的碰撞的表面属性。例如求生之路2会出现这种声音错误。

或者,您可以(以更高的开销(en))使用以下解决方法,避免创建新的材质文件: 1. 使用具有所需材质属性的任何纹理构建碰撞笔刷。例如,glass/glasswindow007a,仅仅因为它是玻璃。 2. 将笔刷转换为func brush(en),设置为"不渲染"、"始终固体"和"固体BSP"。这会阻止您的笔刷切割可视区域(en)并变得不可见,就像碰撞笔刷一样。

Warning.png警告:根据厚度,它还会阻挡子弹。它还会阻挡物理道具(en)和投射武器,如手榴弹或(en),因为它只是不可见的笔刷。

另见