void CameraMount::UpdatePosition(const Vec3 & newpos) { Vec3 dp = displacement; rotation.RotateVector(dp); Vec3 maxdp(0.05, 0.05, 0.05); maxdp = maxdp * 1 / (stiffness + 1); for (int i = 0; i < 3; i++) { dp[i] = Clamp(dp[i], -maxdp[i], maxdp[i]); } dp[1] *= 0.5f; position = newpos + (dp * effect) * offset_effect_strength; }
void CAMERA_MOUNT::UpdatePosition(const MATHVECTOR <float, 3> & newpos) { MATHVECTOR <float, 3> dp = displacement; rotation.RotateVector(dp); MATHVECTOR <float, 3> maxdp(0.05, 0.05, 0.05); maxdp = maxdp * 1.0 / (stiffness + 1.0); for (int i = 0; i < 3; i++) { if (dp[i] > maxdp[i]) dp[i] = maxdp[i]; if (dp[i] < -maxdp[i]) dp[i] = -maxdp[i]; } dp[1] *= 0.5; position = newpos + (dp * effect) * offset_effect_strength; }
void CameraMount::UpdatePosition(const Vec3 & newpos) { Vec3 dp = displacement; rotation.RotateVector(dp); Vec3 maxdp(0.05, 0.05, 0.05); maxdp = maxdp * 1.0 / (stiffness + 1.0); for (int i = 0; i < 3; i++) { if (dp[i] > maxdp[i]) dp[i] = maxdp[i]; if (dp[i] < -maxdp[i]) dp[i] = -maxdp[i]; } dp[1] *= 0.5; position = newpos + (dp * effect) * offset_effect_strength; }