У меня есть шар, подпрыгивающий вверх и вниз по моей сцене с помощью следующего сценария:
public class Ball : MonoBehaviour {
public float speed;
public float globalGravity;
Rigidbody ball;
void Start()
{
ball = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
Vector3 gravity = globalGravity * Vector3.up;
ball.AddForce(gravity, ForceMode.Acceleration);
}
void Force(float force)
{
ball.AddForce(Vector3.up * force, ForceMode.Impulse);
}
void OnCollisionEnter(Collision collision)
{
Force(speed);
}
}
Если мяч ударяется о плоскую поверхность, он движется вверх, как предполагает сценарий, но я обнаружил, что если онударяется о платформу, которая наклонена, тогда приложенная сила намного слабее, и мяч не отскакивает так высоко.Есть ли причина для этого, и способ, которым я могу получить равную силу независимо от того, с каким углом поверхности она сталкивается?