重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
godot-genre-racing by thedivergentai/gd-agentic-skills
npx skills add https://github.com/thedivergentai/gd-agentic-skills --skill godot-genre-racing专为赛车游戏设计的专家蓝图,平衡物理、竞争和速度感。
lerp() 的 平滑跟随 模式,以防止晕动症。VehicleBody3D 的默认设置;严格使用射线投射或自定义弹簧/阻尼器模型重写悬挂系统。delta;它是物理求解器中的一个积分力。is_action_pressed() 进行手动换挡;严格使用 is_action_just_pressed() 以获得单次点击的准确性。广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
Area3D 验证,以防止赛道捷径。Area3D 进行尾流效应,以确保玩家正后方。_process() 中更新小地图上静态元素的变换;严格仅更新动态赛车手。pitch_scale。StringName(例如,&"asphalt")。| 阶段 | 技能 | 目的 |
|---|---|---|
| 1. 物理 | physics-bodies, vehicle-wheel-3d | 车辆移动、悬挂、碰撞 |
| 2. AI | navigation, steering-behaviors | 对手寻路、橡皮筋机制 |
| 3. 输入 | input-mapping | 模拟转向、加速、刹车 |
| 4. UI | progress-bars, labels | 速度表、圈速计时器、小地图 |
| 5. 手感 | camera-shake, godot-particles | 速度感知、轮胎烟雾、火花 |
处理移动的物理。
# car_controller.gd
extends VehicleBody3D
@export var max_torque: float = 300.0
@export var max_steering: float = 0.4
func _physics_process(delta: float) -> void:
steering = lerp(steering, Input.get_axis("right", "left") * max_steering, 5 * delta)
engine_force = Input.get_axis("back", "forward") * max_torque
对于跟踪进度和防止作弊至关重要。
# checkpoint_manager.gd
extends Node
var checkpoints: Array[Area3D] = []
var current_checkpoint_index: int = 0
signal lap_completed
func _on_checkpoint_entered(body: Node3D, index: int) -> void:
if index == current_checkpoint_index + 1:
current_checkpoint_index = index
elif index == 0 and current_checkpoint_index == checkpoints.size() - 1:
complete_lap()
高层状态机。
# race_manager.gd
enum State { COUNTDOWN, RACING, FINISHED }
var current_state: State = State.COUNTDOWN
func start_race() -> void:
# 3.. 2.. 1.. 出发!
await countdown()
current_state = State.RACING
start_timer()
街机漂移通常涉及模拟物理。减少摩擦力或施加侧向力。
func apply_drift_mechanic() -> void:
if is_drifting:
# 减少侧向牵引力
wheel_friction_slip = 1.0
# 在退出时添加轻微的前进助推
else:
wheel_friction_slip = 3.0 # 高抓地力
通过根据玩家距离调整 AI 速度来保持比赛的竞争性。
func update_ai_speed(ai_car: VehicleBody3D, player: VehicleBody3D) -> void:
var dist = ai_car.global_position.distance_to(player.global_position)
if ai_car_is_ahead_of_player(ai_car, player):
ai_car.max_speed = base_speed * 0.9 # 减速
else:
ai_car.max_speed = base_speed * 1.1 # 加速
Doppler 效果,以获得逼真的超车声音。lerp 脚本的 Marker3D,以轻微的延迟平滑跟随车辆。每周安装量
51
仓库
GitHub 星标数
59
首次出现
2026年2月10日
安全审计
安装于
opencode50
gemini-cli49
codex49
kimi-cli48
github-copilot48
amp48
Expert blueprint for racing games balancing physics, competition, and sense of speed.
lerp() to prevent motion sickness.VehicleBody3D default settings for karts; strictly rewrite suspension using Raycasts or custom spring/damper models.delta; it is an integrated force in the physics solver.is_action_pressed() for manual gear shifting; strictly use is_action_just_pressed() for single-tap accuracy.Area3D validation to prevent track shortcuts.Area3D for slipstreaming without a Dot Product check to ensure the player is directly behind._process(); strictly update dynamic racers only.pitch_scale.StringName (e.g., &"asphalt").| Phase | Skills | Purpose |
|---|---|---|
| 1. Physics | physics-bodies, vehicle-wheel-3d | Car movement, suspension, collisions |
| 2. AI | navigation, steering-behaviors | Opponent pathfinding, rubber-banding |
| 3. Input | input-mapping | Analog steering, acceleration, braking |
| 4. UI | progress-bars, |
Handling the physics of movement.
# car_controller.gd
extends VehicleBody3D
@export var max_torque: float = 300.0
@export var max_steering: float = 0.4
func _physics_process(delta: float) -> void:
steering = lerp(steering, Input.get_axis("right", "left") * max_steering, 5 * delta)
engine_force = Input.get_axis("back", "forward") * max_torque
Essential for tracking progress and preventing cheating.
# checkpoint_manager.gd
extends Node
var checkpoints: Array[Area3D] = []
var current_checkpoint_index: int = 0
signal lap_completed
func _on_checkpoint_entered(body: Node3D, index: int) -> void:
if index == current_checkpoint_index + 1:
current_checkpoint_index = index
elif index == 0 and current_checkpoint_index == checkpoints.size() - 1:
complete_lap()
high-level state machine.
# race_manager.gd
enum State { COUNTDOWN, RACING, FINISHED }
var current_state: State = State.COUNTDOWN
func start_race() -> void:
# 3.. 2.. 1.. GO!
await countdown()
current_state = State.RACING
start_timer()
Arcade drifting usually involves faking physics. Reduce friction or apply a sideways force.
func apply_drift_mechanic() -> void:
if is_drifting:
# Reduce sideways traction
wheel_friction_slip = 1.0
# Add slight forward boost on exit
else:
wheel_friction_slip = 3.0 # High grip
Keep the race competitive by adjusting AI speed based on player distance.
func update_ai_speed(ai_car: VehicleBody3D, player: VehicleBody3D) -> void:
var dist = ai_car.global_position.distance_to(player.global_position)
if ai_car_is_ahead_of_player(ai_car, player):
ai_car.max_speed = base_speed * 0.9 # Slow down
else:
ai_car.max_speed = base_speed * 1.1 # Speed up
Doppler effect on the AudioListener for realistic passing sounds.Marker3D with a lerp script to follow the car smoothly with a slight delay.Weekly Installs
51
Repository
GitHub Stars
59
First Seen
Feb 10, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode50
gemini-cli49
codex49
kimi-cli48
github-copilot48
amp48
AI界面设计评审工具 - 全面评估UI/UX设计质量、检测AI生成痕迹与优化用户体验
58,500 周安装
Claude API 使用指南:Python/TypeScript SDK 安装、模型选择与工具调用教程
1,500 周安装
发票整理器 - 自动整理发票收据,PDF/图片提取信息,报税归档系统
1,400 周安装
工商业能源采购管理指南:电价分析、需量费用优化、可再生能源采购与预算风险管理策略
1,400 周安装
物流异常管理指南:货运损坏、延迟、丢失索赔处理与承运商争议解决
1,400 周安装
承运商关系管理指南:资深运输经理的RFP、费率协商与绩效记分卡实战技巧
1,400 周安装
maishou 买手技能:淘宝京东拼多多抖音快手全网比价,获取商品价格优惠券
1,400 周安装
labels| Speedometer, lap timer, minimap |
| 5. Feel | camera-shake, godot-particles | Speed perception, tire smoke, sparks |