KF2 SDK: как изменить стандартное небо для дневных карт
По умолчанию в картах SDK Killing Floor 2 стоит ночное небо. Этот урок мая 2015 года показывает, как собрать собственный экземпляр материала неба, чтобы действие кастомной карты происходило днём. Предполагается, что вы уже умеете собирать карты. Перед началом сохраните карту.
Подготовка
- Откройте Content Browser, выберите пакет
KFGameи найдите «Sky» с фильтром Static Meshes. Перетащите ENV_Basic_Sky на карту.
Найдите ENV_Basic_Sky и перетащите на уровень.
- Переключите фильтр на All, щёлкните правой кнопкой в Content Browser и выберите New MaterialInstanceConstant.
Создание MaterialInstanceConstant из контекстного меню.
- В диалоге укажите в Package имя вашей карты. Group - имя папки для кастомной текстуры (автор взял
Customtexture), Name - любое (автор взялSky_day). Нажмите OK.
Package, group и name для нового экземпляра.
- В Material Editor прокрутите до Parent. Выберите в Content Browser материал
M_Procedural_Sky_MASTER02, затем нажмите зелёную стрелку рядом с Parent, чтобы загрузить его. Можно импортировать и свою текстуру.
Зелёная стрелка назначает выбранный материал родительским.
- Закройте редактор, щёлкните правой кнопкой по мешу неба и выберите StaticMeshActor Properties (или нажмите F4).
Откройте свойства актора.
- Найдите «material». В разделе Rendering найдите Materials (0), нажмите Add a new item, выберите ваш MaterialInstance в Content Browser и нажмите зелёную стрелку (Use selected object). Так вы сможете видеть правки в реальном времени.
Назначьте новый экземпляр материала мешу неба.
- Закройте окно, щёлкните правой кнопкой по материалу неба и выберите Edit Using Material Instance Editor.
Откройте редактор экземпляра.
Редактирование материала неба
Откройте Parameter Groups, там несколько подменю.
- Своя текстура неба: откройте Texture Parameter Values. Поставьте галочку у
Tex2D_Clouds_Diffи выберите импортированную текстуру. Галочка уTex2d_Cloud_Normпозволяет задать свои нормали. Об импорте текстур - в кастомных текстурах и материалах через SDK.
Параметры текстур для своего неба.
- Стандартная текстура: правьте Vector Parameter Values и Scalar Parameter Values.
Векторные параметры.
Скалярные параметры.
Большинство настроек понятны без пояснений, меняйте на вкус. При закрытии Material Editor изменения сохраняются автоматически, и их видно во вьюпорте и в Content Browser.
Изменённое небо в отрендеренном вьюпорте.
Добавьте подходящий Skylight
Добавьте актор Skylight, если его ещё нет. Положение значения не имеет, поставьте где удобно найти. В левом нижнем вьюпорте выберите режим Lit, чтобы видеть освещение.
Размещение Skylight и предпросмотр в режиме Lit.
Затем в свойствах откройте Light, Light Component и измените цвет и яркость. Автор менял только эти два параметра, хотя опций больше.
Настройки Light Component.
Завершение
Выполните Build карты, затем Publish. Если появится ошибка вроде показанной ниже, нажмите Yes. Всё равно будет работать.
Предупреждение при публикации, которое можно принять.
Наконец, запустите игру и проверьте результат.
Дневное небо в игре.
Больше материалов по картам - в руководстве по картам для SDK.
Вопросы и ответы
- Какой меш и материал использует урок?
- Статический меш ENV_Basic_Sky из пакета KFGame и родительский материал M_Procedural_Sky_MASTER02, обёрнутый в новый MaterialInstanceConstant в пакете вашей карты.
- Зачем добавлять Skylight?
- Чтобы освещение карты соответствовало созданному небу. Цвет и яркость Skylight меняются в свойствах Light Component, а для предпросмотра переключите вьюпорт в Lit.
- Что делать, если при публикации появляется ошибка?
- По гайду нажмите Yes в диалоге с ошибкой. Карта всё равно будет работать.