Всем привет!Как сделать такую физику колёс?На видео колёса нормально сжимаются(по оси У),а корпус при этом почти не двигается.У меня же корпус может и сальто сделать..Даже на небольших кочках.
https://www.youtube.com/watch?v=nUXZiyU3OqE
Syberex писал(а):Не хватает стабилизатора поперечной устойчивости
Могу скинуть скрипт, сам где то брал не помню где...
Syberex писал(а):Синтаксис:Используется csharpusing UnityEngine;
using System.Collections;
/// <summary>
/// If you don’t have a stabilizer bar, you tend to have a lot of trouble with body roll in a turn.
/// http://www.edy.es/dev/2011/10/the-stabi ... -vehicles/
/// </summary>
public class TransmissionAntiRollBar : MonoBehaviour
{
public WheelCollider WheelL;
public WheelCollider WheelR;
public float AntiRoll = 5000f;
[HideInInspector]
public Rigidbody rigidbodyCashed; // Unity 5 Compatible
void Start()
{
rigidbodyCashed = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
WheelHit hit;
float travelL = 1f;
float travelR = 1f;
bool groundedL = WheelL.GetGroundHit(out hit);
if (groundedL)
travelL = (-WheelL.transform.InverseTransformPoint(hit.point).y - WheelL.radius) / WheelL.suspensionDistance;
bool groundedR = WheelR.GetGroundHit(out hit);
if (groundedR)
travelR = (-WheelR.transform.InverseTransformPoint(hit.point).y - WheelR.radius) / WheelR.suspensionDistance;
float antiRollForce = (travelL - travelR) * AntiRoll;
if (groundedL)
rigidbodyCashed.AddForceAtPosition(WheelL.transform.up * -antiRollForce, WheelL.transform.position);
if (groundedR)
rigidbodyCashed.AddForceAtPosition(WheelR.transform.up * antiRollForce, WheelR.transform.position);
}
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2