Exemple #1
0
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;
}