|
|
84f67dbd79
|
fix: 自由路径姿态改为平面旋转(只绕垂直轴yaw,不绕前进轴滚动)
用户反馈:自由路径动画起点物体沿前进轴旋转90°(侧滚),
期望像地面路径一样只转向前进方向、仅绕垂直轴旋转。
根因:TryCreateFreePathRotationForFrame/AtStart 用了
CanonicalRailPoseBuilder(完整三维姿态,forward=3D切线),
会绕前进轴滚动。改为 CanonicalPlanarPoseBuilder
(forward=切线水平投影,up=世界up,只转yaw)。
撤销此前 ShouldPreservePathRotationForFrames 让 Free 保留姿态的改动。
同步更新 FreePathTests 断言(斜路径投影水平、纯垂直无水平方向返回false)。
257 单测全过。
|
2026-07-31 16:50:35 +08:00 |
|
|
|
4f0723f56f
|
fix: 修正过弯检测测试期望值 + FreePathTests 加入csproj
过弯检测 CornerTurnCheckHelper 代码正确(maxLength 均为正),
但 6 个测试期望值与公式不符(7e71387 改算法时测试未同步)。
已按公式修正测试:补充 maxLength 断言,调整长度阈值。
另修复 FreePathTests 一处断言(斜路径 forward/up 分量)。
并将 FreePathTests.cs 显式加入 UnitTests.csproj(此前未编译运行)
|
2026-07-31 16:10:32 +08:00 |
|
|
|
002618f371
|
feat: 自由路径(Free Path)一级路径类型
- PathType 新增 Free=3,显示'自由'
- 动画:统一包围盒中心对齐,方案1姿态(forward=切线,up=世界up正交化)
复用 CanonicalRailPoseBuilder,新增 TryCreateFreePathRotationForFrame/AtStart
- 渲染:通行空间垂直偏移0(路径点即物体中心)
- 路径管理器:StartCreatingNewRoute/FinishEditing 支持 Free
- UI:PathEditingView 新增'自由'按钮 + NewFreePathCommand
- 数据库:枚举存 int 无需 schema 变更
- 迁移:加载时 IsTwoPointVertical 吊装路径 → Free
- 单测:新增 FreePathTests(6个全通过)
注:CornerTurnCheckHelperTests 6个失败为分支起点已存在的 pre-existing 问题,与本次无关
|
2026-07-31 16:02:25 +08:00 |
|