Как получит ускорение RigidBody

Физика в Unity

Как получит ускорение RigidBody

Сообщение ofengeim 08 фев 2012, 13:44

Добрый день.
Для описания более точной физики движения автомобиля мне надо знать ускорение, с которым движется тело
под действием приложенных сил. Есть ли возможность получить ускорение тела от UNITY, а не рассчитывать его самому?

Спасибо.
ofengeim
UNец
 
Сообщения: 2
Зарегистрирован: 08 фев 2012, 13:35

Re: Как получит ускорение RigidBody

Сообщение Neyl 08 фев 2012, 14:18

Непосредственно вектор ускорения получить нельзя, насколько я знаю. Но его нетрудно подсчитать.
Синтаксис:
Используется csharp
using UnityEngine;

public class BodyTester : MonoBehaviour
{
    private Vector3 lastVelocity = Vector3.zero;
    private Vector3 acceleration = Vector3.zero;
   
    void FixedUpdate()
    {
        acceleration = (rigidbody.velocity - lastVelocity) / Time.deltaTime;
        lastVelocity = rigidbody.velocity;
    }

    void OnGUI()
    {
        GUILayout.Label("Acceleration = " + acceleration.magnitude);
    }
}
Аватара пользователя
Neyl
UNIверсал
 
Сообщения: 404
Зарегистрирован: 20 июн 2010, 10:17

Re: Как получит ускорение RigidBody

Сообщение ofengeim 08 фев 2012, 19:19

Спасибо. Этот способ понятен. Если иначе нельзя, придется делать так.
ofengeim
UNец
 
Сообщения: 2
Зарегистрирован: 08 фев 2012, 13:35


Вернуться в PhysX

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2