Ru/Creating a Material: Difference between revisions
No edit summary |
(testing something out here) |
||
| Line 2: | Line 2: | ||
{{toc-right}} | {{toc-right}} | ||
Этот урок является пошаговым руководством по созданию совершенно нового [[material | Этот урок является пошаговым руководством по созданию совершенно нового [[material|материала]], включая материал [[texture|текстур]]. | ||
== Создание текстур == | == Создание текстур == | ||
| Line 12: | Line 12: | ||
== Преобразование текстур == | == Преобразование текстур == | ||
Перед тем, как использовать в Source, текстуры необходимо преобразовать в [[Valve Texture Format | Перед тем, как использовать в Source, текстуры необходимо преобразовать в [[Valve Texture Format|Valve Texture Format]]. Для этого Valve предоставляет инструмент [[Vtex (Source 1)|VTEX]]. С этим инструментом можно работать через [[command line|командную строку]], или с помощью сторонних программ, таких как [[VTFEdit]]. VTFEdit предпочтительней, поскольку имеет удобный графический интерфейс, позволяет редактировать текстуры без перекомпиляции, поддерживает множество форматов, и не требует отдельных скриптов для создания каждой текстуры. | ||
(Существуют VTF-плагины которые позволяют сохранять текстуры в формат прямо из [http://nemesis.thewavelength.net/index.php?p=39 Photoshop], [http://code.google.com/p/gimp-vtf/ GIMP] и [http://nemesis.thewavelength.net/index.php?p=50 Paint.NET].) | (Существуют VTF-плагины которые позволяют сохранять текстуры в формат прямо из [http://nemesis.thewavelength.net/index.php?p=39 Photoshop], [http://code.google.com/p/gimp-vtf/ GIMP] и [http://nemesis.thewavelength.net/index.php?p=50 Paint.NET].) | ||
| Line 33: | Line 33: | ||
==== Настройки мип-карт ==== | ==== Настройки мип-карт ==== | ||
[[MIP Mapping | [[MIP Mapping|Мип-карты]] - это версии текстуры, имеющие низкое разрешение, сменяющие друг друга по мере удаления камеры от неё. Они существенно сокращают требуемый объём текстуры, повышая производительность и качество изображения. | ||
{{tip|Текстуры, которые будут отображаться в 3D-мире, должны иметь мип-карты. Для экономии памяти, текстуры используют интерфейс 2D.}} | {{tip|Текстуры, которые будут отображаться в 3D-мире, должны иметь мип-карты. Для экономии памяти, текстуры используют интерфейс 2D.}} | ||
| Line 56: | Line 56: | ||
==Создание материала== | ==Создание материала== | ||
Source обращается к текстурам не напрямую. Он это делает через '''[[material | Source обращается к текстурам не напрямую. Он это делает через '''[[material|материалы]]'''. | ||
Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать [http://notepad-plus.sourceforge.net/ Notepad++] с [[Notepad++ VDF languages|подсветкой синтаксиса]]. Чтобы ваш материал был обнаружен, '''вы должны сохранить его в папке игры или мода <code>\materials</code> с расширением <code>.vmt</code>'''. | Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать [http://notepad-plus.sourceforge.net/ Notepad++] с [[Notepad++ VDF languages|подсветкой синтаксиса]]. Чтобы ваш материал был обнаружен, '''вы должны сохранить его в папке игры или мода <code>\materials</code> с расширением <code>.vmt</code>'''. | ||
| Line 77: | Line 77: | ||
} | } | ||
Существует много разных [[shader | Существует много разных [[shader|шейдеров]], но большинство материалов используют <code>[[LightmappedGeneric]]</code> ([[brush|браши]]) или <code>[[VertexLitGeneric]]</code> ([[model|модели]]). Третьим наиболее распространённым шейдером является <code>[[UnlitGeneric]]</code>, который используется для материалов [[:Category:VGUI|UI]], и изредка для [[tool textures|служебных текстур]]. | ||
===Параметры=== | ===Параметры=== | ||
:''Список всех задокументированных параметров шейдеров см. [[:Category:List of Shader Parameters | :''Список всех задокументированных параметров шейдеров см. [[:Category:List of Shader Parameters|Список параметров шейдеров]].'' | ||
Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они: | Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они: | ||
*<code>[[ | *<code>[[$basetexture]]</code> | ||
*<code>[[ | *<code>[[$surfaceprop]]</code> | ||
*<code>[[$envmap]]</code> | *<code>[[$envmap]]</code> | ||
*<code>[[$bumpmap]]</code> | *<code>[[$bumpmap]]</code> | ||
| Line 95: | Line 95: | ||
==См. также== | ==См. также== | ||
* [[Material | * [[Material|Материал]] | ||
* [[Material Editor]] | * [[Material Editor]] | ||
* [[Creating Reflective Materials]] | * [[Creating Reflective Materials]] | ||
* [[:Category:List of Shader Parameters | * [[:Category:List of Shader Parameters|Список параметров шейдеров]] | ||
Revision as of 16:49, 30 May 2023
Этот урок является пошаговым руководством по созданию совершенно нового материала, включая материал текстур.
Создание текстур
Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, и т.д. Прежде, чем создавать новую текстуру, изучите существующие, выполняющие ту же роль. Текстуры с высоким разрешением тормозят производительность, но при этом дают большую резкость при просмотре вблизи.
Различные классы объектов имеют разные стандартные разрешения (например, модели персонажей более детализированы). Если запутаетесь, вам в помощь source materials.gcf вместе с GCFScape.
Преобразование текстур
Перед тем, как использовать в Source, текстуры необходимо преобразовать в Valve Texture Format. Для этого Valve предоставляет инструмент VTEX. С этим инструментом можно работать через командную строку, или с помощью сторонних программ, таких как VTFEdit. VTFEdit предпочтительней, поскольку имеет удобный графический интерфейс, позволяет редактировать текстуры без перекомпиляции, поддерживает множество форматов, и не требует отдельных скриптов для создания каждой текстуры.
(Существуют VTF-плагины которые позволяют сохранять текстуры в формат прямо из Photoshop, GIMP и Paint.NET.)
Чтобы импортировать текстуру в VTFEdit, используйте File > Import или нажмите Ctrl+I. Выберите изображение и откроется окно импортирования:
Основные параметры
Следующие параметры наиболее важны. Их три:
- Формат нормалей
- Формат цвета/сжатия, который используется для прозрачной текстуры.
- Формат Альфа
- Формат цвета/сжатия, который используется для текстуры с альфа-каналом.
- Тип текстуры
- Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов).
Если вы создаёте простую текстуру, то вам не понадобится ничего из перечисленного выше. Если вы создаёте текстуру с детально проработанными градиентами, вам придётся выбрать режим сжатия без потерь.
Настройки мип-карт
Мип-карты - это версии текстуры, имеющие низкое разрешение, сменяющие друг друга по мере удаления камеры от неё. Они существенно сокращают требуемый объём текстуры, повышая производительность и качество изображения.
Следующие изображения демонстрируют различные мипмап-фильтры, доступные в VTFEdit:
Настройки карты нормалей
Эти (неправильно названные) настройки позволяют автоматически генерировать карту рельефа из вашего изображения.
Конфигурирование и сохранение
Когда вы нажимаете OK, входящий файл конвертируется (порою долго, если изображение большое), и на выходе появляется в формате VTF. Теперь всё, что осталось - это сконфигурировать настройки текстуры с помощью ряда флажков на левой стороне экрана. Описание каждого из них см. флаги изображений.
Теперь, сохраните файл в каталоге своей игры или мода в папке \materials.
Создание материала
Source обращается к текстурам не напрямую. Он это делает через материалы.
Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать Notepad++ с подсветкой синтаксиса. Чтобы ваш материал был обнаружен, вы должны сохранить его в папке игры или мода \materials с расширением .vmt.
Синтаксис
Файл материала выглядит так:
<shader> { <parameter> <value> ... }
LightmappedGeneric
{
$basetexture coast\shingle_01
$surfaceprop gravel
}
Существует много разных шейдеров, но большинство материалов используют LightmappedGeneric (браши) или VertexLitGeneric (модели). Третьим наиболее распространённым шейдером является UnlitGeneric, который используется для материалов UI, и изредка для служебных текстур.
Параметры
- Список всех задокументированных параметров шейдеров см. Список параметров шейдеров.
Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они:
