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", а сам файл мира будет называться согласно имени из первого поля ввода.
Загруженный Мир представляет из себя структуру каталогов, содержащих слои с игровыми сущностями.
Каталоги являются логической группировкой для других каталогов и слоев в них. Например группа "fx" содержит слои со всеми визуальными эффектами используемыми на уровне.
Слой в свою очередь объединяет основные игровые элементы, такие как мэшы, пути, триггеры, зоны и пр. Подробнее о слоях и особенностях работы с ними тут
Имена папок и слоев не носят обязательный характер и выбраны такими, чтобы правильно отражать задачу, которую они решают. Рекомендуется следовать этому шаблону и именовать свои папки/слои по примеру готовых Миров игры.
Большая часть инструментов, которые вам понадобятся для наполнения вашего Мира расположены во вкладке "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
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
Путь к папке с файлами карты региона.
Теперь, когда все настроено, вы можете приступать к созданию рельефа и наполнению его объектами и прочими элементами, каждый из которых рассмотрен в прочих разделах руководства.
Набор свойств отвечающих за окклюзию окружения. Подробнее об окклюзии .
Максимальная погрешность аппроксимации (подробнее о термине ). Меньшая точность - больше проблем, особенно с npc.
Отключить глобальный рендеринг воды. Подробнее глобальной воде и данном свойстве .
Путь к папке с файлами миникарты. Подробнее о миникартах .