Unity C#
Метод FixedUpdate в Unity C# — фиксированное обновление для физики
Метод FixedUpdate в Unity нужен для действий, связанных с физикой. В отличие от Update, он вызывается через фиксированные интервалы времени, поэтому подходит для работы с Rigidbody и другими физическими компонентами.
Особенности
- Фиксированный интервал: вызывается через равные промежутки времени — стабильно для физики.
- Обработка физики: перемещение объектов с Rigidbody, применение сил, расчёт столкновений.
- Не зависит от FPS: в отличие от Update не привязан к частоте кадров, поэтому точнее для физики.
Пример кода
В FixedUpdate читаем оси ввода и толкаем объект с Rigidbody силой:
using UnityEngine;
public class Player : MonoBehaviour
{
private Rigidbody rb;
private float force = 10.0f;
// Метод Start используется для инициализации
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Метод FixedUpdate используется для работы с физикой
void FixedUpdate()
{
// Пример применения силы к объекту
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector3 forceDirection = new Vector3(horizontal, 0, vertical);
rb.AddForce(forceDirection * force);
}
}