Ремонт авто в юнити


Изучение альтернативной физической модели (часть 1 из 3) / Хабрахабр

Прежде чем начнем, хочу предупредить, что это не перевод официального руководства, а мое личное руководство к установке физики на автомобиль.

Часть 1Часть 2Часть 3

Изучение альтернативной физической модели:

Часть 2Часть 3

В официальном руководстве говорилось о физике автомобиля, которая имеет упрощенную модель и имеет много недостатков, которые можно прочитать в самом конце Часть 3 руководства. Или посмотреть это видео:

P.S Для тех у кого модели экспортированы, можем сразу же перейти к настройке автомобиля Переход, а так же могут просмотреть видео по настройки автомобиля (дополнение к статье) :

Итак, давайте приступим по-порядку.

Для начала скачаем скрипты, которые нам понадобятся (cкачать), в каждом скрипте представлены комментарии, мы кратко изучим описание каждого скрипта. Что бы иметь общее представление.

AerodynamicResistance.cs: Этот скрипт, должен быть добавлен к каждому автомобилю, чтобы вычислить аэродинамическое трение автомобиля.

AntiRollBar.cs: При необходимости добавьте, чтобы имитировать стабилизатор поперечной устойчивости для лучшей управляемости.

CarController.cs: скрипт для обработки управления автомобилем. Этот скрипт необходим для каждого автомобиля. Вы можете редактировать этот скрипт, если вы хотите изменить управление автомобилем или реализовать ИИ. Также устанавливает некоторые характеристики корпуса автомобилей, таких как центр тяжести и инерции.

CarCamera.cs: Скрипт для камеры. Который после настроек будет следить за нашим авто.

Drivetrain.cs: двигатель и трансмиссия автомобиля. Этот скрипт содержит коробку передач и двигатель. Один из скриптов необходимый в автомобиле.

SoundController.cs: Простой класс, чтобы проигрывать звуки автомобиля и другие звуки. Этот скрипт должен быть добавлен на автомобиль.

TractionHelper.cs: При необходимости добавьте этот скрипт на автомобиль, чтобы сделать его более устойчивым.

Wheel.cs: Этот скрипт имитирует модели шин и подвески колес, и действует в качестве замены в Unity встроенного компонента Wheel Collider.

Wing.cs: Добавьте один скрипт или более одного, если вы хотите имитировать прижимную силу аэродинамики для вашего автомобиля.

Подготовка автомобиля

На самом деле это самая важная часть, я столкнулся с рядом проблем в работе физики автомобиля из-за неправильного экспорта. И так давайте сначала познакомимся с системой координат правосторонней и левосторонней.

Blender использует правостороннюю систему координат с осью Z, направленной вверх. Такую систему координат используют почти все САПР. Смотрите рисунок:

Unity3d как почти любой другой игровой движок использует левостороннюю систему координат. Когда Y направлен вверх, X — вбок, Z- вперед. Смотрим рисунок:

Следовательно сначала для правильного экспорта автомобиля, мы должны для себя уяснить, что Z+ это будет направление в игре когда автомобиль движется вперед, (Z-) — направление когда автомобиль движется назад. (X+-) это направления поворота вбок — но это в Unity, которая использует левостороннюю систему координат. А в правосторонней системе координат (Blender, 3ds max) Y+ это будет направление когда автомобиль смотрит вперед и (X+-) это направления вбок. Это значит что автомобиль должен стоять в сцене так, как на рисунке, в противном случае ждите проблем с физикой:

Все параметры вращения должны стоять на 0 для дальнейшей работы и для правильной генерации Меша (Mesh), надо Scale установить по умолчанию. Для этого мы сделаем следующие действия в Blender.

1)Выделим все объекты в сцене (клавиша A) 2)Object>Apply>Rotate & Scale.

Смотрите рисунок:

Теперь все параметры вращения приняты и установлены на 0. А параметры масштабирования (Scale) установлены на по умолчанию (1). Смотрим рисунок:

Теперь можем делать «Правильный экспорт» из правосторонней системы координат в левостороннюю систему координат.

1)Выделим все объекты (клавиша A) 2)Жмем последовательность R>X>-90. 3)Object>Apply>Rotate. 4)Жмем последовательность R>X>90.

Обязательно делайте в данной последовательности. Далее экспортируем модель в Unity. File>Export>FBX со следующими настройками:

После экспорта модели, идем в папку с этой моделью и копируем папку Textures (папку с текстурами) и наш FBX файл. В папку Assets нашего проект. Это позволит Unity импортировать модель прямо с текстурами, которые были настроены в Blender.

Ресурсы игры:

Настройка автомобиля

Видео по настройке автомобиля (дополнение к статье)

Создадим Prefab и закинем наш объект в Prefab. 1)Вкладка Assets>Create>Prefab 2)Переименуем new prefab в Car 3)Перетащим методом D&D наш Ассет Vaz_2106_mesh в наш Prefab с именем Car. 4)Перетащим методом D&D наш Prefab с именем Car на сцену.

Структура Prefab Car следующая:

VAZ2106_Car_body — Содержит множество элементов, это и двери и фары и бампера и т.д (упрощенная структура автомобиля)VAZ2106_Car_window — Окна автомобиля.VAZ2106_WheelFL — Переднее левое колесо.VAZ2106_WheelFR — Переднее правое колесо.VAZ2106_WheelRL — Заднее левое колесо.VAZ2106_WheelRR — Заднее правое колесо.

Теперь добавим физику нашему автомобилю. 1) Выделим наш объект — автомобиль (у меня это Car). 2) Перейдем на вкладку Inspector нажмем кнопку Add component>Physics>Rigidbody. 3) Заходим в компонент Rigidbody и делаем настройки (желательно более приближено к оригинальной модели).

В моем случае полная масса автомобиля 1445 кг. Mass= 1445. Все остальные характеристики ставим на 0. т.к они отвечают за сопротивление. А за сопротивление у нас будет отвечать отдельный скрипт AerodynamicResistance.cs.

Настройки Rigidbody у вас должны быть примерно такими:

Кроме массы автомобиля.

Создание колёс

Создадим пустой объект для каждого из колёс — (нужно что бы к каждому отдельному колесу применить скрипт Wheel).

1)Правый клик мыши по Prefabs нашего автомобиля > Create Empty 2)Переименуем наш пустой объект с именем GameObject на WheelFL (по аналогии с VAZ2106_WheelFL) 3)Изменим координаты X,Y,Z объекта WheelFL на координаты объекта VAZ2106_WheelFL, а координаты объекта VAZ2106_WheelFL сменим на 0. 4)Перетащим методом D&D наш VAZ2106_WheelFL в объект WheelFL. 5)Повторим пункт 1-4 еще 3 раза меняя название GameObject в соответствии с нашими колесами.

У нас должна получится следующая структура файлов:

Далее добавим скрипт Wheel.cs к нашим колесам. 1) Выделим WheelFL перейдем на вкладку inspector. 2) Нажмем кнопку Add component>Script>Wheel. 3) Повторим пунктов 1-2 еще 3 раза к WheelFR, WheelRL, WheelRR.

На каждом колесе должна быть такая структура компонентов:

Настройки для колёс.

1) WheelFL:

2) WheelFR:

3) WheelRL:

4) WheelRR:

Основные настройки тут:

Radius: — радиус колеса, значение это надо подбирать в зависимости от размера колеса.Suspresion Travel: — подвеска автомобиля, в прошлых частях речь шла более подробно об этом.Dumping: — жесткость пружины.

Остальные настройки тоже очень важны, но их я думаю разберем в следующей части.

С колесами закончили.

Добавление центра тяжести и коллайдера автомобиля

Создание центра тяжести

1) Правый клик мыши по Prefabs нашего автомобиля > Create Empty. 2) Переименуем наш пустой объект с именем GameObject на СoG (сокращение center of gravity). 3) Зададим координаты в компоненте Transform объекта CoG так как на рисунках.

Примерно должно выглядеть так:

Центр тяжести примерно должен быть впереди чуть выше дна автомобиля. но в принципе для каждого автомобиля индивидуально настраивается. Всё это будет отлаживаться во время тестирования.

Создание Collider для тела автомобиля

1) Правый клик мыши по Prefabs нашего автомобиля > Create Empty 2) Переименуем наш пустой объект с именем GameObject на Collider_body 3) Добавим Box Collider компонент. (Add component>Physics>Box Collider) 4) Сделаем настройки компонентов как на рисунке. Возможно у вас будут другие настройки, смотрите как должно покрывать автомобиль Box collider.

Коллайдер нужен для создание столкновений и правильной физики автомобиля.

Создание Collider для крыши автомобиля

1) Правый клик мыши по Prefabs нашего автомобиля > Create Empty. 2) Переименуем наш пустой объект с именем GameObject на Collider_head. 3) Добавим Box Collider компонент (Add component>Physics>Box Collider). 4) Сделаем настройки компонентов как на рисунке. Возможно у вас будут другие настройки, смотрите, как должно покрывать автомобиль Box collider.

Коллайдер нужен для того, что бы, если какой то объект упадет на крышу автомобиля, что бы он взаимодействовал с крышей а не с телом автомобиля.

В общем итоге должно получится что-то вроде этого:

Конечно, можно использовать Mesh Collider, но Mesh Collider затребует больше ресурсов чем примитивные объекты. Решать вам.

Создание и настройка автомобиля

Итак, с колесами частично разобрались, настройки колес мы произведем позже, а сейчас мы займемся добавлением компонентов к нашему Prefab car.

1) Выделяем prefab автомобиля. 2) На вкладке inspector жмем кнопку Add Component>Script>Car Controller.

Добавится скрипт CarController и зависимый от него скрип Drivetrain

3) Жмем кнопку Add Component>Script>Sound Controller. 4) Жмем кнопку Add Component>Script>Anti Roll bar. 5) Повторим пункт 4. 6) Жмем кнопку Add Component>Script>Aerodynamic Resistance. 7) Жмем кнопку Add Component>Script>Traction Helper.

После того как добавили скрипты, делаем следующие настройки для наших скриптов.

Main Camera — настройки

Осталось последняя часть, сделаем настройки нашей камеры.

1) Жмем кнопку Add Component>Script>Car Camera. Делаем следующую настройку:

Target — объект, на который будет ориентироваться камера. Height — Высота камеры. Distance_to_back — дистанции от объекта до камеры. Distance_from_back — дистанции от объекта до камеры после разгона автомобиля (эффект приближения).

Естественно, все эти настройки надо настраивать под каждый автомобиль индивидуально. Описание всех настроек не приводится, т.к я еще сам разбираюсь в них, и не хотел описывать параметры в которых 100% не уверен. Однако данное руководство может быть отправной точкой для создания собственной модели автомобиля.

habrahabr.ru

Руководство к Car Tutorial (Unity3d) часть 1 из 3 / Хабрахабр

Это переведенное руководство для проекта ссылка или альтернативная ссылка на проект с исправленными ошибками под Unity3d 4.6.

P.S Оригинал руководства, находится в самом проекте ввиде 3ех PDF файлов, в папке Assets.

Данный архив был заменен на UnityPacked. В этом проекте уже залит архив со скриптами переписанными на C# находящийся в папке Assets\Scripts\CSharpScripts. Порядок установки:

1) Запускаем Unity3d и создает пустой проект. 2) Импортируем наш проект > (Assets/Import Package/Custom Package). 3) Дожидаемся импорта всех ресурсов и вуаля наш проект импортирован. 4) ВНИМАНИЕ!!! если хотите использовать все C# скрипты, надо удалить предварительно JS скрипты из проекта и из

Prefabs, а затем распаковать архив C# скриптов и использовать эти скрипты.

Отдельное спасибо команде Zionn Game Room за перевод официальных и не официальных видеоуроков по Unity3d на русский язык. И так, приступим к изучению нашего руководства.

Часть 2Часть 3

Цель этого руководства является показать вам, как создать гоночную игру в Unity3d. Мы создадим автомобиль из 3D-моделей, скриптов и компонентов. Мы предоставляем вам полноценный проект гоночного симулятора, где вы можете играть и изучать готовые сцены. Мы также предоставим вам сцену которая полностью готова для игры, кроме автомобиля над которым вы можете потренироваться с помощью этого руководства.

Что мы изучим?

Начнем с того о чем это руководство. Оно разделено на три части, которые независимы друг от друга:

1. Сборка автомобиля Как собрать автомобильный префаб (Car Prefab) из 3D-модели, скриптов и компонентов. Это текущий раздел.

2. Тонкая настройка автомобиля Как правильно настроить автомобиль.

3. Под капотом Более глубокий взгляд на исходный код, который приводит в движение автомобиль.

Необходимые условия

Руководство не предназначено для начинающих в качестве обучения Unity3d . Вы должны иметь базовые понимания как Unity3d организован, вы должны знать, что такое Игровой объект (GameObject), Компоненты (Components), Скрипты (Scripts) и т.д. Мы вместе разберем много материала, некоторые вещи разберем базово, некоторые углублено.

Мы не будем изучать:

  • Остальные скрипты.   • Основы Unity3d. Мы не будем вдаваться в подробности с объяснением основ работы скриптов и компонентов Unity3d. Для этого есть много других ресурсов по адресам:ссылка №1ссылка №2

Руководство пользователя и скриптов Unity3d ценные спутники при изучении этого руководства. Мы предлагаем вам посетить эти ресурсы, когда вы сталкиваетесь со встроенными компонентами или функциями, о которых вы хотели бы узнать больше.

Подход к изучению является аналогом «Обезъяна видит, обезьяна повторяет»: вы следуете инструкциям, которые мы даем о создании автомобиля и изменении его переменных.

Надеюсь, вы поймете, как оно работает всё вместе и сами начнете разбираться в этом. Не стесняйтесь изучать.

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

Это не линейное пошаговое руководство, но мы будем рассматривать большую часть того, что происходит.

Мы уверены, что вы узнаете многое, после того как ознакомитесь со всеми руководствами.

Скачайте архив с папкой проекта или альтернативная ссылка на проект с исправленными ошибками под Unity3d 4.6. Начните с открытия сцены с именем 'CompleteScene'. Эта сцена имеет настроенный автомобиль, вы можете попробовать поиграть нажав кнопку воспроизведения (Play). Это продемонстрирует вам конечный результат того, что мы собираемся сделать.

Когда вы закончите играть, откройте сцену под названием 'TheTrack'. Эта сцена содержит все что нужно для гоночного симулятора, за исключением наиболее важной части — автомобиля.

Теперь перетащите модель автомобиля в сцену. В окне проекта (Project view) вы находим его в Models/Car/catamount,

В зависимости от того, куда вы перетащили автомобиль, вы вероятно захотите изменить его позицию на более подходящую. Я полагаю, что вы измените позицию автомобиля в инспекторе (inspector) на (860, 102.3, 878) и установите его Y-вращение (Rotate) 130.

Для остальной части руководства, этот игровой объект будет называться «Car», так что вы можете переименовать его сейчас.

Это просто 3D модель автомобиля. Если вы посмотрите в инспектор, вы увидите, что она содержит множество дочерних объектов, такие как «тело» автомобиля, окна автомобиля и колеса. Она также содержит две простые сетки, которые мы будем использовать для коллайдеров (colliders) автомобиля. Не волнуйтесь, они сейчас не видны, мы изменим это. Потратьте некоторое время на изучение того как устроен автомобиль и как они связаны друг с другом в иерархии (hierarchy).

По ряду причин мы для автомобиля создали свой слой. С игровым объектом 'Car' разобрались, перейдите в инспектор и выберите «Car» в слоях выпадающего меню. В контекстном меню нажмите «Да, изменить дочерний объект (Yes, change children)», чтобы применить, изменения применяются ко всем объектам в иерархии автомобиля.

У игрового объекта «Car» есть компонент анимации, который устанавливается по умолчанию. Поскольку это не то, что мы собираемся использовать, пойдем дальше и немного подчистим, нажав на маленькое колесо справа компонента анимации (Animation Component) и выберите «Remove Component (Удалить компонент)».

Теперь мы настроим компоненты столкновения (Collision) для автомобиля, предотвратив его от падения за сцену, когда сцена активна. Вместо того чтобы использовать сложные сетки в качестве коллайдеров (colliders) на основе настоящей сетки машины, мы создали две сетки, что гораздо проще, которые соответствуют верхней и нижней части автомобиля. Для повышения производительности мы используем эти сетки в качестве модели столкновений.

• Нажмите на игровой объект Collider_Bottom, который находится как дочерний объект, объекта 'Car' (автомобиль). • Перейдите в меню Component/Physics и нажмите MeshCollider добавив к объекту игры. • Нажмите Material в выпадающем селекторе на вновь добавленном компоненте MeshCollider и выберите physics material. • Проверьте что бы стояли галочки на двух квадратах (checkbox) ‘Smooth Sphere Collisions’ и ‘Convex’ • Так как коллайдеры будут невидимыми, удалите MeshRenderer и MeshFilter компоненты из игрового объекта (Нажмите на маленькое зубчатое колесо справа компонентов и выберите пункт «Удалить компонент» (‘Remove Component’). • Сделайте то же самое что описано выше для игрового объекта Collider_Top.

Мы собираемся изменить настройки теней для модели автомобиля «Car» по двум причинам. Прежде всего отключение теней в объектах, которые на самом деле не нуждаются в ней очень хорошая практика для повышения производительности. Во-вторых, мы считаем, что автомобиль будет выглядить лучше когда настроим тени. Это может быть более приятным для глаз, когда тени появляются и исчезают на автомобиле, во время его передвижения с большой скоростью по сцене. Если вы хотите более реалистичное поведение теней, это вполне возможно. Просто измените настройки в соответствии с вашими желаниями.

Настройки, которые мы используем для различных частей автомобиля являются следующие:

Термины:

enabled — включеноdisabled — выключеноCast Shadows — отбрасывающие тениReceive Shadows — полученые тениBody — корпус автомобиляBody Interior — корпус салонаCar Windows — окна автомобиляDiscBrakes — Дисковые тормозаWheels — Колеса. Body: Cast Shadows enabled. Receive Shadows disabled Body Interior: Cast Shadows enabled. Receive Shadows disabled Car Windows: Cast and Receive Shadows disabled DiscBrakes: Cast and Receive Shadows disabled Wheels: Cast Shadows enabled. Receive shadows disabled. Теперь давайте начнем добавлять компоненты, необходимые для правильной работы автомобиля (игрового объекта 'Car')

Прежде всего, нам нужен способ контролировать положение автомобиля в мире с помощью физической симуляции, и встроенный в компонент Rigidbody идеально подходит для этого. Выберите игровой объект «Car», перейдите в меню Components и выберите Physics/RigidBody. Подтвердите сообщение Unity3d, которое сообщает вам о потере prefabсоединений и наблюдаем, как игровой объект теперь имеет Rigidbody компонент прикрепленный в качестве одного из его компонентов.

• Автомобиль очевидно весит больше, чем просто один килограмм, так что начнем с изменения массы (Mass) в Rigidbody на что-то более реалистичное, допустим 1500кг. • Далее мы имеем возможность изменить angularDrag свойство, это силы которые замедляют скорость и вращение Rigidbody. Мы будем контролировать сопротивление автомобиля с помощью скриптов, так что просто установите свойство angularDrag в 0. • Найдите скрипт Car.js в папке ‘scripts/JavaScripts’ и перетащите его на игровой объект «Car». Этот скрипт является «двигателем» автомобиля, на объяснения скрипта мы сосредоточимся более подробно в конце этого руководства.

Компонент-скрипт «Car.js» имеет много различных переменных, которые будут объясняться, когда мы начнем настройки автомобиля, еще более подробно мы расскажем когда будем изучать код. Сейчас мы просто хотим настроить то что нужно, чтобы иметь возможность управлять автомобилем на трассе.

Прежде всего, скрипт «Car» должен знать о колесах, которые имеет автомобиль. В инспекторе вы увидите передние колеса (Front Wheels) и задние колеса (Rear Wheels), обратите внимание, что оба они могут быть расширены путем нажатия на маленькую стрелку слева от имени.

• Установите размер (size) передних (Front) и задних колес (Rear Wheels) на 2, оставляя место для двух передних колес и двух задних колес. • Теперь раскройте WheelFL, WheelFR, WheelRL и WheelRR в инспекторе. Вы увидите, что каждый из них имеет тормозной диск (DiscBrake) в качестве дочернего объекта, и то что каждый тормозной диск (DiscBrake) имеет колесо в качестве дочернего объекта. • Перетащите DiscBrakeFL и DiscBrakeFR в два открытых слота под (Front Wheels) передние колеса в скрипте «Car» , а так же DiscBrakeRL и DiscBrakeRR к слотам под (Rear Wheels) задние колеса. • Вы можете спросить — зачем дисковые тормоза колесам? И объяснение простое: Дисковые тормоза в качестве родительских игровых объектов, поэтому установка дисков как колес будут включать шины.

Направленный свет сделает у автомобиля хорошую blob тень на дороге, если тени разрешены в вашем проекте. Мы также хотим, добавить тень под машину, как показано на этом изображении.

Для этого мы будем использовать проектор, который проецирует Blob тень, напоминающую форму автомобиля на дороге непосредственно под машиной. Проектор встроенный в компонент, который работает так же, как настоящий проектор. Вы указываете текстуру, которую хотите передавать, и на основе настроек для проектора и (расстояния до цели), тень будет опираться на те текстуры объектов, которые находятся на пути света проектора.

• В иерархии, создайте пустой игровой объект и перетащите его на автомобиль «Car», чтобы сделать его дочерним объектом, игрового объекта «Car». • Задайте имя объекту «Blob shadow projector» • Добавить компонент (Projector) проектора на Blob тень этого проектора (Component->Renderer->Projector) • Установите на проекторах настройки Near Clip Plane = 0,1, Far Clip Plane = 50, Field of View = 30. • Назначьте материал Blob_shadow для слота материала. • В «Ignore Layers» выберите «Everything», а затем снимите флажок со слоя «Road», в результате чего проектор отбросит Blob тень на дорогу. • Добавьте скрипт BlobShadowController.js (в папке Scripts/CSharpScripts в окне проекта)

Положение и вращение компонента (Projector) проектора обновляется каждый кадр в BlobShadowController.js скрипте который является довольно простым. Короче говоря, он находится в 10 метрах над автомобилем и получает его координаты вращения на основе вращения машины. Вы можете взглянуть на скрипт и попытаться изменить значение, если вы хотите что бы Blob тень автомобиля на дороге выглядела иначе.

Некоторые из вещей, которые делают процесс вождения автомобиля еще более увлекательным, это заносы автомобиля вокруг угла трассы или делать разворот на высокой скорости. Для усиления эффекта колес скользящих по дороге, мы собираемся добавить некоторые следы шин на поверхности, когда автомобиль скользит.

Так мы установим следы шин, если добавим имеющийся скрипт, который контролирует все следы шин в сцене. Этот контроллер отвечает за создание сетки, которая представляет следы шин. Каждое колесо знает свою позицию и будет ли скольжение или нет. Мы используем эту информацию, чтобы зарегистрировать точку в мире, где мы хотим установить отметку заноса (skidmark) по отношению к контроллеру skidmark. Мы позволяем каждому колесу отслеживать предыдущие skidmark точки так, чтобы следы шин от нескольких колес не были перепутаны.

Мы создали prefab, для этого вы можете просто перетащить его на сцену:

• Перетащите Skidmarks prefab из Prefabs->VFX->Skidmarks на сцену.

Мы устанавливаем интенсивность следов от шин, регулируя цвет каждой созданной вершины. Интенсивность определяется тем, насколько силен занос колеса. Для того чтобы создать этот эффект мы используем настроенный шейдер, который использует альфа из каждой вершины при рендеринге тормозных следов. Как и в автомобиле есть несколько вещей, которые могут быть изменены, чтобы сделать следы шин подходящие лучше к машине, которую вы пытаетесь построить.

Переменная Max Marks определяет количество позиций для следов от шин, которые могут существовать на сцене в любое время. Все колеса, используют те же следы от шин, так что это число рассчитывается на все колеса. При достижении следов от шин максимального количества, первая позиция будет перезаписана. Увеличение этого числа также будет увеличивать суммарную длину всех частей следов от шин в сцене. Переменная (Mark Width) определяет ширину следов от шин. Она должна быть отрегулирована, чтобы соответствовать колесам созданного транспортного средства. Если это большой грузовик вы попытаетесь сделать очень широкий skidmark, который нам необходим, и если это «сверхзвуковой автомобиль» с ультра-тонкими шинами, изготовленные для установки рекорда скорости, очень тонкий skidmark будет выглядеть реалистичней. Когда сетка для следов от шин создана, она будет создана с использованием точек, вычисленные из колес для размещения skidmark на дороге. Эти точки чаще всего будут прямыми на поверхности во время сколжения колёс. Когда две сетки оказываются сразу на верхней части друг друга, это может приводить к некоторым мерцанием в игре.

Чтобы предотвратить это, вводится переменная Ground Offset (Наземное смещение). Сетка будет создана и приподнята на всю длину смещения в направлении нормали к поверхности. Так что, если некоторое мерцание существует или следы от шин пересекаются с поверхностью, попробуйте увеличить смещение. Для дальнейшего обеспечения того, чтобы следы от шин оставались на поверхности земли, используются шейдеры для следов от шин, было создано смещение, и было приписана к другой очереди визуализации (Rendering).

Когда новая точка добавляется в SkidmarkController она должна быть в (Min Distance) минимальном расстоянии от последней точки skidmark (следов от шин). Это гарантирует вам производительное добавление следов от шин на очень небольшие площади. Не устанавливайте это значение слишком большим, хотя это может сделать следы от шин слишком большими, и кроме того, увеличенное расстояние может показаться, будто они отстают от колес т.е. следы от шин появляются за колесами. Уменьшение значения будет в какой-то степени сглаживать следы от шин, создавая иллюзию будто следы от шин «ближе» к колесам.Текстуры шин для колес от грузовика весьма разные в сравнении с текстурами шин на колесах из формулы-1 (Formula-1). Текстуры для следов от шин (skidmarks) будут создаваться на поверхности. Если вы создали другой тип автомобиля с очень разными колесами, вам нужно будет изменить эту текстуру, если вы хотите, чтобы следы от шин соответствовали колесам. • Добавьте скрипт SoundController.js в игровой объект автомобиль «Car» (Перетащите его из Scripts/JavaScripts/SoundController.js).

Компонент Звукового контроллера (Sound Controller) имеет несколько слотов для аудиофайлов, в которые мы должны назначить разные аудиофайлы. Аудиофайлы находятся в папке Sound/Car в окне проекта (Project view).

Перетащите:

• CarEngine_D_upper-register перетащить на слот D. Установите громкость на 0,565. • CarEngine_E_midlow-register перетащить на слот E. Установите громкость на 0.8 • CarEngine_F_midhigh-register перетащить на слот F. Установите громкость на 0.78 • CarEngine_K_passing-rush перетащить на слот K. Установите громкость на 0.565 • CarEngine_L_lower-register перетащить на слот L. Установите громкость на 0.71 • Wind-loop_stereo_22khz_16bit перетащить на слот Wind. Установите громкость на 0.8 • CarEngine_DEFL_tunnel-add_small перетащить на слот Tunnel Sound. Установите громкость на 0.8 • Collision1 перетащить на слот Crash Low Speed Sound. Установите громкость на 0.8 • Car_crash2_smaller перетащить на слот Crash High Speed Sound. Установите громкость на 0.5 • Car_skid1 перетащить на слот Skid Sound. • CarTutorialSong перетащить на слот Background Music. Установите громкость на 1.

Настройки громкости (volume settings), конечно это только настройки которые мы предлагаем. Вы можете «поиграть» с разными значениями, чтобы получить точный звуковой образ, который вы себе представляете. Или вы могли бы пойти еще дальше и создать своё собственный меню настроек для звука, позволяя настроить громкость музыки и эффектов отдельно в игре.

Наконец перетащите следующие скрипты на игровой объект автомобиль (Car):

• LightmapperObjectUV.js из (scripts/JavaScripts) • CrashController.js из (scripts/JavaScripts) • Generate2DReflection.cs из (scripts/CSharpScripts)

Мы должны сделать одну последнюю вещь, прежде чем мы сможем опробовать игру, которую мы только что создали. Камера должна следовать за машиной, в противном случае автомобиль просто уедит из поля зрения, как только мы начнем движение.

• Перейдите к Main_Camera (Главная камера) и перетащите ее на игровой объект «Car» (Автомобиль) и направьте камеру так как вам удобно для управления машиной (в рамках компонента скрипта «Car Camera» Автомобильная камера).

habrahabr.ru

Unity 5 . Physics Car

Unity 5 . Physics Car

Движение автомобиля и настройка физики в 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; } }

Этот скрипт поместим на средние колеса и укажем в строке whell2 одно из задних колес.

Снова проверяем, если все компоненты настроено правильно, то все получится и наш авто поедет.

Скачать проект можно здесь.

На Главную

3dgame-creator.ru

UnityCar — автомобили с физикой для Unity3D / Хабрахабр

Игровой движок Unity3D не нуждается в особом представлении. Для тех, кто не знает, что это такое, могут посмотреть сайт unity3d.com/unity/ или поискать другие топики на хабре про этот замечательный кросс платформенный движок. Для него уже написано множество дополнений, моделей и других пакетов. Об одном из них и пойдет речь.UnityCar — полноценный физико-реалистичный пакет симуляции автомобилей для Unity3D, который прост в использовании и реализует множество физических моделей, включая модели повреждений и разрушений.

Небольшое видео, демонстрирующее возможности пакета:

Создание игр — процесс сложный. Существует множество решений, которые призваны облегчить этот процесс. Одни движки специализируются только на графике и управлении (например XNA), другие на физических расчетах (например NVidia PhysX), другие на чем-то еще. Но Unity3D позволяет соединить различные части игровой и графической логики воедино (о чем название «как-бы намекает»). PhysX позволяет делать базовые физические расчеты, поэтому вам требуется глубокое понимание процессов механики, аэродинамики, гидродинамики для создания физико-реалистичных игр. Но такая прикладная вещь, как физика транспортных средств может быть реализована в виде конечного числа кода, требующего минимум навыков со стороны вас (разработчика игры). UnityCar как раз и реализует соответствующую физику в рамках проектов на Unity3D.

Возможности UnityCar
Несмотря на простоту установки (в два клика) и использования, данный движок не страдает в функциональном плане, и можно выделить его основные возможности.
Реалистичная модель шин
В теоретической части, в основном опирается на формулы Hans B. Pacejka (эксперт в области физики транспортных средств и колесных систем). Также применяются уравнения продольной и боковой релаксаций и (опционально) уравнения упругой деформации. При этом производится поиск всех точек соприкосновения шины с дорожным покрытием, а не только одной (как в случае с Wheel Collider), но это может быть отключено при использовании аркадного режима (то есть с упрощенной физикой и меньшим использованием ресурсов).
Реалистичная модель подвески, трансмиссии
Моделируется поведение пружин, амортизаторов (как на сжатие, так и на растяжение) и стабилизатора поперечной устойчивости. Реализованные полноценные модели сцепления, дифференциала, передач и шестеренок.
Разрушения и повреждения
Возможны деформации кузова транспортного средства, выход из строя отдельных его частей. Также, машины можно ремонтировать. В следующих версиях планируется расширить модель разрушений, в том числе добавить воспламенения и взрывы машин.
Внешние элементы
Встроена функциональность тормозных фар, приборной панели. Приборная панель может быть настроена произвольным образом, могут быть выведены спидометр, счетчик оборотов, тахометр, ABS, передача и т.д.
Звуковое сопровождение
Звуковая часть движка воспроизводит всевозможные виды шумов, такие как шумы двигателя, подвески, трансмиссии, шин, повреждений, заносов, трения, езды по песку, по траве, по бездорожью. Звук также зависит от модели автомобиля.
Упрощение вождения
Неблокирующие тормоза, система стабилизации, контроль тяги, тренировочный режим. Аркадный режим, в нем значительно упрощается физическая модель, управление становится проще, но при этом снижается реалистичность. В некотором смысле, этот режим схож с вождением в GTA4.
Демонстрации
Чтобы не брать кота в мешке, вы можете попробовать несколько демонстраций, где реализованы различные фичи движка. Эти примеры не претендуют на фото реалистичность, но позволяют опробовать возможности UnityCar прямо в браузере (в Unity Web Player).

Использование движка
UnityCar можно применять везде, где работает Unity3D. Сам движок написан на C# и поставляется в комплекте с исходным кодом. Движок также работает на мобильных платформах (iOS и Android) и выполняет работу с приемлемой скоростью. UnityCar совместим с аналоговыми устройствами управления (руль, педали). Можно настроить множество параметров, а в случае отсутствия желаемой настройки вы можете внести изменения в исходный код. Имеется вики-документация и возможность обратной связи. Отдельное внимание уделяется производительности движка, особенно на мобильных устройствах.
Условия приобретения
Продукт UnityCar платный. Стоимость при прямом платеже через PayPal составляет 97 евро, а через Unity Asset Store 143 евро. В течении 30 дней после оплаты гарантируется возможность возврата средств. После оплаты вы получаете:
  1. Непосредственно движок UnityCar
  2. Исходный код на языке C#
  3. Бесплатные обновления
  4. Обратную связь (также на русском языке через форум)
  5. 9 готовых машин
Ссылки для приобретения продукта есть на сайте. Вы имеете право использовать приобретенный продукт практически в любых целях, естественно, без права перепродажи исходного продукта и без права публикации исходного/модифицированного кода UnityCar.

Приятного создания игр!

habrahabr.ru

Руководство к Car Tutorial (Unity3d) часть 2 из 3 / Хабрахабр

Часть 1Часть 3

Итак, приступим к изучению нашего руководства.

Если вы изучили 1ую часть этого руководства и собрали автомобиль, вы уже на этапе где автомобиль является довольно-таки работоспособным. Но, если вы тестировали немного автомобиль, вы вероятно заметили, что есть все-таки возможность для улучшения управления автомобилем.

Именно здесь тонкая настройка выходит на сцену. В разработке игры тонкая настройка является важной частью, что бы сделать свою игру интересной, сложной и удивительной. Идея заключается в том, что бы когда в вашей игре будет несколько автомобилей, вы наверно захотите что бы у них была разная скорость, сопротивление или вы может хотите изменить свет на сцене и т.д

Главная сила Unity3d является его возможность тонкой настройки (tweakability) — как вы видели, все публичные переменные в скриптах показаны в инспекторе, так что вы можете изменить значения, не изменяя его в коде. И даже более мощные настройки: как только вы сделали изменения, вы можете сразу же увидеть результат изменений. Вам никогда не придется перекомпилировать игру, что бы увидеть результат изменений.

Теперь самая очевидная вещь, которая должна быть оптимальной, что бы автомобиль не смог очень легко перевернуться при повороте (если вы еще не пробовали, то поиграйте снова и ускорьтесь немного, а затем поворачивайте из стороны в сторону, ускоренный автомобиль будет переворачиватся довольно-таки легко). Причина этому переворачиванию является то, что мы еще не где не определили центр массы автомобиля. Все силы, которые применяются к Rigidbody автомобиля, все они применяются и к центру массы в Rigidbody. Поскольку центр массы в автомобиле, как правило является не центром автомобиля (вероятно и не центр массы, которое Unity3d высчитывает), мы хотим установить центр массы сами.

Положение центра масс для автомобиля зависит от размещения двигателя и других факторов, и оно может меняться много раз, от одной модели автомобиля до другой. Для автомобиля в проект данного руководства центр массы может быть немного позади двигателя и немного выше высоты дна автомобиля. Увидеть его положение можно в этой картинке:

• Создайте новый игровой объект и перетащите его в игровой объект автомобиль «Car».   • Переименуйте его в CenterOfMass   • Сбросьте положение координат CenterOfMass (нажмите на маленькую зубчатое колесо справа от Transform (Положение) в инспекторе и выберите «Reset». Это даст ей такую же позицию, как своего родителя — автомобиля (Car).   • Отрегулируйте положение как вам удобно. Сделайте это путем перетаскивания или задав координаты положения, хорошая позиция для центра массы этого автомобиля может быть (0, 0.1, 0.65).   • В инспекторе назначьте CenterOfMass в слот для нее в скрипте компонента «Car».

В общем, это плохо иметь CenterOfMass расположенный с любой стороны от центра по оси х, потому что это сделает управление очень странным и поэтому мы установим переменную х в состоянии 0. Вы также можете изменить цель на камере, что бы камера смотрела на CenterOfMass (Центр массы) автомобиля а не на сам автомобиль. Это даст немного другое восприятие игры — поиграйте немного и настройте эти параметры под свои нужды.

Другой фактор, который может сильно изменить поведение автомобиля — это свойства его подвески (suspension).Основная функция подвески автомобиля — обеспечение постоянного контакта колес с поверхностью дороги, а значит и обеспечение максимального трения с дорогой. Когда машина проезжает через неровность(бугор) на дороге, кинетическая энергия вертикально перемещающихся колес(а значит и подвижных элементов подвески), через элементы подвески, передается на кузов. Если автомобиль не имеет промежуточной структуры, это может легко привести к полной потере контакта колес с дорогой, а после этого автомобиль упадет на дорогу без колес из-за силы тяжести. Подвеска является промежуточной структурой.Дополнительное пояснение от пользователя mrsomХарактеристики упругого элемента(пружины) и демпфирующего(амортизатор) задают характеристику связи подвижных элементов подвески и кузова. По сути задавая АЧХ этой связи. Таким образом система может быть оптимизирована на поглощение мелких или более крупных неровностей с минимальной потерей контакта шин с поверхностью. Эти параметры также влияют на крены и перераспределение веса между колесами в поворотах, тем самым оказывая значительное влияние на управляемость в разных режимах движения. Соотношение параметров передней и задней оси определяют характер автомобиля в предельных режимах на повороте(т.н. «поворачиваемость»). Она бывает избыточная(задняя ось сходит с траектории раньше передней), недостаточная(переднюю сносит раньше) и нейтральная(сход с траектории происходит одновременно).

Дальше для примера можно указать, что если жесткость задней подвески будет больше передней, то при прочих равных мы получим тенденцию к избыточной «поворачиваемости» и наоборот.

У нас есть три разные переменные для настройки в инспекторе - диапазон (range), амортизатор (damper) и пружина (spring). Все они являются частью класса WheelCollider, который мы используем на колесах автомобиля. Слева мы видим автомобиль со стандартными настройками, и справа мы видим его с гораздо более большим диапазоном подвески (suspension range). В комбинации свойств пружины (spring) и амортизатора (damper), вы можете заставить его вести себя, как и всё по формуле превращение автомобиля в большой грузовик. Конечно, графика обязательно должна совпадать с параметрами, чтобы сделать автомобиль правдоподобным с оригинальным автомобилем из жизни!

Диапазон подвески

Это длина подвески от рамы автомобиля (чем меньше значение тем ближе к раме).

Пружины подвески

Установленное здесь значение определяет жесткость пружины подвески (suspension spring). Установка очень высокого значения сделает более вероятным, что подвеска будет полностью растянута, так что колеса будут далеко от рамы и установка подвески (suspension) очень низкого значения сделает гораздо более оживленным автомобиль. Когда изучите настройки этого значения, то станет ясно, что масса автомобиля также имеет большое значение в установки пружиной подвески (suspension spring). Очень тяжелый автомобиль требуется пружину с большей жесткостью, чем очень легкий автомобиль. Поумолчанию мы установили заднюю пружину подвески (suspension spring ) менее жесткой, чем в передней части и причина в том, что центр массы распределяется более к передней части автомобиля, нуждающиеся в улучшении подвески (suspension). Играя с различными значениями для передней и задней подвески (suspension) может дать очень разные результаты.

Амортизация

Амортизация (Dampening) помогает контролировать движение в подвеске (suspension). Без амортизации (Dampening), пружина подвески (suspension spring) была бы расширена и освободила бы свою энергию на неконтролируемой скорости. Это приведет к крайне неконтролируемому автомобилю. Амортизация (Dampening) во время управлением автомобилем преобразовывает ненужную кинетическую энергию в тепловую, которая будет передана далеко в гидравлическую жидкость, что делает поездку значительно легче. Когда мы добавили Rigidbody к машине, мы увидели, что он имел свойство сопротивления (drag). Это сопротивление является инерцией или сопротивлением воздуха, которое влияет на Rigidbody, оно затрудняет движение. Когда автомобиль разрабатывается, много внимания часто уделяется его форме, которая должна сводить к минимуму трение от сопротивления воздуха при движении. Но так как автомобиль предназначен для движения вперед, форма учитывает это — просто взгляните на модель автомобиля в редакторе с фронтальной стороны (Front) и сверху (top) и вы поймете, то что спереди воздух намного больше обтекает автомобиль чем сзади или сбоку.

Мы принимаем это во внимание, создавая свое собственное свойство множитель сопротивления (drag multiplier), который мы используем вместо стандартного свойства сопротивления (drag), встроенного в RigidBody. Взгляните на этот компонент скрипта «Car» в инспекторе, где вы увидите, что мы имеем переменную Drag Multiplier, которая имеет вектора X,Y,Z значения. Это позволяет нам устанавливать различные значения свойства сопротивления (drag) для передней, боковой и верхней части автомобиля, имитируя реальные условия, будто вы за рулем.

• значение X является сопротивление на боковые стороны автомобиля. • значение Y является сопротивление на крышу автомобиля. • значение Z является сопротивление на перед автомобиля.

Значение X играет важную роль в управлении силой, предотвращающую машину скользить вбок при повороте. Чем выше значение X, тем больше в сторонах автомобиля сопротивление. Значение Z является на сегодняшний день наиболее интересным, потому что это может привести к снижению или увеличению силы, которая замедляет скорость автомобиля. Если вы установите его на значение менее 1, то вы получите меньше сопротивления, быстрое ускорение и высокую максимальную скорость. Если более 1, то автомобиль должен бороться против более мощной силы, что делает автомобиль более медленным. Значения сопротивления (Drag) очень чувствителен, поэтому мы советуем вам поэкспериментировать с небольшими изменениями для тонкой настройке сопротивления (Drag). Так как автомобиль не должен ездить вверх, значение Y не так интересно, чтобы изменять его. Наиболее важным фактором, который регулирует автомобиль в оси Y, это фактор «сила тяжести», которая влияет на Rigidbody.

Теперь мы дошли до более очевидных переменных, которые также имеют довольно большое влияние на поведение автомобиля. Переменная максимальная скорость (Top Speed) не является легкой задачей: она устанавливает, насколько быстро (или медленно) ваш автомобиль может ездить. Так как наша модель автомобиля намного проще, чем в модели реального автомобиля, на ускорение влияет (кроме сопротивления (drag)), переменная максимальная скорость (Top Speed) также косвенно влияет на ускорение. Созданный автомобиль очень быстро должен достичь высокой скорости. Если вы хотите, играть с максимальной скоростью и ускорением, вы можете попробовать настроить значения максимальная скорость (Top Speed) и переменной Z сопротивления (Drag Z) (сопротивление воздуха в направлении спереди (Front)).

Для включения у нас есть две переменные — максимальный поворот (Maximum Turn) и минимальный поворот (Minimum Turn). Оба значения означают на сколько хорошо автомобиль поворачивает. Высокое значение означает превосходные возможности поворота, а низкое значение означает очень ограниченные возможности поворота. Мы используем их в скрипте автомобиля, чтобы изменить способность автомобиля к более «плавному» повороту автомобиля на высокой скорости.

• При очень низких скоростях, это значение устанавливается для максимального поворота (Maximum Turn). • Чем выше скорость автомобиля становится, тем ближе «способность поворота» к значению минимальный поворот (Minimum Turn).

Всё это сводится к тому, что когда используется значение по умолчанию для автомобиля (которые равны 10 для минимального поворота (Minimum Turn) и 15 для максимального поворота (Maximum Turn)) является то, что становится все труднее поворачивать когда автомобиль ездит быстро. Это смотрится более реалистично, гарантируя то, что вы не сможете просто въехать на полной скорости в крутой поворот и ожидать, того что машина «въедит» в этот поворот. Вы можете поэкспериментировать с обоими значениями, чтобы сделать автомобиль лучше или хуже при повороте на маленькой или большой скорости.

Наконец то мы дошли до переменой коробка передач ( Number Of Gears). Когда мы доберемся до части, где мы будем изучать скрипт автомобиля (Car) мы увидим, как это используется в расчетах. Так как автомобиль основан на простой модели, трансмиссия не имитирует реальное поведение коробки передач. Тем не менее, она используются для расчета силы двигателя, и возможно, более важно, то что она используется в скрипте управления звуком (controlling the sound) для изменения звука двигателя, основываясь на том какая сейчас передача и как быстро мы в настоящее время ездим. Это создает автомобильный звук на разных передачах, как у реалистичной модели автомобиля. Установка значения коробки передач ( Number Of Gears), просто создает иллюзию через звук, сколько передач автомобиль имеет.

Если вы следовали руководству и собрали свою собственную версию автомобиля, теперь у вас есть знания, необходимые для ее реализации в своих проектах. Самый простой способ перенести его между проектами, это сделать Unity Package (Unity Пак) из необходимых Prefabs

Во первых мы перетащим автомобиль (Car) в префаб (Prefab), что бы мы могли использовать его повторно, не делая сборку и настройки:

• в панели проекта (Project view) нажмите «Создать» (Create) и выберите «префаб» (Prefab). Вы получите пустой префаб в панели проекта (Project view) под названием «new prefab». • Переименуйте Prefab на «Race Car» (гоночный автомобиль) (хорошее название) или любое другое имя по своему вкусу. • Перетащите игровой объект «Car» (автомобиль) из панели иерархии (Hierarchy view) на префаб (Prefab).

Это уже было сделано для вас (находится в Prefabs/Car), но теперь у вас также есть свой собственный вариант автомобиля.

Есть несколько частей, которые необходимы кроме Prefab Car (Автомобильного Префаба) для того, чтобы создать пак, который будет работать с нуля. Это Skidmarks, Main_Camera и Directional_Light_Car_Road. К счастью, они были уже перенесены в Prefabs. Есть также несколько скриптов, которые мы должны включить в наш пак, которые не будут включены, если мы не указываем их: SoundToggler.js, ImageEffects.cs и ImageEffectsBase.cs. Причина в том, что эти скрипты не включены в сцене, но используется с помощью других скриптов, когда игра запущена. Скрипты изображений (ImageEffects.cs и ImageEffectsBase.cs) включены в Pro Standard Assets, но мы их включаем в пак, так что они смогут быть импортированы в совершенно пустой проект и будут работать.

• В панели проекта (Project view) выберите всё из этих пунктов: • Prefabs/VFX: Directional_Light_Car_Road, Main_Camera, Skidmarks • scripts/Javascripts: SoundToggler.js • Pro Standard Assets/Image Based/ImageEffects.cs и ImageEffectsBase.cs • Car Prefab (Автомобильный префаб), который вы создали. • Нажмите кнопку «Экспортировать пак» (Export package) • В появившемся всплывающем окне убедитесь, что включить зависимости (Include dependenci) галочка стоит. Это соберет все активы (Assets), которые вы выбрали, а также все зависящие от них активы (Assets), кроме активов (Assets), которые получают доступ только через скрипты. • Нажмите кнопку «Экспорт» (Export), задав имя для вашего пака и сохраняем!

Процесс импорта вашего автомобиля в собственном проекте:

• В своем новом проекте перейдем к Assets->Import package ... • Перейдите к паку (package), который вы сохранили и откройте его. • Убедитесь, что всё выбрано (Нажмите «All»), а затем нажмите Import. • Unity будет импортировать все активы (Assets) и Prefabs появится в панели проекта (Project view), которые можно уже использовать в сцене проекта.

Вы совершенно бесплатно можете взять автомобиль и использовать его в своих проектах, и теперь у вас есть знания, что бы создать и настроить автомобили и передать их между проектами — поэтому пожалуйста, идите вперед и сделайте действительно удивительную гоночную игру!

habrahabr.ru

Техника - Asset packages - Файлы

Техника - Asset packages - Файлы - Все для Unity3d

4.0

Текущая оценка: 4.0 | Оценок: 9

вертолет uh60

05.02.2014 в 23:54

2035

650

4.8

Текущая оценка: 4.8 | Оценок: 13

Очень хороший пак(подробнее в нутри)

18.01.2014 в 17:12

4724

1103

3.5

Текущая оценка: 3.5 | Оценок: 2

Лодка нордов.

18.01.2014 в 11:51

1608

281

5.0

Текущая оценка: 5.0 | Оценок: 2

Этот пакет содержит 16 различных космических аппаратов

08.01.2014 в 10:18

1954

390

5.0

Текущая оценка: 5.0 | Оценок: 1

Подьемный кран

05.01.2014 в 17:53

990

202

4.4

Текущая оценка: 4.4 | Оценок: 8

Edy's Vehicle Physics is a set of scripts for developing realistic and fun vehicles in your game. Designed for gameplay, ease of use, and physically r

01.12.2013 в 13:12

3256

768

5.0

Текущая оценка: 5.0 | Оценок: 5

мото!

28.11.2013 в 18:02

1573

450

5.0

Текущая оценка: 5.0 | Оценок: 9

Модель UAZ 469

25.11.2013 в 23:05

3019

1066

3.5

Текущая оценка: 3.5 | Оценок: 13

модель автомобиля формата obj. dae.

24.11.2013 в 16:45

1615

417

5.0

Текущая оценка: 5.0 | Оценок: 17

Пак машин - 13 Cars - 7 Bikes - 8 Trains - 8 Trucks - 7 Special Vehicles - 4 Military Vehicles - 4 He

21.11.2013 в 07:21

6604

1394

5.0

Текущая оценка: 5.0 | Оценок: 2

Танк

16.11.2013 в 19:16

1833

340

4.3

Текущая оценка: 4.3 | Оценок: 21

В архиве находится модель танка и скриптов управления ним. Движение Повороты Стрельба Поворот башни и ствола.

13.11.2013 в 12:50

7888

1320

Свернуть

Развернуть

Необходима авторизация

0

u3d.at.ua


Смотрите также