World

На этой странице описаны миры, их свойства и взаимодействия с ними.

World (далее Мир) - это центральная сущность проекта REDkit и одновременно главная сцена игрового уровня.

Согласно концепции Witcher 3, Миры разделяют игру на зоны интереса и реализуют отдельные участки глобальной карты. В рамках Мира размещаются элементы ландшафта, игровые объекты, триггеры, скрипты и прочие элементы взаимодействия с игроком.

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

Приступая к работе

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

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

Загрузка мира

Для открытия игрового Мира потребуется найти один из файлов формата W2W в браузере ассетов (Asset Browser).

Несмотря на то, что большая часть миров расположена в ожидаемых местах (например папка "levels"), самым быстрым и эффективным способом найти нужный мир будет использование встроенного поиска.

Для это окне "Class:" выберете тип "CWorld", а окне поиска укажите ".w2w". Убедитесь, что выбран режим поиска по всей библиотеке и нажмите Enter.

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

Если, вам необходимо найти расположение найденного файла, то вы можете нажать правую кнопку мыши по файлу и выбрать "Go to resource home"

Подробнее о работе с браузером ассетов (Asset Browser) тут

Создание мира

В случае, если вы уже готовы приступить созданию собственного мира, то сделать это очень легко. Для этого в главном выберете меню "File > New World" и в открывшемся окне укажите имя вашего игрового Мира.

Важно! В рамках структуры Witcher 3 существует разделение на основную (ванильную) игру и DLC. Если вы разрабатываете мод, интегрируемый в текущую игру, то пространство создания игрового Мира не имеет значения, однако для самостоятельного DLC доступного из главного меню, требуется указать имя мира в поле "DLC name"

В зависимости от того, указали ли вы имя DLC или нет, будет определено расположение основного каталога для вашего мира. Для обычного мира в папке "levels" будет создана папка с именем вашего мира и в ней одноименный файл формата W2W.

Если же вы укажете имя и в поле DLC, то папка с таким именем будет создана в каталоге "dlc", а сам файл мира будет называться согласно имени из первого поля ввода.

Работа с миром

Слои (Scene)

Загруженный Мир представляет из себя структуру каталогов, содержащих слои с игровыми сущностями.

Каталоги являются логической группировкой для других каталогов и слоев в них. Например группа "fx" содержит слои со всеми визуальными эффектами используемыми на уровне.

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

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

Tools

Большая часть инструментов, которые вам понадобятся для наполнения вашего Мира расположены во вкладке "Tools". Например для создания рельефа потребуется инструмент "Terrain Edit Tools", а для тестирования анимаций для разных NPC в рамках вашего Мира, поможет инструмент "Test Anim".

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

Свойства мира

Настройки Мира находятся на вкладке "World" в панели управления и представляют собой глобальные свойства применяемые к миру.

Рассмотрим эти свойства подробнее:

Свойство
Описание

importFile

Путь к файлу мира во внешнем источнике. Используется для импорта миров, созданных или измененных вне редактора REDKit. В рамках большинства ситуаций использоваться не будет.

importFileTimeStamp

Время последнего изменения (загрузки) внешнего файла мира.

initialyHiddenLayerGroups

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

umbraScene

Набор свойств отвечающих за окклюзию окружения. Подробнее об окклюзии тут.

- distanceMultiplier

Множитель для расстояния стриминга окклюзии.

- distanceMultiplier

Ссылка на карту с зонами распределения окклюзии.

pathLib

Перечень настроек расчета навигации. Ряд настроек имеют продвинутый характер и не меняются при работе с большинством миров, поэтому они будут опущены.

- globalSettings

Группа свойств.

-- roadsNavcostMultiplier

Множитель стоимости навигации по дорогам. Простыми словами это коэффициент затрат на расчет навигации по дороге. Чем выше коэффициент, тем точнее расчет навигации, но ниже производительность.

-- maxTerrainSlope

Максимальный уклон рельефа. Используется для расчетов навигации по рельефу.

-- seaLevel

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

-- desiredStreamingRange

Диапазон, в котором мы хотим, чтобы все навигационные данные передавались в потоковом режиме.

-- terrainWalkableRegionMinSize

Минимальный размер зоны, по которой можно пройти на пересеченной местности (в метрах квадратных).

-- terrainUnWalkableRegionMinSize

Минимальный размер участка, по которому невозможно пройти (в метрах квадратных).

-- terrainHeightApproximationRange

Максимальная погрешность аппроксимации (подробнее о термине тут). Меньшая точность - больше проблем, особенно с npc.

worldDimensions

Размер мира.

shadowConfig

Настройки теней в рамках мира. Большая часть настроек имеют продвинутый характер и не меняются при работе с большинством миров, поэтому они будут опущены.

- useTerrainShadows

Активировать глобальные тени.

- terrainShadowsDistance

Дистанция отрисовки глобальных теней.

- terrainShadowsFadeRange

Диапазон, на котором исчезают тени местности.

- terrainShadowsBaseSmoothing

Базовое сглаживание для теней.

- terrainShadowsTerrainDistanceSmoothing

Дистанция на которой сглаживаются тени мира.

- terrainShadowsMeshDistanceSmoothing

Дистанция на которой сглаживаются тени объектов (мешей).

- terrainShadowMeshDistance

Дистанция на которой отбрасываются тени объектов (мешей).

- terrainShadowMeshFadeRange

Диапазон затухания теней объектов (мешей).

environmentParameters

Настройки окружения

- vignetteTexture

Текстура виньетирования (размытия по краям экрана в разных игровых ситуациях).

- cameraDirtTexture

Текстура грязи на камере.

- interiorFallbackAmbientTexture

Базовая текстура затенения для интерьеров.

- interiorFallbackReflectionTexture

Базовая текстура бликов для интерьеров.

- cameraDirtNumVerticalTiles

Количество вертикальных плиток, загрязнения камеры.

- globalLightingTrajectory

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

- environmentDefinition

Настройки окружения в открытом мире (ссылка на файл .env). Этот файл описывает настройки отражающие общий цветокор мира и то как он воспринимается в разное время суток и при разной погоде. Например более тяжелые цвета Каэр Морхена и яркие сочные в Туссенте.

- scenesDirtNumVerticalTiles

Настройки окружения в катсценах (ссылка на файл .env).

- speedTreeParameters

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

- weatherTemplate

Ссылка на файл с шаблонами погоды для мира. Этот файл содержит различные варианты погоды и полные настройки того, как она ведет себя в рамках заданного мира.

- disableWaterShader

Отключить глобальный рендеринг воды. Подробнее глобальной воде и данном свойстве тут.

- skybox

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

- sunMesh

Ссылка на файл w2mesh содержащий настроенный 3D объект солнца.

- sunMaterial

Класс CMaterialInstance c различными настройками материала для объекта солнца.

- moonMesh

Ссылка на файл w2mesh содержащий настроенный 3D объект луны.

- moonMaterial

Класс CMaterialInstance c различными настройками материала для объекта луны.

-- skyboxMesh

Ссылка на файл w2mesh содержащий настроенный 3D объект небосвода.

-- skyboxMaterial

Класс CMaterialInstance c различными настройками материала для объекта небосвода.

-- cloudsMesh

Ссылка на файл w2mesh содержащий настроенный 3D объект облаков.

-- cloudsMaterial

Класс CMaterialInstance c различными настройками материала для объекта облаков.

- lensFlare

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

- renderSettings

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

- localWindDampers

Ссылка на карту с зонами влияния ветров.

- localWaterVisibility

Ссылка на карту с зонами видимости воды.

soundBanksDependency

Массив ссылок на наборы звуков, которые будут применятся на данном уровне.

soundEventsOnAttach

Массив ссылок на звуковые события при подключении мира.

foliageScene

Класс типа CFoliageScene с настройками поведения листвы в игровых сценах.

minimapsPath

Путь к папке с файлами миникарты. Подробнее о миникартах тут.

gubmapsPath

Путь к папке с файлами карты региона.

Итог

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

Last updated