D-20260814-04|接觸點撞擊與持續剪切傷害¶
背景與驅動力¶
舊碰撞能量只比較 rigid body 質心線速度,平衡轉子的質心在線軸上時會遺漏刀尖 ω×r;能量又
誤配 owner 整車折合質量,使偏心量意外主導旋轉武器傷害。collision-start 也無法描述持續切削。
考慮過的選項¶
- 對旋轉武器直接加倍率:依名稱分類且特殊造型無法泛化,棄。
- 只補接觸點速度、仍配整車質量:高速刀尖可能錯配過大質量,棄。
- 法向接觸點撞擊+solver 切向耗散雙通道(採納)。
決定¶
- solver 前依 body handle 保存 COM pose、線速度、角速度、effective inverse mass 與 world inverse
inertia;接觸點速度為
v + ω×r。新接觸只取仍在接近的法向速度。 - 撞擊有效質量依 contact normal、inverse mass、world inverse inertia 與接觸臂計算 constraint
effective mass;固定體 inverse 值為 0。能量為
0.5 × mEffectiveNormal × vClose²。 - 每 fixed step 由實際 solver tangent impulse 與接觸點 tangent slip 算
K_SHEAR_DAMAGE_TRANSFER × |impulse| × slipSpeed;低於SHEAR_DAMAGE_MIN_SLIP_MPS不計。 - 兩通道共用實際 collider 材質與 D-20260814-03 的六向接觸面積。tire/roller 對固定場地已有 專用 rolling/slip wear,不重複套一般剪切 fatigue。
- 鈍器、尖端、刀刃、揮刀與旋轉鋸不設類型倍率;差異由幾何、材質、質量/慣量、
ω×r與 solver impulse 自然產生。同車未直接 joint body 也走相同規則。 - 中間量按集中 protocol scale 量化;無可信 point/normal/kinematics即 fail closed,不回退 collider 中心、質心線速度或整車折合質量。collision-start 缺可用 solver 後 manifold 時,以 solver 前 collider 位姿做有界 contact query;manifold 法線與 pre-solver 相對接觸點速度近乎 正交時,退化法線採相對速度方向。裕量與門檻皆為集中 protocol 參數。ledger 每幀可推導, 不新增網路或 SavedState 欄位。
後果與影響¶
平衡轉子也能依刀尖速度造成傷害,持續鋸切與擦牆有能量來源,空轉與卡停則自然降為零。公式 對任意造型一致,平衡調整集中在兩個剪切參數,不需限制 chassis/武器材質或體積設計空間。