GD3D11 X5 (test version)
Я подготовил небольшое руководство по использованию редактора и его материалов:
Основные функции редактора(Basic editor functionality):
Растительность(Vegetation):
Тесселяция(Tesselation):
Карты нормалей/смещения(Normal/Displacement-Maps):
Важно: Имейте в виду, что большинство из этого все ещё является предметом возможного изменения в будущем. Проект ещё только в самом начале своего пути, и в данный момент представляет собой только ранний, предварительный обзор того, что я собираюсь делать с редактором в дальнейшем.
Я подготовил небольшое руководство по использованию редактора и его материалов:
Основные функции редактора(Basic editor functionality):
Для открытия и закрытия панели редактора используйте клавишу [F1]. При этом вы окажетесь(точнее, ваш Гг) в том состоянии, когда фокус камеры в игре будет отделён от его модели и перемещён на боковую панель редактора с левой стороны экрана.
Инструкцию о том как перемещаться в нём выводится в верхней левой части экрана. Перемещение такое-же как в UnrealEngine(в случае, если вы знакомы с ним), сделал его аналогичным, только потому, что больше всего мне понравились виды перемещения в 3D-сценах, именно там. При первом перемещении в нём, камера будет цепляться к углу экрана, впрочем, это - известный баг.
Для быстрой телепортации вашего Гг на новое место в мире игры, нужно просто перейти к требуемой части локации и при нажатой клавише [Shift], щёлкнуть на его новое месторасположение.
Ещё один момент, вы будете видеть его всякий раз, когда вы перемещаете курсор на одну из частей меша мира игры, это будет сопровождаться наложением красной каркасной сетки. Просто щёлкните её для выбора. При этом будут выделены все трианглы(triangles) использующие ту же текстуру в текущей секции. Размер одной секции меша равен: 16000x16000 в системе мировых единиц(сантиметры).
Инструкцию о том как перемещаться в нём выводится в верхней левой части экрана. Перемещение такое-же как в UnrealEngine(в случае, если вы знакомы с ним), сделал его аналогичным, только потому, что больше всего мне понравились виды перемещения в 3D-сценах, именно там. При первом перемещении в нём, камера будет цепляться к углу экрана, впрочем, это - известный баг.
Для быстрой телепортации вашего Гг на новое место в мире игры, нужно просто перейти к требуемой части локации и при нажатой клавише [Shift], щёлкнуть на его новое месторасположение.
Ещё один момент, вы будете видеть его всякий раз, когда вы перемещаете курсор на одну из частей меша мира игры, это будет сопровождаться наложением красной каркасной сетки. Просто щёлкните её для выбора. При этом будут выделены все трианглы(triangles) использующие ту же текстуру в текущей секции. Размер одной секции меша равен: 16000x16000 в системе мировых единиц(сантиметры).
Простой способ добавления новой растительности. Для этого, активируйте редактор, клавиша [F1], выделите определённую часть меша игры и перейдите в панели редактора на вкладку: "Растительность/Vegetation", в верхнем левом углу, после чего щёлкните на кнопку: "Заполнить выделенное/Fill selection". Это автоматически заполнит выделенную вами часть мира травой, при этом, к текстурам травы будет применён цвет поверхности мира на которую она была вставлена.
Также, вы можете самостоятельно размещать небольшие участки растительности. Для этого нажмите кнопку: "Добавить растительность/Add Vegetation", чтобы получить бокс прикреплённый к вашему курсору мыши. Поместите его в мир игры, щёлкнув курсором мыши в любом месте мира для его размещения. При этом, основную информацию о цвете, вставленная вами трава получит из первого найденного триангла(triangle).
Для получения наилучших результатов, используйте чек-боксы(checkboxes): "Текстура определена/Texture aware" и "Округлая форма", проставьте галочки, где параметр "Текстура определена", ограничивает размещённую вами траву, текстурой по которой вы щёлкнули.
Чтобы удалить некоторые части ранее добавленной растительности, используйте кнопку: "Удалить/Remove". После её нажатия, к вашему курсору будет применена новая кисть, для удаления лишней травы используйте зажатой клавишу [Ctrl] и левую кнопку мыши. Для выхода из режима удаления нажмите повторно кнопку "Удалить" в панели редактора.
Также, вы можете самостоятельно размещать небольшие участки растительности. Для этого нажмите кнопку: "Добавить растительность/Add Vegetation", чтобы получить бокс прикреплённый к вашему курсору мыши. Поместите его в мир игры, щёлкнув курсором мыши в любом месте мира для его размещения. При этом, основную информацию о цвете, вставленная вами трава получит из первого найденного триангла(triangle).
Для получения наилучших результатов, используйте чек-боксы(checkboxes): "Текстура определена/Texture aware" и "Округлая форма", проставьте галочки, где параметр "Текстура определена", ограничивает размещённую вами траву, текстурой по которой вы щёлкнули.
Чтобы удалить некоторые части ранее добавленной растительности, используйте кнопку: "Удалить/Remove". После её нажатия, к вашему курсору будет применена новая кисть, для удаления лишней травы используйте зажатой клавишу [Ctrl] и левую кнопку мыши. Для выхода из режима удаления нажмите повторно кнопку "Удалить" в панели редактора.
Важное примечание:
Имейте в виду, что пока не реализовано никакого способа для сохранения вашей работы!
Имейте в виду, что пока не реализовано никакого способа для сохранения вашей работы!
Эта версия отличается простым способом тесселяции, основанном на анализе смещения вершин(vertices) из меша мира игры. Он по-прежнему имеет несколько существенных недостатков, но главное, это работает уже сейчас.
Для применения тесселяции к части меша мира, вам просто нужно выделить что-нибудь на нём с полностью повторяемой черепичной текстурой(как например, камни или трава) и нажать на клавишу "Пробел/Spacebar". Выделение должно окрасится в жёлтый цвет, а каркасная сетка меша получить дополнительные трианглы(wireframe-triangles). Это не количество аппаратных треугольников(hardware triangles), меш получит их позднее с рендером визуализации! Это касается только программной стороны!
Кроме того, все текстурные координаты(UV-Coords) для выделенного меша будут сброшены, и к нему будет применено проецирование трёхпланарного-текстурного-шейдера. Это не будет корректно работать для домов, дорог или текстуры камня с травой поверх него.
После того как это будет сделано, вы можете попробовать настроить некоторые дополнительные параметры, чтобы сделать её вид немного лучше. Для этого, выберите ваш меш с тесселяцией и нажмите клавишу [F11]. На экране появится несколько других окон. Наиболее интересным из них является окно: "Настройки текстуры/Texture settings", в котором вы можете управлять различным поведением проецирования трёхпланарного-шейдера, как например: масштаб(scale) и подсветка краев модели(rim-lighting(fresnel)) или сила смещения(displacement-strength).
Для того чтобы немного увеличить силу тесселяции(tesselation-factor), просто нажмите на клавишу "Пробел/Space" снова, или используйте команду: General/TesselationFactor-variable.
Пожалуйста, имейте в виду, что это ещё предварительная реализация возможности, и поскольку карты смещения генерируются автоматически, то это не будет выглядеть очень хорошо в большинстве случаев. Кроме того, все меши использующие текстуры после применения к ним "тесселяции", будут использовать в качестве текстуры - трёхпланарный шейдер.
Хорошим примером для этого являются горы в порту Хориниса. Я установил свойства материалов для некоторых из них, так-что вам нужно просто выбрать место и нажать пару раз на клавишу пробел, чтобы сделать их вид в игре немного лучше.
Для применения тесселяции к части меша мира, вам просто нужно выделить что-нибудь на нём с полностью повторяемой черепичной текстурой(как например, камни или трава) и нажать на клавишу "Пробел/Spacebar". Выделение должно окрасится в жёлтый цвет, а каркасная сетка меша получить дополнительные трианглы(wireframe-triangles). Это не количество аппаратных треугольников(hardware triangles), меш получит их позднее с рендером визуализации! Это касается только программной стороны!
Кроме того, все текстурные координаты(UV-Coords) для выделенного меша будут сброшены, и к нему будет применено проецирование трёхпланарного-текстурного-шейдера. Это не будет корректно работать для домов, дорог или текстуры камня с травой поверх него.
После того как это будет сделано, вы можете попробовать настроить некоторые дополнительные параметры, чтобы сделать её вид немного лучше. Для этого, выберите ваш меш с тесселяцией и нажмите клавишу [F11]. На экране появится несколько других окон. Наиболее интересным из них является окно: "Настройки текстуры/Texture settings", в котором вы можете управлять различным поведением проецирования трёхпланарного-шейдера, как например: масштаб(scale) и подсветка краев модели(rim-lighting(fresnel)) или сила смещения(displacement-strength).
Для того чтобы немного увеличить силу тесселяции(tesselation-factor), просто нажмите на клавишу "Пробел/Space" снова, или используйте команду: General/TesselationFactor-variable.
Пожалуйста, имейте в виду, что это ещё предварительная реализация возможности, и поскольку карты смещения генерируются автоматически, то это не будет выглядеть очень хорошо в большинстве случаев. Кроме того, все меши использующие текстуры после применения к ним "тесселяции", будут использовать в качестве текстуры - трёхпланарный шейдер.
Хорошим примером для этого являются горы в порту Хориниса. Я установил свойства материалов для некоторых из них, так-что вам нужно просто выбрать место и нажать пару раз на клавишу пробел, чтобы сделать их вид в игре немного лучше.
Вкратце:
Нажмите клавишу [F1], перейдите в порт, выберите гору, нажмите клавишу [Пробел/Spacebar], дважды.
Нажмите клавишу [F1], перейдите в порт, выберите гору, нажмите клавишу [Пробел/Spacebar], дважды.
Использование собственных карт нормалей/смещений. Для этого нужно иметь эти карты в уже готовом виде или создавать их самому. Это можно сделать с помощью инструментария программ: "Фотошоп/Photoshop" или "DXTBmp".
При создании этих карт не забывайте, что: "Карта нормалей" должна располагаться в стандартных слоях для текстур с RGB-каналами, а "Карта смещений" должна быть помещена в слой альфа-канала.
При сохранении текстуры именуйте её как: "TextureNameInGothic_normal.dds", где - именованиеTextureNameInGothic, это оригинальное название текстуры в игре. И убедитесь, что вы сохраняете её в формате DXT5!
После чего, поместите готовую текстуру в каталог: "..\System\GD3D11\textures\replacements", с подтверждением перезаписи старых файлов, если они есть.
Всё, ваша текстура готова к работе в игре.
При создании этих карт не забывайте, что: "Карта нормалей" должна располагаться в стандартных слоях для текстур с RGB-каналами, а "Карта смещений" должна быть помещена в слой альфа-канала.
При сохранении текстуры именуйте её как: "TextureNameInGothic_normal.dds", где - именованиеTextureNameInGothic, это оригинальное название текстуры в игре. И убедитесь, что вы сохраняете её в формате DXT5!
После чего, поместите готовую текстуру в каталог: "..\System\GD3D11\textures\replacements", с подтверждением перезаписи старых файлов, если они есть.
Всё, ваша текстура готова к работе в игре.
Примечание:
Для сохранения текстур в формате *.dds, необходимо установить плагин: NVIDIA Texture Tools for Adobe Photoshop, если он не установлен. Подходит для большинства версий Photoshop: 5.0, 5.1, 6.0, 7.0, CS, CS2, CS3, CS4, CS5 and CS6.
Там же на странице загрузки, можно скачать дополнительный набор утилит: DDS Utilities, для работы с файлами этого формата, смотрите его в самом низу страницы.
Для сохранения текстур в формате *.dds, необходимо установить плагин: NVIDIA Texture Tools for Adobe Photoshop, если он не установлен. Подходит для большинства версий Photoshop: 5.0, 5.1, 6.0, 7.0, CS, CS2, CS3, CS4, CS5 and CS6.
Там же на странице загрузки, можно скачать дополнительный набор утилит: DDS Utilities, для работы с файлами этого формата, смотрите его в самом низу страницы.
Важно: Имейте в виду, что большинство из этого все ещё является предметом возможного изменения в будущем. Проект ещё только в самом начале своего пути, и в данный момент представляет собой только ранний, предварительный обзор того, что я собираюсь делать с редактором в дальнейшем.