Що таке 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;
}
}