Agent Skills
返回列表
🤖

游戏相机系统

AI Agent 更新于 2026.08.30

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

请根据 https://skillhub.cn/install/skillhub.md,将 @user_3c6cb52e/camera-systems-sh-8do7wp 安装到当前 AI 助手。

技能介绍

它解决什么问题

相机是玩家看世界的窗口;相机做坏了,玩法再好也会显得廉价。常见症状包括:固定 lerp(pos, target, 0.1) 在 30 FPS 发飘、144 FPS 过跟手;在目标移动前就执行跟随,导致一帧 lag 抖动;缺少死区时,玩家轻微抽搐会让相机跟着抖并引起眩晕;没有边界钳制时,关卡边缘露出黑边;3D 相机不分离 look 与碰撞,导致穿墙或 pitch 未钳制直接翻顶。

技能如何工作

核心流程先确定相机服务对象:平台跳跃要前瞻跳跃路线,俯视角要中心加死区,第三人称要 orbit 加碰撞,第一人称只看不移动镜头。跟随必须帧率无关,优先用指数平滑或 spring/SmoothDamp,不要每帧固定 lerp。加入死区让微小移动不推动相机;用 look-ahead 按运动或朝向方向偏移目标,并缓入缓出避免甩镜。边界钳制要让整个视口留在关卡内,而不是只钳中心点。

3D 部分把 look 与碰撞分开:yaw/pitch 控制环绕,spring arm 或 ray 在几何体挡住时把相机拉回,并把 pitch 限制在约 ±80°。相机应在目标移动和物理结算后的 late/post 阶段跟随。最后要在低帧率、高帧率、墙角、墙边和关卡边界验证:无抖动、无越界、停止平滑,并报告观察结果。

适用边界与注意点

屏幕震动的强度、触发时机属于 game-feel;本技能只暴露它写入的 shake offset hook。具体引擎相机节点配置应交给 godot-3d-essentials 或引擎技能,玩家移动交给移动技能,多相机/渲染目标性能交给 performance-optimization。传送或重生时要么硬切并重置平滑,要么快速缓动,不要让大距离 SmoothDamp 横扫关卡。震动应作为 additive offset 最后叠加,不能驱动 follow target。死区还要明确选择 box 还是 radial,因为手感不同。指数平滑推导、完整 2D rig、3D spring-arm、第一人称 look、多人构图和 Cinemachine/Godot/PhantomCamera 映射见 references/follow-and-framing.md。

使用场景

  • 2D 平台跳跃中需要相机前瞻角色运动方向,让玩家看清跳跃路线与危险,而不只是在角色头顶抖动。
  • 俯视角 Roguelike 需要加入死区和边界钳制,忽略轻微移动并避免关卡边缘出现黑边。
  • 3D 第三人称动作游戏中需要实现鼠标/手柄环绕、碰撞拉回与 pitch 钳制,避免相机穿墙或翻顶。
  • 修复相机抖动时需要在目标移动和物理结算后再跟随,并用低/高帧率复现验证消除一帧 lag。

适合人员

  • 正在做 2D 平台跳跃的客户端工程师,需要决定跟随、前瞻和边界规则,而不是每帧固定 lerp。
  • 在 Godot 或 Unity 中搭建 3D 第三人称相机的程序,需要处理 yaw/pitch、spring arm 与碰撞拉回。
  • 修复相机抖动、穿墙、越界黑边或眩晕感的游戏开发者,需要按帧率无关和 late update 的路径排查。
  • 负责相机手感和取景一致性的技术美术或系统设计者,需要把技能规则映射到具体引擎相机节点。