Движение автомобиля и настройка физики в Unity.
В этом уроке я хочу рассказать вам как создать физику и движение автомобиля. Для этого нам потребуется модель самого авто/машина (без колес) и сами колеса, так же нам нужно скачать бесплатный ассет для unity, Car System, из которого мы возьмем несколько скриптов для нашего авто.
И так, начнем! Я использовал модель ЗИЛа, сделав в blender его колеса отдельными объектами.
Если вам потребуется модель можете скачать здесь.
Создадим плоскость или terrain, для того, чтобы наш автомобиль смог двигаться и перенесем модель зила на сцену.
Перейдем в Asset Store и импортируем в наш проект CarSystem.
До того как начать настраивать физику автомобиля, необходимо подготовить нашу модель. Добавим компонент Rigibody к нашей модели.
Создадим пустой объект на сцене и сделаем его дочерним нашей модели зила.
К этому объекту создадим еще 4 пустышки и переименуем их.
К каждому из этих объектов добавим компонент WheelCollider и настроим их таким образом:
Расположим их так, чтобы они находились примерно в каждом колесе (важно назначить каждому компоненту имя, чтобы не перепутать их в дальнейшем местами).
Вернемся на нашу модель и добавим скрипт Car из ассета CarSystem.
В скрипте Car откроем вкладку Wheel и добавим 4 колеса, в каждом колесе в строках whell collider укажем наши пустышки с компонентами wheel collider, в строке wheel transform укажем наши колеса. (Будьте внимательны, каждый коллайдер должен совпадать с расположением колеса, т.е. если вы указали коллайдер переднего правого колеса, то и модель колеса должна быть указана передняя правая, иначе ничего не получится). Советую для начала указать первые два колеса передние, для них поставить галочки ismotor и isfront. В строке Engine torque указать значение 0.22. Для задних колес, тот же параметр будет равен 0.28 и так же стоять галочки только на ismotor.
Передние колеса
Задние колеса
Укажем массу зила в компоненте rigibody и в скрипте car равную 4300. Вкладку Engine настроем вот так:
Во вкладке Transmission в строке defferintial rotation укажите 2.67, в строке front bake torque 4500 и в строке Back Brake Torque 4000
далее в строках max speed укажите 90 и hp 100
Нажмите на график Gear Ration_Curve и создайте примерно такой график (чтоб создать точку нажмите правой кнопкой мыши на график и выберете Add Key)
В этом скрипте больше ничего настраивать не нужно, следующие скрипты которые нужно добавить на авто это: car control, wings, steering, tcs system, anti roll bar 2 шт и user input.
В одном скрипте anti roll bar укажите компоненты с wheel collider передние, а в другом задние
Теперь создадим еще одну пустышку к нашему авто и добавим к ней box collider, настроем его примерно так:
Теперь можно проверить игру, ЗИЛ двигается, но средние колеса не крутятся, для этого создадим скрипт Transformwhel, который будет повторять за задними колесами.
using UnityEngine; using System.Collections; public class Transformwhell : MonoBehaviour {public Transform whell2; void Update () { this.transform.rotation = whell2.transform.rotation; } }Видео: Car physics in unity 3D(uphill traction)
Видео: Simple Car Controller in Unity Tutorial
Этот скрипт поместим на средние колеса и укажем в строке whell2 одно из задних колес.
Снова проверяем, если все компоненты настроено правильно, то все получится и наш авто поедет.
Скачать проект можно здесь.
Видео
Easy Suspension - Unity Tutorial
Как сделать машину в Unity? Как я это делаю :3
Unity3D Car physics update: better locking differentials | Wheel Collider 3D
Unity3D How To: Driving With Wheel Colliders
Unity 5 Vehicle Physics
Unity 5 - Need For Speed Style Car Physics
Unity Car Physics - Lesson 1 - Suspension Physics
Racing Game Guide #3 [ My Suspension method And Logic ]
[UNITY3D] Develop game on Android [#2.1] - Physics and handling car
Basic Car Movement in Unity
Unite Europe 2016 - Gearboxes and Gas Pedals - Vehicle Physics in Unity
Car driving physics script [ unity 5 ]
Unity Car Physics Tutorial - #1
Unity 5 Tutorial - Car Lights
[UNITY3D] Develop game on Android [#2.3] - Physics and handling car
Unity Car Physics - Lesson 2 - Ackermann Steering
Unity 4 to Unity 5 How to Fix Wheel Collider ( Car Physics) Tutorial
Добрый день ! Поделитесь пожалуйста «CarSystem»
За ранее спасибо большое.