Skip to content

fix: 使用 demo 真实视角 yaw 替代速度向量绘制朝向箭头 - #11

Open
Halcy0nS wants to merge 1 commit into
EytleBB:mainfrom
Halcy0nS:feat/real-view-direction
Open

fix: 使用 demo 真实视角 yaw 替代速度向量绘制朝向箭头#11
Halcy0nS wants to merge 1 commit into
EytleBB:mainfrom
Halcy0nS:feat/real-view-direction

Conversation

@Halcy0nS

@Halcy0nS Halcy0nS commented Aug 8, 2026

Copy link
Copy Markdown

改动

箭头方向从「移动方向(速度向量)」升级为「真实视角方向(yaw)」。

原问题

原代码用位置差算速度向量 atan2(vy, vx) 画箭头,显示的是玩家移动方向而非视角方向。玩家横移、架枪、急停时两者差别很大。

修复

文件 改动
server/parse.py parse_positions 额外提取 yaw,路径从 [t,x,y] 扩展为 [t,x,y,yaw]
server/static/replay.js _interp 返回 yaw(±180° 跨越时不插值),drawAt 优先用 -yaw*π/180 画箭头,无 yaw 时回退到速度方向

验证

  • yaw ≈ atan2(dy, dx)(游戏坐标系),雷达 Y 翻转所以 canvas_angle = -yaw
  • 无 yaw 数据时自动回退到原有速度向量逻辑,向后兼容
  • 147 tests passed, 10 skipped

parse_positions 额外提取 yaw 字段,路径采样从 [t,x,y] 扩展为
[t,x,y,yaw]。replay.js _interp 支持返回 yaw(跳过 ±180° 跨越
不插值),drawAt 优先用 -yaw*π/180 计算箭头角度(雷达 Y 翻转),
无 yaw 时回退到原有速度向量方向。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant