Прыжок
Надо создать скрипт для объекта, который должен сделать прыжок. Для этого надо выбрать объект, нажать на кнопку Add Component и выбрать New script.
И добавить код ниже:
public class JumpScript : MonoBehaviour { public int jumpHeight = 8; void Start() { // Получить доступ к компоненту Rigidbody rb = GetComponent<Rigidbody>(); } void Update() { // Совершить прыжок при нажатии на пробел if (Input.GetButtonDown("Jump")) { rb.velocity = new Vector3(0, jumpHeight, 0); } } }
Параметр velocity
«подбрасывает» текущий объект на заданное значение.
При повторном нажатии на прыжок, мяч снова подпрыгнет вверх, не дожидаясь падения до поверхности. Чтобы прыжок не совершался повторно в воздухе, на примере ниже создана переменная isJumped
, в которой хранится значение, находится ли сейчас мяч в воздухе, и если находится, то не выполнять повторный прыжок.
public class JumpScript : MonoBehaviour { public int jumpHeight = 8; private bool isJumped = false; void Start() { rb = GetComponent<Rigidbody>(); } void Update() { // Совершить прыжок при нажатии на пробел if (Input.GetButtonDown("Jump") && isJumped == false) { rb.velocity = new Vector3(0, jumpHeight, 0); isJumped = true; } } // Выполнять функцию при соприкосновением с объектом void OnCollisionStay(Collision collisionInfo) { isJumped = false; } }