跳到主要内容
← 全部概念
操作手感 / 14

镜头死区

让玩家先移动,镜头再跟随

交互演示

交互演示 · 移动指针或点击画面,观察变化

镜头死区是屏幕中央的一个矩形区域,玩家在其中移动时,镜头保持不动。玩家越过某条边缘后,镜头只移动恰好足够的距离,将玩家维持在那条边缘上,因此小步移动和转身不会让画面晃来晃去。这里每次玩家回头穿过矩形区域时,镜头都会保持静止。

适用场景

如果不希望玩家的小幅移动不断带动画面,可以设置镜头死区。将其与世界边界限制结合使用,还可以选择沿移动方向添加少量前视偏移。

实现示例

不依赖特定引擎的伪代码。请根据你使用的引擎调整函数和坐标约定。

offset = player.position - camera.position
excess.x = offset.x - clamp(offset.x, -halfWidth, halfWidth)
excess.y = offset.y - clamp(offset.y, -halfHeight, halfHeight)
camera.position += excess

常见错误

将最终的镜头目标位置限制在关卡边界内。如果加入平滑处理,应区分目标死区与滞后的实际镜头位置,以免在边缘附近来回振荡。

内容原作 Nicolas Zullo · 中文整理与交互改编