Исходный код Unreal Engine 4, Сборка, исследование, обсуждение |
Здравствуйте, гость ( Авторизация | Регистрация )
Исходный код Unreal Engine 4, Сборка, исследование, обсуждение |
28.08.2016, 20:11
Сообщение
#1
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Регистрация: 05.05.2012 |
Итак, на этот раз решил собрать из исходного кода такого монстра как Unreal Engine 4, спешу поделиться опытом.
Прежде всего, для получения доступа к исходному коду нам понадобится зарегистрировать аккаунт на Далее нам потребуется связать аккаунт на GitHub с аккаунтом После этого нужно вновь вернуться на GitHub и подтвердить свое членство в организации Epic Games (ага, нас только что приняли внештатными сотрудниками). Оригинальную инструкцию от эпиков можно найти в Теперь нам нужно сделать форк (Fork) репозитория с исходными кодами UE4 на свой аккаунт, чтобы получить возможность модифицировать исходный код и отправлять пул реквесты (Pull Requests) разработчикам. Переключаемся со своего аккаунта на корпоративный аккаунт Epic Games путем переключения выпадающего списка в верхнем левом углу страницы: Находим в панели справа ссылку на интересующий нас репозиторий (UnrealEngine) и переходим по ней: В верхнем правом углу нажимаем кнопку Fork, в открывшемся диалоге жмем на юзерпик своего аккаунта, и вуаля - теперь у нас есть копия исходных кодов UE4 Дальше нам предстоит клонировать наш удаленный репозиторий на гитхабе себе на локальную машину, и сделать там его локальную копию. Для этого устанавливаем Код git clone <ссылка на удаленный репозиторий> Чтобы узнать ссылку на репозиторий заходим в свой (не к эпикам) аккаунт на гитхабе и переходим по ссылке в репозиторий UnrealEngine. На странице репозитория нужно нажать на кнопку "Clone or Download" и скопировать ссылку из выпадающего списка. Теперь необходимо скачать и установить дополнительные зависимости для сборки исходного кода, а также сгенерировать файлы решения для Visual Studio 2015 (Важно подчеркнуть, что требуется именно эта версия среды разработки, это может быть как Ultimate Edition так и бесплатная Community Edition) Для этого переходим в корневой каталог проекта и запускаем поочередно два батника Setup.bat и GenerateProjectFiles.bat После всего, открываем сгенерированный солюшн UE4.sln и запускаем сборку (на этом этапе можно смело отправиться кататься на велосипеде в парк, часа на два) Запускаем исполняемый файл UE4Editor.exe из подкаталога Engine/Binaries/x64 и... не тут то было! Появляется загрузочное окно и редактор виснет на 25% загрузки. Открываем диспетчер задач и наблюдаем за тем, что происходит: А происходит следующее, движок, как видно по скриншоту, в несколько потоков компилирует шейдерные программы и делать он это будет долго (на моей машине этот процесс занял порядка 15 минут), так что можно смело оставлять редактор в таком состоянии и идти пить чай. По завершении компиляции скомпилированные шейдеры сохранятся на жестком диске и при повторном запуске их компиляция уже не потребуется. -------------------- nop
|
 
|
|
|
|
28.08.2016, 20:25
Сообщение
#2
|
|
Доктор Игровых Наук Репутация: 1084 Группа: Участник Сообщений: 3950 Награды: 6 Регистрация: 24.08.2010 |
Можно поинтересоваться, зачем такая подробная инструкция?
-------------------- |
 
|
|
28.08.2016, 20:34
Сообщение
#3
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Регистрация: 05.05.2012 |
1001v, чтобы сэкономить время, которое понадобится на прочтение документации на английском языке и повторения этих шагов. Кроме того, я подумал что не все посетители форума обладают достаточными навыками и подробная инструкция могла бы быть полезна.
-------------------- nop
|
 
|
|
28.08.2016, 20:48
Сообщение
#4
|
|
Доктор Игровых Наук Репутация: 1084 Группа: Участник Сообщений: 3950 Награды: 6 Регистрация: 24.08.2010 |
Просто показалось забавным, что будущим форкерам анриал енжина объясняют, как сделать гит клон.
-------------------- |
 
|
|
28.08.2016, 21:10
Сообщение
#5
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Регистрация: 05.05.2012 |
1001v, ну, когда-нибудь все бывает в первый раз помню ту пору, когда я начал интересоваться программированием игр, в открытом доступе было очень мало исходных кодов игровых движков такого уровня, в основном это были утекшие в сеть некомпилируемые исходники, вроде half-life, либо суровый код quake на чистом си, а информации по ним было и того было меньше.
-------------------- nop
|
 
|
|
28.08.2016, 22:14
Сообщение
#6
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 105 Награды: 2 Регистрация: 12.05.2010 |
Собрать то конечно можно, но зачем?
Нет, серьёзно. Есть же готовая версия движка, уже скомпилированная и готовая к работе. Если человеку надо внести какие то ИЗМЕНЕНИЯ В ДВИЖОК (причем если хотите создать С++ проект, опять таки можно воспользоваться уже скомпилированной версией), то он самостоятельно разберется как там его собрать, благо сборка UE4 чуть ли не самая легкая. Ну единственное исключение тут - сборка Debug версий движка, для решения проблем с каким нибудь заковыристым багом в игре, но это исключение лишь подтверждает правило. |
 
|
|
28.08.2016, 22:54
Сообщение
#7
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Регистрация: 05.05.2012 |
зачем? Giperion, на это есть несколько причин: во-первых хочется посмотреть как устроен движок изнутри, а для этого иногда одних исходных кодов недостаточно, нужно иметь возможность смотреть под отладчиком что происходит в процессе выполнения в тот или иной момент, в том числе и для исправления багов в клиентском коде. Во-вторых, многие захотели бы защитить ресурсы, используемые в игре, либо добавить какую-то новую функциональность в редактор, а для этого нужно иметь возможность менять исходный код. Ну и в третьих, при выходе новых версий движка подтянуть изменения из релизной ветки эпиков, подмержить и пересобрать движок - гораздо проще, чем переустанавливать всю сборку. разберется как там его собрать Но ведь это проще делать когда перед глазами есть подробная инструкция. Если человеку надо внести какие то ИЗМЕНЕНИЯ В ДВИЖОК Не боги горшки обжигают -------------------- nop
|
 
|
|
29.08.2016, 16:51
Сообщение
#8
|
|
Продвинутый геймер Репутация: 15 Группа: Участник Сообщений: 322 Награды: 3 Регистрация: 01.05.2014 |
в основном это были утекшие в сеть некомпилируемые исходники, вроде half-life Если речь о второй части, то оба слива вполне себе собираемы. Что за 03-04 годы, что за 07 год. Есть даже инструкции, например: |
 
|
|
27.10.2017, 05:51
Сообщение
#9
|
|
Доктор Игровых Наук Репутация: 1084 Группа: Участник Сообщений: 3950 Награды: 6 Регистрация: 24.08.2010 |
Недавно собирал под линукс, официальная инструкция оказалась достаточно подробной.
-------------------- |
 
|
|
Текстовая версия | Сейчас: 29.03.2024, 12:21 |