I’m trying to create a falling platform, similar to the ones in Mario games where once you step onto it, after a delayed amount of time, it falls downwards. I’m not too concerned with the time delay as of yet but I can’t seem to figure out what’s wrong with my code. I’ve tried two different methods (as stated below) and neither of them are working. This is my script for the platform that is meant to fall. It has Use Gravity and Is Kinematic checked on the Rigidbody, as well as Is Trigger checked in the Box Collider. I’d appreciate the help. (This is a 3D program)
private Rigidbody rb;
void Start ()
{
rb = GetComponent<Rigidbody> ();
}
void OnCollisionEnter(Collision collidedWithThis)
{
if (collidedWithThis.transform.name == "Sphere")
{
//first method
Vector3 movement = new Vector3 (0.0f, -35.0f, 0.0f);
rb.AddForce (movement * speed);
//second method
rb.velocity = transform.up * -speed;
}
}
}