Что такое Rigidbody.velocity в Unity C#?
Свойство velocity компонента Rigidbody в Unity используется для управления скоростью объекта. Это вектор, который определяет направление и величину скорости движения Rigidbody в мировых координатах.
Использование velocity позволяет напрямую изменять физическое движение объекта, не прибегая к силам или другим параметрам. Это особенно полезно для создания контролируемого движения, такого как полеты, плавание или простой платформер.
При изменении свойства velocity важно учитывать, что это воздействие напрямую перезаписывает расчетные значения физического движка. Следовательно, оно не учитывает столкновения, сопротивление воздуха или другие физические силы, влияющие на объект.
Rigidbody.velocity
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private Rigidbody rb;
public float speed = 5.0f;
void Start()
{
// Получаем компонент Rigidbody
rb = GetComponent<Rigidbody>();
}
void Update()
{
// Получаем ввод игрока
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
// Рассчитываем новую скорость
Vector3 movement = new Vector3(horizontal, 0, vertical) * speed;
// Применяем скорость к Rigidbody
rb.velocity = movement;
}
}