Agent Skills
返回列表
💻

游戏手感增强

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md 的指南,在 AI 助手中安装 @user_3c6cb52e/game-feel-hlgn 技能。

技能介绍

它解决什么问题

一个跳跃落地、一次攻击命中,逻辑上完全正确,玩起来却轻飘飘、没有重量。问题通常不在模拟本身,而是缺少反馈层。Gamefeel 关注的就是这一层 juice:在已有机制之上叠加短暂、略带夸张的多重响应,让动作读起来有冲击感。它不实现跳跃、攻击这些机制,只负责让已经能跑的机制“感觉对”。

核心思路与适用场景

一个满意的命中,往往不是单一效果,而是 5–8 个微小反馈 在约 100 ms 内同时触发:音效、粒子、短暂 hit-stop、闪光、击退、轻微 screen shake、飘字。每项都很廉价,叠在一起才读作“打击感”。两条原则防止变成噪音:反馈要短暂夸张后回到静止,且按事件重要性分级。

适合在 on_hit、on_land、on_pickup、on_death 这类离散事件上增加屏幕震动、卡帧、缓动、挤压拉伸、击退、闪光或多层反馈。

以下情况请找其它技能:控制器原始数学(跳跃高度、coyote time)交给平台跳跃与引擎移动技能;相机跟随、死区、环绕交给 camera-systems;混音与自适应音乐交给 audio-design;基于着色器的溶解闪光交给 shader-programming;具体 tween/粒子节点 API 交给引擎动画技能。

核心工作流

  1. 确认事件钩子存在。 反馈要挂在 on_hit、on_land、on_pickup、on_death、on_fire 等离散事件上,没有就先补上。
  2. 为每个事件挑选反馈通道。 可选音效、粒子、震动、hit-stop、闪光、击退、tween、飘字。从 2–3 个开始,读起来够就停。
  3. 让运动走缓动,而不是线性。 缩放、位移、UI 变化经 tween 加缓动,overshoot 用于“弹出”,ease-out 用于“回稳”。线性运动像机器人。
  4. 把 hit-stop 和震动留给真正的冲击。 它们最强也最容易滥用:时长要短、按重要性缩放,常规动作绝不使用。
  5. 反馈远离关键模拟。 震动只移动相机或视觉枢轴,不移动身体;hit-stop 用真实时间暂停或 time scale,不让玩法逻辑停摆。
  6. 按重要性分级调优。 定义小/中/大三档反馈预设,把事件归入对应档位,全游戏手感保持一致。
  7. 实际玩并观察。 反复触发事件,确认反馈触发、能回到静止,且不眩晕、不挡输入。记录震动是否衰减、hit-stop 期间输入是否仍被接收。

注意点

  • 不要震玩家或身体,只震相机/视觉偏移,否则碰撞与瞄准会失准。
  • 不要用每帧随机偏移,改用采样噪声或 sin 加衰减的 trauma,震动才平滑且自止。
  • 不要用 WaitForSeconds 或受 time scale 影响的计时器做 hit-stop,在 time scale = 0 时永远不会恢复;改用 WaitForSecondsRealtime 或 Godot 的 ignore_time scale 计时器。
  • 持续攻击的每帧都触发 hit-stop 会锁死游戏,应每次命中只触发一次。
  • 别到处用线性 tween,几乎都要缓动,并把 overshoot 留给“弹出”。
  • 永久夸张会变成新的常态,反馈就失效了。
  • 对日常动作过度加 juice(每一步都全震全卡)会让人眩晕、掩盖真正冲击,应按重要性缩放,并提供减少震动/闪光的无障碍选项。
  • 过长冻结或不可取消的动画会破坏响应,反馈要短,并让输入在期间仍能缓冲。

使用场景

  • 战斗的伤害结算已经跑通,但每次命中读起来发飘,需要叠加短暂 hit-stop、击退和轻微屏幕震动。
  • 平台跳跃的起跳落地逻辑正确但没重量,想用挤压拉伸加 overshoot 缓动补出弹性。
  • 拾取金币和触发开关目前只有音效,打算再加粒子、闪光和飘字,但要给常规动作降级避免过载。
  • 现有震动每帧取随机偏移,抖得像静态噪声,需要换成 decaying trauma 驱动并按事件重要性分级。

适合人员

  • 独立游戏开发者:核心战斗和移动已跑通,正在打磨命中和落地那一瞬的手感。
  • 游戏客户端工程师:要在已有事件钩子上安全叠加多层反馈,且不能污染模拟结果。
  • 技术美术或手感调参人员:需要按事件重要性建小中大三档预设并统一全游戏风格。
  • 复用原型的开发者:机制能用但手感弱,想在不大改代码的前提下快速加 juice。