Днес ще се спрем на един интересен проект с името

...
Днес ще се спрем на един интересен проект с името
Коментари Харесай

Factorio на енджина Unreal Engine 5

Днес ще се спрем на един забавен план с името FUE5. Това е Factorio, само че в 3D! Понякога фантазиите се сбъдват. Всъщност това не е игра, а по-скоро зашеметяващо преосмисляне на нейните образни резултати. В тази написана от Hurricane публикация има доста механически детайлности, тъй че дано стартираме.

Какво е FUE5?

FUE5 (съкращение от Factorio in Unreal Engine 5) е пробен план с елементарна цел: да пресъздава 2D света на Factorio в 3D пространството. Създаден е от 3D художника Hurricane и модератор на Factorio на име Nuke в продължение на пет месеца считано от от 10-ти януари 2023 година Много изобретателни хора в общността на модърите на Factorio основават страхотни огромни модове като Space Exploration, Bob и Angel, само че ние взехме решение да поемем по малко по-различен път. Този план съставлява среда за 3D визуализация, способна да импортира базите данни от играта Factorio и образно да пресъздава тяхното държание. Тя не съдържа геймплей, само че потребителят може да лети в близост и да преглежда своята база в 3D.

Пример за една огромна фабрика от филмовия откъс

Как е осъществено всичко това?

За да стартираме даже да мислим за реализирането на подобен план, трябваше от нулата да моделираме и анимираме всеки обект на Factorio въз основа на спрайтовете на играта, без значение дали става дума за монтажна машина или манипулатор. Използвахме Cinema4D за 3D моделирането и Adobe Photoshop за текстурите. След като моделирането и текстурите бяха приключени, цялата конструкция беше експортирана от Cinema4D във формат FBX, който по-късно бе импортиран в Unreal Engine 5, където бяха приложени съответните шейдъри. Тези шейдъри нормално са материали като стъкло, метал или даже пушек.

Процесът на премоделиране беше доста занимателен, само че идващия път би трябвало да желаяме от разработчиците истинските модели на Factorio, с цел да запазим остатъците от психическото си здраве

Освен това се наложи да се пресъздадат редица значими системи като конвейери, влакове и логистичната система. Създадохме ги благодарение на личната система от възли за планове на UE5. Решихме да пресъздадем цялата логичност за тези системи, когато процесът на 3D моделиране беше съвсем приключен, защото се нуждаехме от 3D модели с подобаващ размер в 3D пространството, с цел да разположим вярно движещите се детайли.

Важна стъпка, която способства за развиването на плана, бе гениалната концепция за експортиране на базите на Factorio непосредствено от играта и последващото им импортиране в средата на Unreal Engine 5. Това решение оказа помощ да се спести доста време за създаване на базите, което щеше да бъде една прекомерно монотонна задача; също така, в случай че правехме всичко единствено в Unreal Engine, базите щяха да наподобяват погрешно.

Ако не знаете по какъв начин да пишете код, просто свързвате тези възли и в случай че нещо не работи, просто продължавате да ги добавяте, до момента в който всичко не се обърка изцяло. Подозрително наподобява на една игра за заводи, която играхме неотдавна
Строителната система

Първият главен съставен елемент на FUE5 е опцията за генериране на здания по метод, сходен на този, по който те наподобяват във Factorio. Чрез прочитане на данните в играта можем да получим типовете здания, техните локации и електрически връзки. Тази информация се експортира в JSON файл благодарение на мода за експортиране на FUE5 непосредствено от самата игра. След това този файл се прочита от плана FUE5 и това е задоволително, с цел да се пресъздаде държанието на всички здания и транспортни средства в действителната база.

Конвейерната система

В допълнение към основаването на 3D модели за обособените конвейери трябваше да разберем механиката на движещите се обекти. Постигнахме това, като представихме конвейерите като сплайни. При експортиране въз основата на Factorio благодарение на мода за експортиране FUE5 всеки непрестанен сегмент на конвейер (сегмент на конвейер, който е обвързван и приключва с тунел, самичък по себе си или е зациклен) се преглежда като обособена система. Когато чете данните, FUE5 основава сплайн за всяка от тези обособени системи. След това тези сплайни насочват обектите по същия път, както в самата игра.

Влаковата система

Влаковата система се разграничава доста от конвейерната, защото пресъздаването на разписанието на влаковете, сигналите и указателите за придвижване на локомотивите би било доста комплицирана задача. Вместо това взехме решение да използваме вградената система за насочване на влаковете от Factorio. За да се появи и движи трен във FUE5, би трябвало да зададем крайната му точка и да му дадем зелена светлина, след което да експортираме базата. В този миг можем да прочетем калкулации маршрут на влака и да го използваме за основаване на сплайн, който дефинира придвижването на влака във FUE5.

Логистичната система

Още незабавно се отказахме от построяването на безпилотни самолети, тъй като на този стадий сътворяваме здания благодарение на истинската система за строителни скриптове на UE5 и за известно време няма да променяме нищо в това отношение. Вместо това се фокусирахме върху това да се уверим, че логистичните ботове работят вярно, тъй като те са гръбнакът на всяка минимално комплицирана база на Factorio и прибавят образен интерес към цялата картина. Всеки дрон има способността да основава на инцидентен принцип клъстер от логистични ботове; всеки дрон има простоват мозък, който търси околните логистични сандъци и се движи сред тях, с цел да симулира образно превозването на запаси. След като задачата за превозване на запаси е изпълнена, дронът дефинира местоположението на най-близката станция за дронове и се насочва към нея, с цел да бъде погубен.

Предизвикателствата и оптимизацията

Първите съществени проблеми станаха явни, когато започнахме да импортираме огромните бази данни във FUE5 в ранните стадии на плана. FPS спадна доста и събитията на плановете започнаха да дават ненадеждни резултати; ето за какво беше нужна сериозна работа по оптимизацията, с цел да може планът да работи най-малко при 30-60 FPS.

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

Трябваше да получим позволение и от разработчика на Factorio Wube Software. Попитахме за степента на правда на нашия план и разработчиците демонстрираха схващане, като ни позволиха да пуснем плана при изискване, че няма да бъде употребен с комерсиална цел.

Най-интересното

След като през първите два месеца на работа успяхме да създадем общата концепция и по-голямата част от прототипите, можахме много елементарно да пресъздадем обектите и системите на Factorio. След това стана време да се заемем с хубостта и основаването на главния филмов откъс на играта, който демонстрира огромните бази, основани благодарение на FUE5 експортера, както и доста други неща, които могат да бъдат осъществени в средата на FUE5.

За огромните заводи, показани в филмовия откъс, трябваше да бъдат основани голям брой неповторими обекти. Простото експортиране на базите в играта Factorio не би довело до изключително чисти и кинематографични резултати, по тази причина ръчно направихме доста промени, с цел да сме сигурни, че всичко наподобява красиво в кадър! Оказа се също, че базите вид „ спагети “ са образно доста по-интересни, в сравнение с дългите редици от идентични здания, усъвършенствани за огромно произвеждане на просвета в минута (science per minute, SPM).

Това ли е Skyblock, за който съм чувал толкоз доста?

Как се употребява FUE5

Този план не е игра, няма потребителски интерфейс и изисква съществени знания за UE5. Въпреки това можете да намерите цялостното изложение на процеса на нашата страница в GitHub. След като инсталирате UE5 и стартирате изтегления план, всичко, което би трябвало да извършите, е да изберете базовия откъс, който желаете да експортирате, и по-късно да го експортирате във FUE5, както е в детайли разказано в управлението. След като един път разберете процеса, ще можете доста елементарно да го повторите.

Бъдещето

Искахме да споделим този план, като го качим в GitHub, тъй като общността на Factorio е извънредно буйна група от креативен настроени хора и достъпът до сходен план може да разреши на членовете ѝ да изживеят света, който обичат, в едно напълно ново измерение. Освен това той ще даде опция на най-креативните почитатели да основават неща, които до момента не са били вероятни.

В момента с Nuke работим върху подобряването на готовите системи, с цел да ги създадем по-лесни за потребление и да поддържаме висока продуктивност даже при огромни размери въз основата. Започнахме да опитвам и с опцията за прибавяне на наличие от модовете.

Фабриката би трябвало да пораства!

Източник: kaldata.com


СПОДЕЛИ СТАТИЯТА


КОМЕНТАРИ
НАПИШИ КОМЕНТАР