Agent Skills
返回列表
🤖

游戏摄像机系统

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/camera-systems-4z4j

技能介绍

要解决什么问题

摄像机是玩家观察世界的窗口。用每帧固定的 lerp(a, b, 0.1) 去跟随一个 2D 平台跳跃角色,30 FPS 和 144 FPS 下的手感完全不同;第三人称视角不做碰撞处理,摄像机会直接穿进墙体;没有死区时,手指的微小抖动会被放大成画面乱晃,长时间游玩容易引起眩晕。这类问题在引擎层面没有统一答案,Camera2D 与 Camera3D 的参数、更新顺序、坐标系都不一样,但背后的设计思路是通用的。

核心能力

这个技能覆盖的是引擎无关的摄像机决策层:

  • 帧率无关的平滑跟随:用 1 - exp(-rate*dt) 或 SmoothDamp 替代每帧固定系数的 lerp
  • 死区与前瞻:目标在小范围内移动时摄像机不动,超出区域后才跟随;同时朝运动或朝向方向偏移,缓入缓出避免甩头
  • 边界钳制:把画面限制在关卡矩形内,注意要按视口半尺寸计算,保证画面而非中心点不出界
  • 第三人称环绕:偏航/俯仰轨道 + 弹簧臂或射线碰撞回拉,俯仰角钳制在约 ±80°
  • 第一人称视角与多目标构图:纯视角控制,以及一次性框住多个目标
  • 震动偏移钩子:预留屏幕震动的叠加入口,触发逻辑归 game-feel 负责

关键步骤

  1. 先定镜头服务于什么玩法:平台跳跃要前瞻以便看到危险,俯视角要居中加死区,第三人称要环绕加碰撞,第一人称只看不动。
  2. 跟随放在目标移动之后:在 LateUpdate 或物理结算后执行,否则会有一帧延迟造成的抖动。
  3. 先平滑跟随,再加震动偏移:两层分开合成,否则跟随会和震动互相打架。
  4. 验证覆盖边界情况:低帧率与高帧率、墙角、墙体、关卡边缘各跑一遍,确认无抖动、不越界、停止自然。

适用边界

  • 屏幕震动的幅度与触发时机由 game-feel 负责,本技能只暴露偏移钩子
  • 引擎具体的 Camera3D 与环境配置交给 godot-3d-essentials 或对应引擎技能
  • 角色移动本身交给 godot-2d-movement 一类技能
  • 大量摄像机或渲染目标的性能问题走 performance-optimization
  • 传送或重生时的硬切或快速缓动属于意图决策,不是本技能自动处理的部分

使用场景

  • 制作 2D 平台跳跃游戏时,需要摄像机朝跳跃方向前瞻,让玩家提前看清前方危险与落点
  • 俯视角游戏中角色小幅走位导致摄像机频繁抖动,需要设置死区让画面忽略微小移动
  • 第三人称动作游戏中角色贴墙战斗,摄像机被墙体挡住,需要碰撞回拉而不是穿墙
  • 游戏在 30 FPS 和 144 FPS 下摄像机手感不一致,需要改成帧率无关的平滑跟随

适合人员

  • 独立游戏开发者,正在实现平台跳跃或俯视角游戏的摄像机,需要引擎无关的设计思路与避坑清单
  • 游戏引擎程序员或技术美术,需要帧率无关平滑跟随、死区前瞻与边界钳制的参考实现
  • 第三人称或第一人称游戏的程序员,需要环绕轨道、碰撞回拉与俯仰角钳制的轨道摄像机方案
  • 修复摄像机抖动、穿墙或越界问题的游戏开发者,需要定位更新顺序与合成方式的错误