VehicleWheel3D
Успадковує: Node3D < Node < Object
Корпус фізики 3D для VehicleBody3D, що імітує поведінку колеса.
Опис
Вуз, який використовується як дитина VehicleBody3D, щоб імітувати поведінку одного з його коліс. Цей вузол також виступає в якості комірця, щоб виявити, якщо колесо доторкнеться поверхні.
Примітка: Цей клас відомий питання і не призначений для забезпечення реалістичної фізики автомобілів 3D. Якщо ви хочете розширити фізику транспортних засобів, вам може знадобитися записувати власну фізичну інтеграцію за допомогою іншого класу PhysicsBody3D.
Посібники
Властивості
|
||
|
||
|
||
|
||
physics_interpolation_mode |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методи
get_contact_body() const |
|
get_contact_normal() const |
|
get_contact_point() const |
|
get_rpm() const |
|
get_skidinfo() const |
|
is_in_contact() const |
Описи властивостей
Повільняє колесо, застосовуючи гальмівну силу. Колесо сповільнюється, якщо він контактує з поверхнею. В залежності від RigidBody3D.mass транспортного засобу. Для автомобіля з масовим набором до 1000, спробуйте значення в діапазоні 25 - 30 для жорстких гальмівних гальмів.
float damping_compression = 0.83 🔗
Амортизація пружини підвіски під час стиснення, тобто коли колесо рухається вгору відносно автомобіля. Вимірюється в ньютон-секундах на міліметр (Н⋅с/мм) або мегаграмах на секунду (Мг/с). Це значення має бути від 0,0 (без демпфування) до 1,0, але може бути більше. Значення 0,0 означає, що автомобіль продовжуватиме підстрибувати, оскільки пружина зберігає свою енергію. Хорошим значенням для цього є приблизно 0,3 для звичайного автомобіля, 0,5 для гоночного автомобіля.
float damping_relaxation = 0.88 🔗
Амортизація пружини підвіски під час відскоку або висування, тобто коли колесо рухається вниз відносно автомобіля. Вимірюється в ньютон-секундах на міліметр (Н⋅с/мм) або мегаграмах на секунду (Мг/с). Це значення має бути від 0,0 (без демпфування) до 1,0, але може бути більше. Це значення завжди має бути трохи вищим за властивість damping_compression. Для значення damping_compression 0,3 спробуйте значення релаксації 0,5.
Прискорює колесо, застосовуючи зусилля двигуна. Колесо використовується тільки при контакті з поверхнею. RigidBody3D.mass транспортного засобу впливає на прискорення транспортного засобу. Для автомобіля з великим набором до 1000, спробуйте значення в діапазоні 25 - 50 для прискорення.
Примітка: Симулятор не бере ефекту передач в рахунок, потрібно додати логіку для цього, якщо ви хочете імітувати редуктори.
Негативне значення призведе до розвороту коліс.
Рульовий кут для коліс, в радіях. Налаштування цього до ненульового значення призведе до повороту транспортного засобу, коли він рухається.
float suspension_max_force = 6000.0 🔗
Максимальна сила пружини може протистояти. Це значення має бути вище чверті RigidBody3D.mass VehicleBody3D або пружина не буде нести вагу транспортного засобу. Хороші результати часто отримують за значенням, що становить близько 3 × до 4 × цього числа.
float suspension_stiffness = 5.88 🔗
Жорсткість підвіски, виміряна в Ньютонах на міліметр (Н/мм) або мегаграмах на секунду в квадраті (Мг/с²). Використовуйте значення нижче 50 для автомобіля позашляховика, значення від 50 до 100 для гоночного автомобіля та спробуйте приблизно 200 для автомобіля Формули-1.
float suspension_travel = 0.2 🔗
Це відстань підвіски може подорожувати. У міру того, як Godot одиниці еквівалентні метрам, зберігайте цю установку відносно низькою. Спробуйте значення між 0.1 і 0.3 залежно від типу автомобіля.
bool use_as_steering = false 🔗
Якщо значення true, це колесо буде повертатися, коли автомобіль керуватиме. Це значення використовується разом із VehicleBody3D.steering та ігнорується, якщо ви використовуєте значення steering для кожного колеса.
bool use_as_traction = false 🔗
Якщо значення true, це колесо передає силу двигуна на землю, щоб рухати транспортний засіб вперед. Це значення використовується разом із VehicleBody3D.engine_force та ігнорується, якщо ви використовуєте значення engine_force для кожного колеса.
float wheel_friction_slip = 10.5 🔗
Це визначає, скільки зчеплення має це колесо. Поєднується з налаштування тертя поверхні, з якою колесо в контакті. 0,0 означає відсутність зчеплення, 1,0 означає нормальне зчеплення. Для створення дрифта на автівці намагайтеся встановлювати зчеплення задніх коліс трохи нижче, ніж на передніх колесах, або використовуйте нижче значення для імітації зношення шин.
Для новачків краще ставити 1,0.
Радіус колеса в метрах.
float wheel_rest_length = 0.15 🔗
Це відстань в метрах коліс знизиться з точки його походження. Не встановіть це до 0.0 і перемістіть колесо в позицію, замість того, щоб перемістити точку походження вашого колеса (гізмо в Godot) до положення колеса займеться при знизі, потім використовуйте довжину решти, щоб перемістити колесо вниз до положення, вона повинна бути в тому випадку, коли автомобіль знаходиться в іншому місці.
float wheel_roll_influence = 0.1 🔗
Це значення впливає на рулон вашого автомобіля. Якщо встановити до 1.0 для всіх коліс, ваш автомобіль буде протистояти рулону тіла, тоді як значення 0.0 буде схильне до прокатки.
Описи методів
Node3D get_contact_body() const 🔗
Повертаємо вузол контактування тіла, якщо діє в дерево, як Node3D. На даний момент GridMap не підтримується, тому вузол завжди буде тип PhysicsBody3D.
Повертаємо null, якщо колесо не контактує з поверхнею, або контактний корпус не є PhysicsBody3D.
Vector3 get_contact_normal() const 🔗
Повертає нормаль зіткнення підвіски у світовому просторі, якщо колесо контактує. Якщо колесо ні з чим не контактує, повертає вектор, що вказує прямо вздовж осі підвіски на автомобіль у світовому просторі.
Vector3 get_contact_point() const 🔗
Повертає точку зіткнення підвіски у світовому просторі, якщо колесо контактує. Якщо колесо ні з чим не контактує, повертає максимальну точку променя колеса у світовому просторі, яка визначається wheel_rest_length + wheel_radius.
Повернення обертальної швидкості колеса в оборотах за хвилину.
Повертає значення між 0.0 і 1,0, що вказує на те, що це колесо пропускається. 0.0 - катання на лижах (колесник втратив зчеплення, наприклад, ількість місцевості), 1.0 означає не пропустити (колесо має повне зчеплення, наприклад, суху асфальтову дорогу).
Повертаємо true, якщо це колесо контактує з поверхнею.