此问题与以下讨论帖相关: [Physics Control Component [Content removed]
最近在看 Chaos Physical Control 的 Rotation Drive 实现时,发现一个 5.4 和 5.5+ 行为不一致的点,想确认下是否是预期行为。
在 5.4 及之前,Rotation Drive 是按三个轴分别求解的(ApplyAxisRotationDrive),每个轴都会在更新 Lambda 后调用 ApplyMaxLambda(),而 MaxLambda 是由 MaxTorque 换算得到的,所以 torque 上限会被正确限制。
但从 5.5 开始引入的 SIMD 路径(ApplyRotationDrivesSimd)来看,计算出 DeltaLambda 后,就直接转成角冲量并 Apply 了,代码里没有看到与 ApplyMaxLambda() 等价的限幅逻辑,并且函数中有一行:
```cpp
// Should check MaxLambda eventually
```
从这条路径看,MaxTorque 在 SIMD Rotation Drive 下似乎并不会生效。
实际使用中也能观察到:即使大幅修改 MaxTorque 的数值,Physical Control 的表现并无明显区别。
想请教一下问题:
这是有意为之的改动,还是一个尚未补齐的实现?
感谢指点。
[Attachment Removed]