Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
> Исходный код Unreal Engine 4, Сборка, исследование, обсуждение
autistic
сообщение 28.08.2016, 20:11
Сообщение #1


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Итак, на этот раз решил собрать из исходного кода такого монстра как Unreal Engine 4, спешу поделиться опытом.
Прежде всего, для получения доступа к исходному коду нам понадобится зарегистрировать аккаунт на GitHub. В моем случае этого не потребовалось т.к такой аккаунт у меня есть уже достаточно давно, вот его адрес, если кто не знает.
Далее нам потребуется связать аккаунт на GitHub с аккаунтом Epic Games (ну этот-то аккаунт есть практически у всех посетителей gameru.net, включая меня). Для этого переходим по этой ссылке и заполняем обязательные поля. Главное поле, которое мы должны заполнить, имеет название: "GITHUB ACCOUNT NAME", туда мы должны вписать свой ник на гитхабе.


После этого нужно вновь вернуться на GitHub и подтвердить свое членство в организации Epic Games (ага, нас только что приняли внештатными сотрудниками). Оригинальную инструкцию от эпиков можно найти в публичном репозитории.

Теперь нам нужно сделать форк (Fork) репозитория с исходными кодами UE4 на свой аккаунт, чтобы получить возможность модифицировать исходный код и отправлять пул реквесты (Pull Requests) разработчикам. Переключаемся со своего аккаунта на корпоративный аккаунт Epic Games путем переключения выпадающего списка в верхнем левом углу страницы:


Находим в панели справа ссылку на интересующий нас репозиторий (UnrealEngine) и переходим по ней:


В верхнем правом углу нажимаем кнопку Fork, в открывшемся диалоге жмем на юзерпик своего аккаунта, и вуаля - теперь у нас есть копия исходных кодов UE4


Дальше нам предстоит клонировать наш удаленный репозиторий на гитхабе себе на локальную машину, и сделать там его локальную копию. Для этого устанавливаем git-клиент, открываем git-bash, переходим в директорию куда мы будем клонировать удаленный репозиторий и используем команду
Код
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
Перейти в начало страницы
 
 
Начать новую тему
Ответов
1001v
сообщение 28.08.2016, 20:25
Сообщение #2


Доктор Игровых Наук
*******************

Репутация:   1084  
Группа: Участник
Сообщений: 3950
Награды: 6
Регистрация: 24.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Можно поинтересоваться, зачем такая подробная инструкция?


--------------------

Перейти в начало страницы
 
autistic
сообщение 28.08.2016, 20:34
Сообщение #3


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


--------------------
nop
Перейти в начало страницы
 
1001v
сообщение 28.08.2016, 20:48
Сообщение #4


Доктор Игровых Наук
*******************

Репутация:   1084  
Группа: Участник
Сообщений: 3950
Награды: 6
Регистрация: 24.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Просто показалось забавным, что будущим форкерам анриал енжина объясняют, как сделать гит клон.


--------------------

Перейти в начало страницы
 
autistic
сообщение 28.08.2016, 21:10
Сообщение #5


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


1001v, ну, когда-нибудь все бывает в первый раз smile.gif помню ту пору, когда я начал интересоваться программированием игр, в открытом доступе было очень мало исходных кодов игровых движков такого уровня, в основном это были утекшие в сеть некомпилируемые исходники, вроде half-life, либо суровый код quake на чистом си, а информации по ним было и того было меньше.


--------------------
nop
Перейти в начало страницы
 
Giperion
сообщение 28.08.2016, 22:14
Сообщение #6


Геймер
******

Репутация:   19  
Группа: Участник
Сообщений: 105
Награды: 2
Регистрация: 12.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Собрать то конечно можно, но зачем?
Нет, серьёзно.
Есть же готовая версия движка, уже скомпилированная и готовая к работе. Если человеку надо внести какие то ИЗМЕНЕНИЯ В ДВИЖОК (причем если хотите создать С++ проект, опять таки можно воспользоваться уже скомпилированной версией), то он самостоятельно разберется как там его собрать, благо сборка UE4 чуть ли не самая легкая.
Ну единственное исключение тут - сборка Debug версий движка, для решения проблем с каким нибудь заковыристым багом в игре, но это исключение лишь подтверждает правило.
Перейти в начало страницы
 
autistic
сообщение 28.08.2016, 22:54
Сообщение #7


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Giperion @ 29.08.2016, 00:12) *
зачем?

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

Цитата(Giperion @ 29.08.2016, 00:12) *
разберется как там его собрать

Но ведь это проще делать когда перед глазами есть подробная инструкция.

Цитата(Giperion @ 29.08.2016, 00:12) *
Если человеку надо внести какие то ИЗМЕНЕНИЯ В ДВИЖОК

Не боги горшки обжигают smile.gif


--------------------
nop
Перейти в начало страницы
 
MegaNub
сообщение 29.08.2016, 16:51
Сообщение #8


Продвинутый геймер
********

Репутация:   15  
Группа: Участник
Сообщений: 322
Награды: 3
Регистрация: 01.05.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(refuse @ 28.08.2016, 21:08) *
в основном это были утекшие в сеть некомпилируемые исходники, вроде half-life

Если речь о второй части, то оба слива вполне себе собираемы. Что за 03-04 годы, что за 07 год. Есть даже инструкции, например: Tutorial
Перейти в начало страницы
 
1001v
сообщение 27.10.2017, 05:51
Сообщение #9


Доктор Игровых Наук
*******************

Репутация:   1084  
Группа: Участник
Сообщений: 3950
Награды: 6
Регистрация: 24.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Недавно собирал под линукс, официальная инструкция оказалась достаточно подробной.


--------------------

Перейти в начало страницы
 

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.03.2024, 12:21