1 か月前 · Jul 3, 2026 3:16 AM
In Rust IL2CPP, weapon recoil uses Unity AnimationCurve keys inside RecoilProperties:
pitchCurve: Keyframe array of vertical angles over shot index.yawCurve: Keyframe array of horizontal angles.timeToTake: Interpolation duration per shot.
To compute exact anti-recoil compensation in C++:
CPP
float EvaluateCurve(AnimationCurve* pCurve, float time) {
for (int i = 0; i < pCurve->m_nKeys - 1; i++) {
if (time >= pCurve->keys[i].time && time <= pCurve->keys[i+1].time) {
float t = (time - pCurve->keys[i].time) / (pCurve->keys[i+1].time - pCurve->keys[i].time);
return Lerp(pCurve->keys[i].value, pCurve->keys[i+1].value, t);
}
}
return 0.0f;
}