Как сделать ночь в unreal engine 4

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

Привет, меня зовут Алексей, я работаю в компании Pingle Game Studio на должности Head of Division харьковского департамента. Свою деятельность я начал в 1996 году, и она всегда была связана с видеоиграми. Помимо этого, я создавал видеоролики и всевозможные шоу для телевидения, кино и для научных разработок.

В этой статье я расскажу вам, какие новые потрясающие инструменты предоставляет Unreal Engine 4, позволяющие сделать клип или визуальную сцену настолько быстро и просто, как никогда раньше.

Моя статья про Unreal будет интересна как профессионалам, так и новичкам, которые хотят заниматься синематиками на этом движке.

Инструменты Unreal Engine 4

У Unreal Engine 4 появились свои особенности, благодаря которым работать с этим движком стало хоть и по-другому, но значительно проще.

И если человек раньше работал на телевидении или в постпродакшне и познакомился с Unreal, то он может превратиться либо в Cinematic Artist, либо в Technical Artist — обе позиции очень востребованы в ІТ-компаниях.

Landscape

Unreal Engine 4

Первый инструмент, на который я всегда обращаю внимание — это Landscape, он используется для построения ландшафтов. Существует множество других ландшафтных генераторов, и они предоставляют набор масок: отвечают за тип покрытия, карту высот, геометрию — это все хорошо импортируется в Unreal, где они превращаются в удобные поверхности для дальнейшей обработки.

Затем, после интеграции в Unreal, сам движок нам предлагает инструменты для скульптинга и рисования, чтобы дополнить их тонкими деталями локации на большом сгенерированном ландшафте.

Unreal Engine 4


У инструмента от Unreal есть своя особенность, которая делает LOD Level of Detail (уровень детализации) или Level of Development (уровень проработки модели) автоматически на разных дистанциях. Благодаря этому Landscape предоставляет огромный выигрыш по скорости обработки сцены.

Unreal превосходно справляется с рендером как небольших локаций (до 4 х 4 км), так больших (28 х 28 км и даже больше) — все объекты на нем подгружаются очень быстро.

Foliage

Unreal Engine 4

В Foliage можно даже анимировать объекты на уровне шейдеров. При этом такая высокая скорость реакции, как в Unreal, не встречается больше нигде.

Приоритетность LOD

Unreal Engine 4

Unreal Engine 4

Раньше нужно было рисовать их по отдельности. Unreal позволяет просто кисточкой обвести площадь на карте, а движок сам добавит всех персонажей самостоятельно. Мне остается только задать точку, куда они должны двигаться — и все.

В 2015 году мы тратили около трех дней на рендер лишь одного кадра с 15-тысячной толпой — это делала связка из 16-ти мощных компьютеров. В 2021 году возможности Unreal позволяют обработать всю сцену всего за пять минут на одном компьютере.

Quixel Bridge


Я крайне рекомендую использовать библиотеку Quixel Bridge. Правда, она доступна только для пользователей Epic Games Store, но регистрация там бесплатная. Пользователю будет доступны 15 тысяч ассетов Объектов, материалов, текстур, деталей — полностью бесплатно и все высочайшего качества.

Unreal Engine 4

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

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

При этом интеграция Quixel Bridge достаточно гибкая — экспорт в Unreal Engine происходит в один клик.

Mixer

Unreal Engine 4

Стоит отметить еще один инструмент на базе Quixel Bridge — Mixer. Он работает в связке с Bridge. Если вы скачали что-то в Bridge, объект автоматически появится в Mixer. Он позволяет в два-три клика быстро изменить объект библиотеки с сохранением геометрии, но с новым шейдингом. При этом полученный результат можно сохранить как смарт-материал и использовать в последующих объектах.

Volume

Unreal Engine 4

Volume — страшная штука для любого рендера из-за обилия эффектов света и тени, а также огромного количества плашек с текстурами. Если раньше на обработку сцены уходили дни, а то и недели, то в Unreal подобные эффекты просчитываются в реальном времени с сохранением высокого качества картинки. Причем неважно, какие это эффекты в сцене: туман, дым, облака, свет. Те, кто занимается синематикой, будут в восторге.

Sequencer

Unreal Engine 4

Unreal Engine 4

Отдельно отмечу возможность регулировки скорости проигрывания клипов — можно ускорять или замедлять. Это важно для качественной передачи анимации и динамики, а также для синхронизации скорости.

CameraShake

Unreal Engine 4

В Sequencer есть еще интересный эффект под названием CameraShake — очень рекомендую его использовать, чтобы придать реалистичности поведения камеры, например, при взрыве.

Practicle FX

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

Unreal Engine 4


Раньше работа с эффектами в Unreal через Cascade была достаточно сложной и громоздкой. Благо, в четвертой версии движка был добавлен плагин Niagara. Он представляет собой автоматический конвертер. Достоинства плагина в том, что он дает большую производительность, высокое качество, а также предоставляет множество партиклов С помощью систем частиц создаются эффекты огня, дыма, искр и т.д. для насыщения сцены эффектами. Этот плагин наделен возможностью взаимодействия модулей между собой для придания более красивого визуала сцене.

Unreal Engine 4

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

При этом нарисовать подобную сцену в Niagara крайне просто, а рендер будет происходить в реальном времени.

Постпроцессинг и рендеринг

После постпроцессинга все объекты определенным образом окрашивают нашу сцену. Дополнительно ей придают окрас glow-эффекты, motion blur. В итоге картинка получается перенасыщенной с высоким контрастом. Поэтому необходима дополнительная цветокоррекция. Но перекрасить такую сцену бывает очень сложно из-за «пережаренных« цветов.

Unreal Engine 4

В Unreal Engine и до этого была встроенная цветокоррекция. Но раньше на нее в движке мало кто обращал внимание. Но в четвертой версии все изменилось. В цветокоррекцию Unreal Engine 4 был добавлен специальный и очень простой фильтр, который добавляет широкий цветовой диапазон, что важно для покраски сцены. А дальше цветокорректору становится проще ее вытянуть по атмосфере и настроению.

Еще один великолепный эффект — DOF (Depth of Field). Вы все знаете об эффекте боке, когда на фотографии задний фон размывается, создавая глубину, акцентируя больше внимания на объекте на переднем плане. Но стандартные рендеры не выдерживают этот эффект — появляются шумы и артефакты, а сам процесс создает дикую нагрузку на компьютеры. В Unreal Engine 4 DOF работает невероятно быстро, практически в реальном времени.

Хочу отметить всевозможные типы Render Pass. Иногда мы используем специфические слои, в которых объявляются разнообразные свойства. Например, добавить сцене объемности, наполнить ее воздухом, сделать десатурацию, прибавить освещения с правильным отражением. Можно даже добавить свои шейдеры с уникальными свойствами. В Unreal Engine 4 появилась даже поддержка новомодных эффектов трассировки лучей, благодаря видеокартам NVIDIA RTX 20-й и 30-й серии.

Unreal Engine 4

Напоследок, в Unreal Engine есть возможность использовать разнообразные консольные команды. Это необходимо для добавления тонких настроек эффектам, вроде прописывания приоритета для LOD. Бояться их не стоит, они простые в использовании и все описаны в документации — достаточно скопировать и вставить их в консоль.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

В этом уроке, посвященном Unreal Engine 4 вы узнаете, как использовать Blueprints для создания игрового персонажа игрока и настройки его взаимодействий с различными объектами.

Blueprints – это своего рода система визуальных событий в Unreal Engine 4, которая позволяет быстро создать прототип вашей игры. Вместо того, чтобы писать подробный код, вам достаточно сделать визуальную поведенческую модель: создать и разместить узлы, а также соединить их в зависимости от последовательности событий и установить каждому определенные свойства.

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

В этом уроке вы научитесь использовать Blueprints для:

  • Установки вида камеры в пространстве;
  • Создания игрового персонажа с набором базовых движений;
  • Создания функций и свойств для игрового персонажа;
  • Создания объекта, который будет исчезать при взаимодействии с ним игровым персонажем.

Начало работы

В первую очередь вам необходимо скачать и разархивировать стартовый проект.

Для того, чтобы открыть его, вам нужно перейти в корневую папку, где находится скаченный файл BananaCollector.uproject и открыть его.

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


Для вашего удобства все файлы проекта разбиты на категории и помещены в соответствующие папки, как на этом изображении:


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

Создание персонажа


Справка: Класс Character также подойдет для этих целей, кроме того, он может активировать команду движения по умолчанию. Однако в этот раз вы будете создавать свою собственную систему передвижения, поэтому класса Pawn будет достаточно.

Прикрепление камеры

Камера является своего рода способом для игрока осматривать игровое пространство. Сейчас вам нужно будет создать камеру с видом сверху. Для этого откройте двойным нажатием левой кнопки мыши BP_Player в Content Browser. Теперь вы можете приступить к редактированию.


Для того, чтобы создать обзор сверху, необходимо разместить камеру непосредственно над плеером. Для этого выбирайте компонент камеры и переходите на вкладку Viewport.

Образ и расположение персонажа




Теперь пришло время создать нового игрового персонажа с именем Pawn. Для сохранения результата вам нужно нажать кнопку Compile и вернуться в главный редактор.

Создание персонажа

Прежде чем игрок сможет контролировать своего персонажа, необходимо указать несколько важных вещей:

  1. Тип персонажа, которым игрок будет управлять;
  2. Место, где этот персонаж появится при старте игры.

Создание игрового режима

Игровой режим — это класс, который контролирует, как персонаж появляется в игре. Например, в многопользовательских играх необходимо применить специальный игровой режим который будет определять появление каждого игрока. Кроме того, игровой режим также определяет тип персонажа, которым будет пользоваться игрок.

Вам нужно перейти в Content Browser и найти папку Blueprints. Теперь нажмите кнопку Add New ⇒ Blueprint Class. В появившемся окне выберите Game Mode Base и назовите его GM_Tutorial.


Теперь вам нужно указать, какой класс персонаж Pawn будет использоваться по умолчанию. Для этого дважды щелкните GM_Tutorial, чтобы он открылся.


Прежде чем вы сможете использовать новый игровой режим, необходимо указать его для конкретного игрового уровня. Это делается в настройках игрового мира. Сейчас вам нужно нажать Compile и закрыть редактор Blueprint.

Каждый игровой уровень имеет свои настройки. Вы можете получить доступ к настройкам и изменять их по своему усмотрению, выбрав Window ⇒ World Settings. Другой вариант, как это можно сделать – перейти к панели инструментов и выбрать Settings ⇒ World Settings.


Новая вкладка World Settings откроется рядом с вкладкой Details. Тут вам нужно будет перейти к раскрывающемуся списку для изменения настроек GameMode и выбрать там GM_Tutorial.


Вы можете увидеть, что все классы изменились на те, которые вы выбрали в GM_Tutorial.


Расположение метки Player Start

В процессе создания персонажа, система игрового режима автоматически ищет метку его расположения в игровом пространстве.

Вы можете разместить метку в любом, понравившемся вам месте, а когда закончите, переходите на панель инструментов и нажимайте Play. Персонаж появится ровно в том месте, где вы установили метку Player Start.


Следующей задачей будет настройка команды для движения игрового персонажа.

Настройка управления

Назначение команд для выполнения какого-либо действия называется привязкой ключа.

В Unreal вы можете настроить клавиши управления, которые будут выполнять определенное действие или вызывать событие при нажатии на них. События представляют собой это узлы, которые выполняются, когда происходят определенные действия (в этом случае, когда вы нажимаете связанную клавишу). Узлы, подключенные к событию выполняются после инициации события.



Только представьте, насколько бы этот процесс был сложнее, если бы вы вводили для каждой команды специальный код.

Что такое Axis и Action Mappings

Для просмотра настроек ввода вам нужно перейти к Edit ⇒ Project Settings. Слева выберите Input в разделе Engine.



В Unreal доступны два метода для создания привязок клавиш:

  • Action Mapping (Отображение действий): при этом методе, функция имеет только два возможных состояния – активна или не активна. Все действия будут срабатывать только после того, как вы нажмете или отпустите клавишу. Обычно этот метод используется для действий, которые не имеют промежуточного состояния, таких, например, как стрельба из пистолета.
  • Axis(Отображение оси): При выборе этого метода, программа будет показывать числовое значение, называемое значением оси (подробнее об этом позже). События Оси будут запускать каждый кадр, которые как правило используется для действий, требующих дополнительное устройство ввода (манипулятор или компьютерная мышь).

В этом уроке мы рассмотрим, как пользоваться методом Axis.

Создание Movement Mappings

Для начала вам нужно создать две группы отображения осей (Axis). Они дадут возможность создать несколько привязок ключей к одному событию.


MoveForward будет обрабатывать движение персонажа вперед и назад. MoveRight будет обрабатывать перемещение персонажа влево и вправо.


В окне редактора сопоставьте клавиши W и S с MoveForward и клавиши A и D с MoveRight.


Далее вам нужно установить поля Scale.

Функции Axis Value и Input Scale

Значение оси (Axis Value) — это числовое значение, которое определяется типом ввода и тем, как вы планируете его использовать. Посмотрите, как это выглядит на изображении ниже, чтобы лучше понимать, как распределяются числовые значения:


Вы также можете использовать значение Axis, чтобы контролировать скорость персонажа. Например, если вы сдвинете джойстик к краю, значение оси будет равно 1. Если вы поместите его посередине, значение будет равно 0,5.


Вы также можете использовать значение Axis, чтобы указать направление движения. Формула следующая – если вы умножите скорость персонажа на положительное значение Axis, то вы получите положительное смещение. Использование отрицательного значения оси приведет соответственно к отрицательному смещению. Конечное значение этого смещения по отношению к местоположению игрового персонажа определит, в каком направлении он будет двигаться.


Клавиши клавиатуры могут выводить значение оси только равное 1 или 0, однако вы можете использовать масштаб для преобразования его в отрицательное значение. Это делается путем умножения значения Axis на масштаб. Если вы умножите положительное значение (значение Axis) на отрицательное значение (Scale), вы получите отрицательное значение.

Установите значения клавиш S и A, нажав на поле Scale и введя -1.


Движение игрового персонажа

Обратите внимание: вы ищете красный узел в Axis Events, а не зеленый узел в Axis Values.

Повторите процесс для MoveRight.

Использование переменных


Теперь вам нужно перейти перейдите на вкладку Details и изменить название новой переменной на MaxSpeed и ее тип на Float.



Чтобы определить конечную скорость и направление движения необходимо умножить значение MaxSpeed и значение оси. Добавьте узел float * float и подключите к нему Axis Value и MaxSpeed.

Определение направления движения персонажа

Во-первых, вам нужно добавить узел под названием Get Actor Forward Vector:


Во-вторых, необходимо добавить узел Add Movement и соединить узлы между собой следующим образом:


Обратите внимание, белая линия выполняет функцию соединения цепочки исполнения команды. Другими словами, когда игрок перемещает входную ось, то автоматически генерируется событие, которое будет выполнять узел InputAxis MoveForward. Белая линия означает, что когда это произойдет, вы выполните узел Add Movement Input.

Узел Add Movement Input отвечает за выполнение следующих входных данных:

  • Target: устанавливается на перка, который обозначается в таблице красным полем.
  • World Direction: Направление которое служит для указания перемещения цели.
  • Scale Value: в данном случае является максимальной скоростью персонажа.

Вам нужно повторить процесс также для MoveRight, но при этом заменить Get Actor Forward Vector на Get Actor Right Vector.


Добавление функции Offset

Вам нужно перейти к узлу Event Tick, который находится на графике событий. Он должен быть слева и отмечен серым цветом, однако если этот узел отсутствует, вам будет нужно создать его для продолжения работы.


Чтобы добавить функцию Offset, также создайте узлы Consume Movement Input Vector и AddActorLocalOffset и свяжите их следующим образом:


Это позволит вам получать любые сохраненные данные о движении персонажа и добавлять их в текущее местоположение перка.

Нажмите Compile, вернитесь в главный редактор и нажмите Play. Посмотрите, теперь вы можете управлять вашим персонажем!

Настройка частоты кадров

Выйдите из воспроизведения игры и откройте BP_Player. Далее перейдите к узлу Event Tick и посмотрите на панель Delta Seconds.


Delta Seconds определяет время, прошедшее с момента последнего события. Если при этом вы умножите значение смещения на Delta Seconds, то движение персонажа станет независимым от частоты кадров.


Приведем пример: персонаж имеет значение максимальной скорости=100. Если с момента последнего события прошла секунда, то получается, что перк переместится на 100 единиц. Соответственно, если прошло полсекунды, то его перемещение составит 50 единиц.

Чтобы умножить смещение на Delta Seconds, вам нужно добавить vector * float и подключить узлы следующим образом:



Столкновение с пространством

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

Посмотрите, как это выглядит на изображении:


Взаимодействие персонажа активируется, когда его сфера соприкасается с сферой другого персонажа или объекта.


Активация столкновения

Когда вы перемещаете игрового персонажа, программа Unreal учитывает только корневой компонент для столкновений. Поскольку корневой компонент вашего персонажа еще не имеет значение столкновения, он проходит через все пространство беспрепятственно.

Примечание: Игровой персонаж, который не имеет определенный корневой компонент, может блокировать, у которого нет коллизии в качестве корня, может блокировать перемещение других персонажей. Однако он одновременно с этим будет беспрепятственно перемещаться по локации, сквозь стены и предметы.

Теперь переключитесь на график событий и перейдите к узлу AddActorLocalOffset. Тут вам нужно найти вход Sweep и установить для него значение true, щелкнув левой кнопкой мыши по флажку.


Создание объектов


Настройка реакции на столкновение



Теперь вам нужно указать, как будет реагировать персонаж на столкновение с объектом. Если вы не забыли, то тип вашего персонажа – WorldDynamic, так что нужно выбрать реакцию на столкновение именно для этого типа. Теперь перейдите в раздел Collision Responses и измените реакцию на столкновение WorldDynamic на Overlap, щелкнув средний флажок справа от WorldDynamic.


Настройка столкновения

Смотрите, теперь у вас есть новый узел OnComponentBeginOverlap (StaticMesh):


Далее создайте узел DestroyActor и свяжите его с узлом OnComponentBeginOverlap (StaticMesh):


Размещение объекта

Закройте редактор Blueprint и убедитесь, что вы находитесь в папке Blueprints. Теперь разместите несколько бананов (BP_Banana) по всему уровню при помощи мыши.

Теперь нажмите Play и попробуйте собрать несколько бананов при помощи вашего персонажа.

Что делать дальше?

Из этого урока вы узнали много нового о возможностях программы Unreal. Вы также можете скачать готовый проект и все материалы, которые нужны для работы на этой странице.

Чтобы продолжить ваше обучение основам Unreal Engine, вам нужно перейти к следующему уроку из которого вы узнаете много нового, в том числе о различных материалах в Unreal Engine.

Что ж, на этот раз я подведу итоги UE4. Я хотел бы извиниться перед друзьями CE3, потому что у меня ограниченное количество продуктов с водой, и я попал в очень большое узкое место в исследовании и изучении CE3. Кроме того, у меня также есть небольшая личная мысль, то есть я надеюсь, что Cryteck официально выпустит новую версию и, по крайней мере, улучшит текущую документацию, поэтому я могу только временно отложить CE3, но я не откажусь CE3, CE3 - определенно очень большая проблема для меня, и я не откажусь от нее легко.



LevelStream реализует супер-большую бесшовную карту-обучение официальных документов

The Level Streaming feature makes it possible to load and unload map files into memory as well as toggle their visibility all during play. This makes it possible to have worlds broken up into smaller chunks so that only the relevant parts of the world are taking up resources and being rendered at any point. If done properly, this allows for the creation of very large, seamless levels that can make the player feel as if they are playing within a world that dwarfs them in size.

    Обзор Активация функции комбинации мира Уровень отношения Комбинация уровней
      Этаж Маленькая карта Взаимодействие с пользовательским интерфейсом и подсказки
      Настройки плитки Настройки LOD
      Импортировать тайловый ландшафт

    World Composition has been designed to simplify managing large worlds. One of the goals is to avoid using a persistent level to store streaming information as it becomes a bottleneck when a team of level designers want to work on levels simultaneously. The persistent level does not store any streaming information and instead scans a folder and treats all found levels as streaming levels. Each streaming level has information stored in the package header, which World Composition can read without loading the level into memory. Initially, all levels except the persistent level are unloaded in World Composition. You can load or unload any part of the world manually at any time.

    World Composition relies on a world origin shifting feature which, when used with distance based level streaming, allows you to create worlds which are not limited to the WORLD_MAX constant value hard-coded into the engine.

    Состав мира ( World Composition ) Опираясь на исходные передаточные характеристики мира, при использовании потока уровней на основе расстояния, вы можете создать мировой максимум, не ограниченный набором движков. WORLD_MAX Постоянная эта постоянная.

    World Composition managed worlds can be activated by switching on Enable World Composition flag in World Settings .

    You can also disable world origin shifting by switching off Enable World Origin Rebasing flag in World Settings .

    Конечно, вы также можете снять флажокEnable World Origin RebasingЛогическое значение, чтобы не использовать мировые примитивные характеристики передачи 。




    (1) Проверить При включении World Composition, Система автоматически просканирует папку, в которой находится большая карта. Если в папке, где расположена большая карта, есть другие карты, система предложит





    Уровни Уровень иерархии

    After you have activated World Composition, all the levels in your project will be visible in the Levels window. To open this window, click on the Windows menu, and then select Levels .

    The entries in the Levels window represent your world hierarchy.

    Когда вы активируете команду комбинации миров, вы можете увидеть все карточки в вашем проекте на панели уровней (английский: уровень). Панель уровней можно открыть так



    в Контрольно-пропускной пункт Окно вход От вашего имени Иерархия мира 。





    The level with its name in blue text is the current level. Currently loaded levels will have their names in white text, while levels that are unloaded have grayed-out names.

    To load a level in the world composition, just double-click its name. Using drag-and-drop, you can establish relationships between individual levels. Child levels store position relative to the parent level, so when you change the parent level’s position all child levels will recalculate their position accordingly.

    In the Levels window, you can lock and save levels, as well as open the Level Blueprint for each level, with buttons to the right of the level name.

    Синий уровень в окне - текущий уровень. Имя загруженного в данный момент уровня (на рисунке: SmallMap1) - белого цвета, а имя выгруженного уровня (на рисунке: SmallMap2) - серого.

    Просто дважды щелкнув название уровня в окне, вы можете загрузить его в мировую группу ( world composition ), после загрузки вы можете наблюдать изменение цвета названия уровня! Отношения родитель-потомок между уровнями можно установить с помощью перетаскивания. Обратите внимание, что подуровни хранят относительные позиции! Это относительно положения родительского уровня, поэтому, как только вы измените положение родительского уровня, позиции всех соответствующих дочерних уровней также изменятся соответствующим образом.

    в Окно уровня В, вы можете заблокировать или сохранить уровень, или вы можете напрямую открыть план каждого уровня.



    Обратите внимание: как только вы загрузите карту, вы увидите, что многие свойства постоянного уровня изменились:







    Состав уровней Состав уровней:

    When Enable World Composition is on, there is a button to open World Composition at the top of the Levels window .

    Если установлен флажок "Включить композицию мира", окно композиции мира можно открыть с помощью следующей кнопки.



    Here, you can see the layout of your world.

    Здесь вы можете увидеть план вашего мира



    By default, all levels are assigned to an Uncategorized layer. Layers hold information about streaming distances, so levels assigned to a particular layer will inherit that streaming distance. Levels assigned to a layer with streaming distance disabled will be excluded from distance streaming, and can instead be controlled using Blueprints.

    You can create new layers by clicking the + button to the right of the existing layer names. Each level can only be assigned to one layer at a time.

    Layers can not be deleted or edited, so if you would like to change streaming distance settings, create a new layer with your desired settings and assign levels to it. Layers which have no assigned levels will be deleted automatically the next time you open a level.

    You can filter your levels by layer by clicking on the layer name above the minimap. You can toggle multiple layers by using Control+Mouse Click . When there are no layers toggled on, no filtering is performed.

    По умолчанию все уровни присвоены без категории ( Uncategorized ) Этот слой. Каждый слой сохраняет информацию о расстоянии потока уровня , Таким образом, уровень, назначенный определенному слою, унаследует информацию о расстоянии потока уровня. Слой распределения Потоковое Удаленно Отключить Будет исключен из расстояние течь Уровень , И может контроль Используемый чертеж . Назначение слоя, на котором отключено расстояние потока по уровню, устранит влияние расстояния потока по уровню, и им можно будет управлять с помощью чертежа.

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

    обращать внимание! Слои нельзя удалять или редактировать, поэтому, если вы хотите изменить настройку расстояния потока уровня, создайте новый слой с нужным вам дизайном и назначьте ему соответствующий уровень. Слои без назначенных уровней будут автоматически удалены при следующем переключении карт.

    Вы можете фильтровать уровни по слоям, щелкнув название слоя на мини-карте. Вы можете переключать несколько слоев одним щелчком Ctrl + Mouse. Когда нет открытых слоев, фильтрация отсутствует.

    Миникарта

    Each level except the persistent level has an image and position in the world, which are displayed in the minimap. The image of the level is updated every time content in the level is changed. This map allows you to preview your world from the top and arrange the position of levels by dragging them. When dragging levels, they will snap to the edges of other levels. Holding the Control key will cause the level movement to use the Level Editor’s snapping settings. Note that level position is stored as integer coordinates, so for exact matching of adjacent level tiles, your levels must have integer bounds sizes.

    За исключением постоянных уровней, все остальные уровни будут иметь изображение и положение в мире на миникарте. Это изображение уровня также будет обновляться при изменении содержимого уровня. Мини-карта позволяет вам предварительно просмотреть свой мир на виде сверху и установить их местоположение, перетаскивая каждый уровень. когда При перетаскивании уровня , Они будут захвачены на краю других уровней. Удерживание клавиши Control приведет к использованию настроек захвата редактора уровней при перемещении по горизонтали. Обратите внимание, что положение уровня сохраняется как целочисленная координата, поэтому, когда вам нужно точно отрегулировать положение плитки уровня (мозаичной карты), ваш уровень должен иметь размер целого диапазона.







    Levels based on Landscape Actors have snapping based on the base landscape component size. This is done to enable seamless editing between Landscape Actors in different levels.

    на основе Landscape Actors Край уровня объекта ландшафта основан на ландшафте родительского класса. Размер компонента ландшафта. Это сделано для того, чтобы обеспечить возможность редактирования между различными объектами ландшафта и уровнями ландшафта.

    All Landscape Actors will have tranformations disabled in the Editor Viewport to ensure that the landscape can not be moved by an arbitrary amount and lose its ability to be aligned with other landscape levels.

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

    The first time a level is loaded in World Composition , a new Level Bounds Actor is automatically created in the level. The Level Bounds Actor is used to calculate the size of the level.

    By default, the Level Bounds Actor automatically resizes to include all Actors found in the level. However, some Actors, like skyboxes, can have very large bounding boxes, which will result in overly large level tiles in the world minimap. If you have Actors like this that you do not want to include in the level bounds calculations, you can disable automatic level bounds calculations and set a fixed size for the Level Bounds Actor.

    Уровень загружается в Мировая композиция Время, новый объект под названием Level Bounds Actor Будет автоматически создан на этом уровне. Пограничные объекты КПП ( Level Bounds Actor) Объект используется для расчета размера уровня, его можно искать в схеме мира!

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





    Currently, realtime must be enabled in the viewports for the Level Bounds Actor to function.

    В настоящее время в реальном времени Должен быть включен в представлении Level Bounds Actor будет работать таким образом.

    The minimap has a yellow square indicating the safe edit area. The safe edit area’s size is equal to the WORLD_MAX contant in the engine. Levels outside of this area will be hidden automatically, and their level images will reflect this. World Composition tries to keep levels you are working on close to the Editor world origin. This feature is called “focusing” and may shift the current world origin to a new position if you begin editing a level outside of the safe edit area. Shifted levels still preserve their Actors’ original transformations when they are saved, so saving a level that is currently shifted will not change the Actors’ absolute positions.

    Если тебя посылают в гугл — это не значит, что хотят тебя обидеть\унизить\самоутвердиться за твой счет. Это всего лишь означает, что твой вопрос довольно элементарен и у тебя наверняка получится найти ответ самостоятельно. От этого выиграют все — ты повысишь свой скилл гугления, лучше разберешься, а остальные не потратят свое время на повторение в сотый раз того, что и так легко найти.

    Если ты уже прошерстил первые 2–3 страницы гугла и ничего не нашёл, удостоверься, что ты правильно гуглишь:

    • твои запросы должны быть на английском с припиской в конце unreal engine (например, set start level unreal engine)
    • постарайся как можно сильнее обобщить запрос, например, не “как перекрасить кубик когда у меня игрок нажмет кнопку”, а “change material parameter on button event unreal engine”.

    Посоветуйте с чего начать. Курсы, ссылки, вот это все.


    Освещение постоянно меняется, то светлеет, то темнеет.

    Так работает автоэкспозиция. Отключить её совсем или настроить можно через постпроцесс. Для отключения выставьте минимальное и максимальное значение одинаковым в разделе экспозиции в настройках постпроцесса. Убедитесь, что вы попадаете в объем постпроцесса, либо что он бесконечный (галочка Unbound). Что-то еще узнать по этой теме можно прогуглив “auto exposure unreal engine”.


    Объекты исчезают при отдалении камеры.

    • Проверяем лоды: нужно проверить как выглядит ассет в разных лодах, возможно в одном из них его не видно вовсе. Так же у лодов есть возможность скрывать объект в зависимости от настроек графики (пробить этот вариант можно выставив все пункты скалабилити на эпик).
    • Проверяем дистанцию прорисовки у объектов (кулинг): у одних ассетов на уровне (например, статик или скелетал меши) это настройка draw distance, у других (например, у фолиажа) это cull distance
    • Проверяем материал: ищем в материале все ноды, которые так или иначе могут быть связанны с дистанцией или глубиной пикселей, например функция CameraDepthFade или Distance_Blend или просто Camera Distance в сочетании с Absolute World Position может скрывать объект на определенной дистанции от камеры
    • Баунд боксы: проверяем достаточен ли размер баунд бокса объекта для отображения, можно попробовать сильно увеличить баунд бокс для проверки.


    Импортирую меш, а он раздельными кусками в движке. Как импортировать одним мешем?

    Самым лучшим решением будет объединить меш в любом 3D пакете, но, если такой возможности нет, то в окне импорта нужно поставить галочку Combine Meshes.


    Импортирую меш, а пивот не там, где в 3д пакете.

    Сбросьте позицию модели в 0.0.0. в 3D редакторе, чтобы ось координат и пивот совпадали, тогда он импортируется корректно.


    Можно ли поменять пивот в движке?

    Конечно проще и лучше сделать это изначально в 3D редакторе, но если вам этот способ не подходит, то можно делать так или так.

    А что насчет целых сцен? Как импортировать разом сцену, сохраняя и пивоты объектов и позиции?

    Импорт целых сцен разом — кейс нетривиальный. С дефолтными настройками импорта у вас сохранятся позиции на сцене, но пивотом у всех объектов станет 0.0.0 сцены.


    Если при импорте убрать галочку Transform Vertex to Absolut, то у каждого объекта будут сохранены пивоты, но позиции на сцене не сохранятся.


    Чтобы сохранить и позиции и пивоты объектов, можно импортировать сцену через File — Import Into Level. Пивоты объектов сохранятся, а сами объекты будут расставлены на уровне как в 3D пакете. Так же там есть опция импортировать сразу как отдельную сцену в блюпринт акторе.

    Читайте также: