Как да изградим основна среда за симулация на превозни средства в Unity 3D

Unity 3D е Game Engine с отворен код, който се използва предимно за разработване на видео игри и симулации за компютри, конзоли и мобилни устройства. Тази статия се фокусира върху виртуалната симулация на превозни средства, търсенето на която непрекъснато нараства с последните постижения в индустрията за самостоятелно управление на автомобили. Изграждането на симулационна среда беше част от моя стаж в LIST, Люксембург. Проектът MADSAV се фокусира върху оценяването на уменията на водача в ситуации с предварително предаване.

Част 1: Интерфейс
Unity 3D начален екран (любезност: Проект MADSAV)

Най-добрата част за Unity 3D е неговият опростен подход. Разполага с обширна документация със справочници за скриптове и уроци със съдържание, основано на видео и статии.

Ако сте начинаещ в Unity 3D, аз наистина препоръчвам да започнете да изучавате с моделиране на игра на рол-топката. Тези 8-стъпални видео уроци бързо ще ви направят удобно с началния екран, състоящ се от йерархия, инспектор, сцена, среда, камера, трансформации, колимери и др. И ще научите основни скриптове в C #.

Част 2: Добавяне на активи

Unity има някои широко използвани вградени стандартни активи, състоящи се от системи за частици, ефекти, материали, 2D обекти и т.н., а магазинът на активи на Unity е библиотека, съдържаща 15k + безплатни и платени активи.

Изграждане на околната среда: За симулация на превозни средства е лесно да се разработи карта с основни познания за терен, пътни материали, активи и някои C # кодове.

Основна симулационна среда в Unity 3D (любезното съдействие: MADSAV проект в списъка)

Изградете терена и изберете основните материали. Пътните материали, сгради, пътни знаци и т.н. могат лесно да бъдат намерени в магазина за активи. След като ги импортирате, ги поставете на 3D терена.

Един алтернативен начин за ръчно разработване на пътна среда е чрез процедурно генериране. Използвах Road Architect, която е безплатна и с отворен код система за изграждане на пътища, ефективна при изграждането на пътища, алеи, издатини, мостове, светофари и много други. Най-добрата част от използването на тази система е, че тя може да изгради пътна среда за по-малко от 30 минути. Можете да намерите уроците му тук.

Използване на Road Architect за бързо генериране на път / път

Някои повече системи за генериране на пътища могат да бъдат намерени тук и тук. Map-ity използва данни от реалния свят за генериране на карти.

Създаване на превозно средство: Можете да импортирате актив на контролер на превозно средство от магазина на активите или да разработите свой собствен, използвайки софтуер за 3D моделиране (като Blender, TurboSquid) и двигател по физика (като Vehicle Physics, Vamos Open Source и т.н.)

Използвах RCC Car Controller поради възможностите си за ощипване и той също идва с пакет от автомобили, от които да избирате. Активът се е развил през годините с подробни 3D модели и различни опции за физика на автомобила, които да се настройват.

Физическият двигател за RCC е изграден по такъв начин, че параметрите на окачването, спирачките, кормилното управление и двигателя да могат да се променят с допълнителни опции за промени в ABS, коефициентите на управление на сцеплението и коефициента на триене на гумите спрямо модела хлъзгави или други опасни условия. Това е интегрирано в инспектора, така че няма да се нуждаете от допълнителни скриптове за него.

Можете да намерите някои други контролери на превозни средства / състезателни комплекти тук:

Част 3: Закъснение

След като добавите среда и превозни средства, ще започнете да изпитвате забавяне на играта. Unity има вграден профилер, който да се грижи за забавянията ви в играта. В профила можете да наблюдавате натоварването на вашия процесор / графичен процесор, памет, изобразяване, физика и т.н., за да откриете коя част от вашата симулационна среда изостава и намалява кадрите в секунда (FPS). Вграденият профилер идва с цената на себе си, като поема известно натоварване, но е достоен срещу външни профили за редовни симулационни среди.

Профилер на Unity за мониторинг на играта

Не забравяйте: Добавянето на много променливи на околната среда добавя към лаговете на играта. Дозирането е друг метод, използван за намаляване на изоставането в по-голяма симулационна среда.

Част 4: Добавете добавки

Активи, свързани с волан / джойстик / контролери за симулация на превозни средства, са налични в магазина на активите. Използвах Logitech SDK за интегриране на продуктите на Logitech.

Освен това използвах Steam VR Plugin, за да добавя VR камера за широк изглед на пилотската кабина за моите симулации. Пробвах и множество настройки на екрана (Изглед отзад на отделен екран), за проверка проверете тук.

Основните симулационни среди, създадени в Unity, също могат да послужат като основа за проекти за поведенческо клониране. Добър пример е поведенческото клониране на Udacity.

Една от виртуалните среди, които създадох в Unity