← 全部概念
操作手感 / 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 · 中文整理与交互改编