SuperAPI AI 工具集

godot-genre-sports

编程与开发

查看项目

更新于 10-16 11:37

技能介绍

用途

本技能提供一套面向 Godot 引擎的体育游戏(如 FIFA、NBA 2K、Rocket League、Tony Hawk 类)专家级开发蓝图,覆盖物理驱动的球体交互、球队 AI 阵型、情境化输入,以及比赛裁判与比分权威逻辑。适用于足球、篮球、冰球、赛车运动或街机风格体育游戏。

主要能力与核心约定

资料以“反模式(NEVER Do)”形式给出硬性约束:

  • 物理与球体交互:球体不得直接挂载为球员 Transform 的子节点,必须保持独立 RigidBody3D,并使用 apply_central_impulse() 实现带物理感的带球;球体需开启 Continuous CD(continuous_cd = true)以防高速穿透球门;碰撞体不得非均匀缩放,应调整资源半径以保持转动惯量;冲量不得在 _process() 施加,须使用 _physics_process() 或 _integrate_forces();角色不得使用单一碰撞体,须以头部、躯干、腿部构成分层碰撞形状。
  • 比赛与球队 AI:不得让所有 AI 追球,须实现阵型槽位(防守/进攻),仅最近 1–2 名球员逼抢;守门员不得具备完美反应,须加入 0.2–0.5 秒反应延迟及基于射门角度与速度的失误率;移动须使用带根运动的 AnimationTree;比分验证须由权威服务器执行,不得信任客户端。
  • 实现与同步:高速球类须提高 physics_ticks_per_second(如 120 或 240)以防穿透;应启用物理插值以获得广播级平滑;摇杆输入须做向量归一化;情境按钮不得用 is_action_pressed(),须通过 ContextManager 判定;球门 Area3D 触发不得立即求值,须 await get_tree().physics_frame 等待物理服务器同步。

带球手感决策

资料给出两种路径:街机/磁吸式(软跟随或短程弹簧趋向脚下,但球仍须为自由 RigidBody3D,不得重设父节点);模拟/冲量式(每次触球用 apply_central_impulse() 将球轻推至身前)。本技能默认采用冲量式带球,磁吸仅作为纯街机类型的最后手段。

专家组件(scripts/)

资料声明以下脚本为“必修读物”,需在编码前阅读与任务匹配的脚本,且不得为单一任务加载全部脚本:

  • sports_umpire_logic.gd:球门 Area3D 与比赛状态机(PRE_GAME / ACTIVE / POST_GOAL)。
  • sports_ball_physics.gd:高保真马格努斯效应 + 空气阻力自定义积分器。
  • magnus_ball_physics.gd:仅含马格努斯效应的精简版,二选一使用。
  • team_manager.gd:阵型槽位与球队策略切换。
  • stat_modifier_powerup.gd:街机强化道具的临时属性修改。
  • sports_patterns.gd:物理安全的冲量与权威计分辅助。

广播镜头不在本技能的 scripts/ 中实现,资料指向同级技能 godot-camera-systems 处理广播取景与动作缩放。

技能链与架构

技能链按阶段划分:物理(godot-physics-3d)→ AI(godot-state-machine-advanced、godot-navigation-pathfinding)→ 动画(godot-animation-tree-mastery)→ 输入(godot-input-handling)→ 镜头(godot-camera-systems)。架构分三层:球体物理核心(载有 drag_coefficient、magnus_effect_strength,在 _integrate_forces 中施加阻力与马格努斯力)、球队 AI(阵型锚点随球移动,按最近槽位分配球员目标)、比赛管理器(比分、计时与 KICKOFF/PLAYING/GOAL/END 状态)。

关键机制与进阶系统

关键机制包括情境输入(同一按钮依上下文执行传球、滑铲或切换球员)、转向行为(Seek/Flee/Arrive,含 seek 示例)。进阶系统包括:根运动过渡(通过 AnimationTree.get_root_motion_position() 提取根运动并以 velocity 驱动位移,建议 deterministic 设为 true)、情境传球预测(用 PhysicsRayQueryParameters3D 与 intersect_ray() 校验传球路线是否通畅)、分层命中盒(通过 collision_layer/collision_mask 区分头部、躯干、腿部,实现头球、胸部停球、滑铲等判定)。

Godot 专属提示与常见陷阱

提示包括:NavigationServer3D 用于避障;AnimationTree(BlendSpace2D)用于 Idle→Walk→Jog→Sprint 全方向平滑混合;PhysicsMaterial 需仔细调校球与场地的 bounce 与 friction。常见陷阱:AI 扎堆(修复:阵型槽位)、磁性球(修复:以冲量轻推而非挂载)、守门员作弊(修复:加入反应时间与失误率)。

参考资料

资料列出 Godot 官方文档链接(物理介绍、RigidBody 用法、RigidBody3D、PhysicsDirectBodyState3D、PhysicsMaterial、3D 碰撞形状、物理插值、空闲与物理处理、射线投射、AnimationTree 用法、控制器与手柄、高层多人)及相关前置与互补技能(godot-project-foundations、godot-physics-3d、godot-input-handling、godot-animation-tree-mastery、godot-camera-systems、godot-navigation-pathfinding、godot-state-machine-advanced、godot-raycasting-queries、godot-multiplayer-networking、godot-adapt-single-to-multiplayer 等),并建议按需渐进查阅,不要预载整个技能格。

限制

资料未提供该技能的收费方式、价格、平台支持范围、性能效果实测数据或完整安装步骤,这些信息暂未提供。