Обзор движка и основных настроек Unreal Engine 4

Опубликовал Konradvall
27-08-2018, 11:11
581
7
Обзор движка и основных настроек Unreal Engine 4

Всем добрый день. Сразу определимся – это не урок, а очерк с чем мы будем работать, и кое какие наставления. Почему я распинаюсь о том что известно и так большинству из вас, дело в том что в процессе я не хочу повторяться и затрагивать такие мелкие аспекты разработку, как зайдите туда или туда, нажмите то и это. Данный очерк сократит нам массу времени и позволит не отвлекаться на детализацию серфинга в движке. Прошу в этом плане понимания с вашей стороны. Начнем же наше просвещение. Я понимаю, что многие из вас уже работали с движком и им неохота слушать тягомотину о том, как скачать и установить движок, как создавать проекты и тому подобную информацию.
Возрадуйтесь ее не будет!!! Но я и не забываю о тех, кто этого не знает и поэтому, благородно оставляю ссылки на официальный сайт, где нужно пройти регистрацию и скачать сам движок. Если у вас возникают трудности с установкой и вы не понимаете, как создать проект, то на YouTube есть множество аннотаций. Но все это описано и на оффсайте.
Итак, ссылки на сайт Epic Games: https://www.unrealengine.com/en-US/download
Продолжим, я не буду распинаться о том какой движок прекрасный и мощный, вы и так об этом знаете. У него есть как плюсы, так и минусы. Давайте для начала создадим тестовый проект и выбрав пункт меню в верхнем тулбаре Edit перейдем в Project settings.
На сегодня нас будет интересовать данная вкладка и представленные в ней настройки. В левом меню мы увидим множество настроек, которые мы и разберем сегодня. Пойдем по порядку:
Вообще Project settings это как правило параметры, направленные не сколько на сам проект, а сколько на настройку самого движка под нужды вашего проекта. Запомните это! Многие кто начинают ковырять настройки, как правило не понимают, почему при включении одной из надстроек, перестает работать другая. Все просто, движок принимая от вас входные параметры – сам пытается настроить ваш проект таким образом, чтобы он работал и если параметры которые вы указываете не совместимы для одного проекта, он не будет вас об этом уведомлять, а просто либо выдаст Crash report либо вы будите сидеть с огромными глазами и видом искреннего непонимания - что вообще происходит. Поэтому запоминаем, мы настраиваем не только сам проект, но и сам движок, для конкретно этого проекта и как он будет себя вести при его выполнении!
Программисты из эпиков, также реализовали возможность редактирования параметров вручную – так сказать, режим для богоподобных прогеров мазохистов - 100 level. Данный режим очень интересен тем, что не заходя в графическую оболочку проекта, можно отредактировать настройки как вам угодно. Предупреждаю сразу, что, если вы только начинаете свой путь в данной сфере – не лезьте сюда, рискуете сломать себе шаблон, а также ваш проект. Я как раз отношусь к этим мазохистам – по роду своей основной работы, я постоянно пишу код и порой мне проще залезть и отредактировать настройки вручную.
Собственно все настройки разделены на категории с множеством вариантов выбора надстроек. Вот по ним мы сейчас и пройдемся в порядке частоты их использования разработчиками:
  1. Description – ну или попросту описание, данные настройки не влияют ни на что кроме как, что здесь как вам душе угодно вы можете назвать проект, указать инфу о проекте, о вас, о том, что вы обладаете всеми авторскими правами и в случае чего затаскаете супостатов по судам. Здесь же указывается версия вашего проекта и т.п. информация. Советую вам заполнить эти надстройки первыми и менять версию в зависимости от наполнения вами вашего проекта наполнения контентом.

  2. Maps and Modes – здесь уже пошли настройки, которые отвечают за режимы и локации которые стартуют при открытие вашего проекта. Если подробнее, то здесь мы можем выставить по умолчанию Game mode, локацию которая будет загружаться в редакторе при открытии проекта Editor startup map, Game default map – карта по умолчанию для проекта. Здесь же можно установить настройки сплитскрина если вы собираетесь писать мультиплеерный проект, и конечно крайним пунктов мы указываем основной класс наследования. Данный раздел нужно заполнить после того как вы создадите собственную тестовую локацию и свой игровой режим, в режиме по умолчанию тут указаны параметры для авто сгенерированных движком карт и режима.

  3. Packaging – эти настройки вам понадобиться в самом конце разработки, как понятно из названия – тут мы сможем настроить построение билда нашей игры.

  4. Supported Platforms – здесь я бы рекомендовал бы вам сразу определиться под какую платформу вы будете писать и естественно отметить только ее. Мы в дальнейшем будем писать только под Windows.

  5. Target Hardware – оптимизация вашего проекта под какую либо платформу. Две надстройки. Все просто и понятно.


Это что касается самого проекта. Не особо много то и получилось, а вот остальные 90% составляют настройки именно движка под ваш проект, о чем я писал выше. Я бегло опишу данные настройки, в дальнейшем мы будем работать с ними плотнее.
  1. Настройки AI – здесь мы настраиваем логику поведения для реализации в нашем проекте системы искусственного интеллекта. В любом проекте присутствуют NPC и за их корректное взаимодействие отвечают не только скрипты но и адаптивная система построения логики взаимодействия, в зависимости от игровой ситуации (я достану дубину и шарахну по одному – другие разбегутся) С системой AI мы познакомимся очень близко и даже напишем поведение для особого персонажа.

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

  3. Аудио настройки – если у вас в проекте вы собираетесь реализовать достойные звуковые эффекты взрывов, стрельбы, или вы хотите, чтобы игрок слышал звук разрывающихся тел и гортанный хрип захлебывавшихся в крови врагов, значит нужно настраивать звучание в должной мере. Для этого и созданы данные настройки: битрейт, частоты, уровни качества, реализуемые по умолчанию. Помните это база! Остальное будем настраивать уже в коде.

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

  5. Консоль она и Африке консоль, настройки позволяют кастомизировать оную под свои визуальные фантазии

  6. Настройки конечного пользователя – принимайте смело, отправка конфиденциальных данных Epic’ам, ни чего страшного не случиться. Обычная статистика, не более.

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

  8. Общие настройки – все и так понятно, базовые классы, шрифты и т.п. Все надстройки изменённые здесь влияют как на проект, так и на редактор в целом, будьте внимательны.

  9. Input – здесь мы назначаем клавиши управления в нашем проекте, ни чего экстраординарного.

  10. Настройки соединения – опять же настройки для тех, кто пишет мультиплеер или игру с использованием подгрузки данных с сервера.

  11. Физика – здесь находятся настройки по умолчанию для физического движка встроенного в Unreal. Данные настройки можно и не изменять если, конечно, у вас не специфический проект, адаптированный именно на «игру» с физикой. Но в принципе вы можете покрутить настройки и посмотреть, к чему это приведет. Помню баловался с физикой и разрушаемыми объектами – довольно занятное зрелище. Сразу поясню, что Unreal использует по умолчанию PhysX. Для поклонников HAVOC, поясню – интеграция возможно, НО!, делать это придется руками используя средства разработки такие как VS от Microsoft ну и конечно знание «плюсов». Показывать интеграцию HAVOC я не буду и не просите.

  12. Настройки рендера – все логично и понятно из названия, рендеринг и все что с ним связанно. Эту тему мы тоже затронем отдельно в наших уроках.


На этом мы пока остановимся, остальные настройки у нас будут всплывать по ходу уроков, я описал только те, которые на мой взгляд требуют первичного внимания.
Теперь несколько примеров того, как следует работать с настройками – конечно вы не сможете запомнить все как, было по умолчанию, поэтому в центральном окне в самом верху вы найдете панель управления, где есть возможность сброса настроек до стока. Также есть замечательные возможности импорта и экспорта настроек! Запомните, как «отче наш», что все настройки, которые вы изменяете вы можете сохранить в папку на своем компе при помощи экспорта, а потом добавить их в другой проект. Почему это важно? Дело в том, что при некоторых фиксах и обновлениях движка, все настройки летят к черту и зайдя в проект после обновления движка, у вас просто ничего не работает, что способствует нервному расстройству и усиленному табака курению и алкоголя лечению. Заведите себе привычку – изменили настройки движка для проекта – сохранить!!!
Я приведу один пример и надеюсь, что парень, про которого пойдет речь не прочтет эту статью. Однажды я работал фрилансером в одной маленькой студии, команда состояла из шести человек. После перехода с версии движка 14 редакции 0 на редакцию 1, случился казус, слетели настройки, установленные для проекта. На тот момент ребята не использовали даже обычного локального хранилища, я уже молчу про GitHub, чтобы работать над проектом взаимосвязанно, было только облако, где они заменяли файлы более свежими, при этом старые не сохранялись.
Так вот один из них увидев, что на его ПК все слетело, решил вручную настроить проект как говориться «что бы все как было». Естественно, у него получилось так себе, дело в том, что этот крендель взял и залил это все на облако, заменив старые файлы. Думаю, не стоит говорить какая кара постигла парня в данной ситуации. Он совершил ряд ошибок, во-первых – инициатива чпокает инициатора, он не поставил в курс коллег и облажался. Во-вторых, он потер данные на облаке, а ведь мог выдернуть оттуда сейвы настроек и не париться. В-третьих, он не сохранял настройки для движка, думая, что это сделают другие (если честно они все так думали). Мораль – нужно сохранять, если вы работаете в команде, это должен делать каждый и хранить в общей сетевой папке, либо в репозитории для общего доступа, так как проект пишется один, значит и настройки должны быть у всех одни. Если работаете один, то сохраняйте настройки на своем ПК в отдельно созданную папку, желательно что бы была соблюдена градация построения папок вашего хранилища, так вы с меньшей вероятностью запутаетесь. Кстати, тем ребятам повезло, у остальных настройки не слетели, и они успешно перезолили рабочие файлы на облако.
Двигаемся дальше. Вот вам история про опытного разработчика. Я не в коем случае не скажу кто это и где он работает, уточню лишь одно - он из США и его труды вы можете увидеть в Marketplace. По роду своей работы с UE я списываюсь с ребятами со всего мира, так вот дело было прошлым летом, мой хороший друг, допустим назовем его Смит, обратился ко мне с интересным вопросом, ему нужно было обкатать новый продукт для магазина Epic’ов. Конечно, я согласился! Пощупать чужой код для программиста – как манна небесная. Но вот беда, проект который он хотел выложить в доступ за риал мани, попросту не работал как он это описывал. На старте проект просто выдавал шквал ошибок и репортов, что мой комп (инженерной конфигурации между прочем) наглухо вис и ругался благим матом, посредством BSoD. Все оказалось не так однозначно, как на первый взгляд, а именно парень перемудрил и допустил очень грубые ошибки в построении взаимодействия между движком и проектом. Начудил он с физикой и коллизиями. При этом на его ПК проект работал, а на моем естественно нет. В чем же дело?! Все оказалось очень интересно – он решил написать дополнительные скрипты для взаимодействия используя возможности своего процессора, именно своего! Он прописал такой код – что система работала только с его процессором, а с другими естественно нет. Мораль – если вы работаете один, тщательно проверяйте код, иначе это сослужит вам дурную службу.
Итак, на сегодня это все, ниже я размещу небольшой опрос, а также со следующего занятия появятся видео с уроками приуроченного к каждой статье. Со следующей статьи мы начнем изучать Blueprints. Урок уже в процессе написания.
До встречи на GFX-HUB!
Универсалов не бывает!
Какое направление вам ближе в разработке
Всего проголосовало: 2
 
Комментарии к новости
  1. Den
    _den_27 августа 2018 12:14
    Спасибо тебе, добрый человек blush Успехов в твоем начинании, с нетерпением буду ждать обновления постов по UE4 sunglasses
    1. Валентин
      Konradvall27 августа 2018 12:27
      спасибо огромное, ни что так не подвигает на дальнейший труд как ваша поддержка
  2. Maxim
    PolyBear27 августа 2018 13:31
    Идея отличная, большая благодарность за данную инициативу, обязательно буду изучать
  3. alex
    alex27 августа 2018 14:01
    Отличное начало, молодец!
  4. Андрей28 августа 2018 15:42
    Спасибо за труд! Продолжай в том же духе! Ждем продолжения!
  5. Андрей29 августа 2018 14:28
    Спасибо большое!!!
  6. Гость Xidek14 сентября 2018 14:28
    Молодец! Продолжай в том духе.
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении: *
Архив
«    Сентябрь 2018    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930
Сентябрь 2018 (84)
Август 2018 (117)
Июль 2018 (26)
Июнь 2018 (149)
Май 2018 (172)
Апрель 2018 (188)
Опрос