Ru/Creating a Material: Difference between revisions
(Created page with "{{lang|Creating a Material|title=Создание материала}} {{toc-right}} Этот урок является пошаговым руководством по со...") |
mNo edit summary |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title = Создание материала}} | ||
{{toc-right}} | {{toc-right}} | ||
Этот урок является пошаговым руководством по созданию совершенно нового | Этот урок является пошаговым руководством по созданию совершенно нового {{L|material|материала}}, включая материал {{L|texture|текстур}}. | ||
== Создание текстур == | == Создание текстур == | ||
Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, и т.д. Прежде, чем создавать новую текстуру, изучите существующие, выполняющие ту же роль. Текстуры с высоким разрешением тормозят производительность, но при этом дают большую резкость при просмотре вблизи. | Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, и т.д. Прежде, чем создавать новую текстуру, изучите существующие, выполняющие ту же роль. Текстуры с высоким разрешением тормозят производительность, но при этом дают большую резкость при просмотре вблизи. | ||
Различные классы объектов имеют разные стандартные разрешения (например, модели персонажей более детализированы). Если запутаетесь, вам в помощь <code>source materials.gcf</code> вместе с | Различные классы объектов имеют разные стандартные разрешения (например, модели персонажей более детализированы). Если запутаетесь, вам в помощь <code>source materials.gcf</code> вместе с {{L|GCFScape}}. | ||
{{note|Исходные файлы текстур должны сохраняться в формате с меньшими потерями качества - [[Wikipedia:Truevision TGA|TGA]].}} | {{note|Исходные файлы текстур должны сохраняться в формате с меньшими потерями качества - [[Wikipedia:Truevision TGA|TGA]].}} | ||
== Преобразование текстур == | == Преобразование текстур == | ||
Перед тем, как использовать в Source, текстуры необходимо преобразовать в | Перед тем, как использовать в Source, текстуры необходимо преобразовать в {{L|Valve Texture Format}}. Для этого Valve предоставляет инструмент {{L|Vtex (Source 1)|VTEX}}. С этим инструментом можно работать через {{L|command line|командную строку}}, или с помощью сторонних программ, таких как {{L|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 18: | Line 19: | ||
'''Чтобы импортировать текстуру в VTFEdit''', используйте <code>File > Import</code> или нажмите {{key|Ctrl+I}}. Выберите изображение и откроется окно импортирования: | '''Чтобы импортировать текстуру в VTFEdit''', используйте <code>File > Import</code> или нажмите {{key|Ctrl+I}}. Выберите изображение и откроется окно импортирования: | ||
[[ | [[File:Vtfedit importoptions.png|center|Экран импортирования VTFEdit]] | ||
==== Основные параметры ==== | ==== Основные параметры ==== | ||
Line 30: | Line 31: | ||
: Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов). | : Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов). | ||
Если вы создаёте простую текстуру, то вам не понадобится ничего из перечисленного выше. Если вы создаёте текстуру с детально проработанными градиентами, вам придётся | Если вы создаёте простую текстуру, то вам не понадобится ничего из перечисленного выше. Если вы создаёте текстуру с детально проработанными градиентами, вам придётся {{L|Valve Texture Format#Выбор формата изображений|выбрать режим сжатия без потерь}}. | ||
==== Настройки мип-карт ==== | ==== Настройки мип-карт ==== | ||
{{L|MIP Mapping|Мип-карты}} - это версии текстуры, имеющие низкое разрешение, сменяющие друг друга по мере удаления камеры от неё. Они существенно сокращают требуемый объём текстуры, повышая производительность и качество изображения. | |||
{{tip|Текстуры, которые будут отображаться в 3D-мире, должны иметь мип-карты. Для экономии памяти, текстуры используют интерфейс 2D.}} | {{tip|Текстуры, которые будут отображаться в 3D-мире, должны иметь мип-карты. Для экономии памяти, текстуры используют интерфейс 2D.}} | ||
Line 48: | Line 49: | ||
==== Настройки карты нормалей ==== | ==== Настройки карты нормалей ==== | ||
Эти (неправильно названные) настройки позволяют автоматически генерировать | Эти (неправильно названные) настройки позволяют автоматически генерировать {{L|bump map|карту рельефа}} из вашего изображения. | ||
=== Конфигурирование и сохранение === | === Конфигурирование и сохранение === | ||
Когда вы нажимаете OK, входящий файл конвертируется (порою долго, если изображение большое), и на выходе появляется в формате VTF. Теперь всё, что осталось - это сконфигурировать настройки текстуры с помощью ряда флажков на левой стороне экрана. Описание каждого из них см. | Когда вы нажимаете OK, входящий файл конвертируется (порою долго, если изображение большое), и на выходе появляется в формате VTF. Теперь всё, что осталось - это сконфигурировать настройки текстуры с помощью ряда флажков на левой стороне экрана. Описание каждого из них см. {{L|Valve Texture Format#Флаги изображений|флаги изображений}}. | ||
Теперь, сохраните файл в каталоге своей игры или мода в папке <code>\materials</code>. | Теперь, сохраните файл в каталоге своей игры или мода в папке <code>\materials</code>. | ||
==Создание материала== | ==Создание материала== | ||
Source обращается к текстурам не напрямую. Он это делает через ''' | Source обращается к текстурам не напрямую. Он это делает через '''{{L|material|материалы}}'''. | ||
Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать [http://notepad-plus.sourceforge.net/ Notepad++] с | Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать [http://notepad-plus.sourceforge.net/ Notepad++] с {{L|Notepad++ VDF languages|подсветкой синтаксиса}}. Чтобы ваш материал был обнаружен, '''вы должны сохранить его в папке игры или мода <code>\materials</code> с расширением <code>.vmt</code>'''. | ||
{{note|Если вы создаёте материалы и текстуры специально для вашего мода, рассмотрите возможность использования | {{note|Если вы создаёте материалы и текстуры специально для вашего мода, рассмотрите возможность использования {{L|BSPZIP}}\{{L|Packbsp}}\{{L|Pakrat}}, чтобы вшивать их прямо в карту. Это позволит избежать их утери в будущем.}} | ||
===Синтаксис=== | ===Синтаксис=== | ||
Файл материала выглядит так: | Файл материала выглядит так: | ||
< | <{{L|shader}}> | ||
{ | { | ||
<parameter> <value> | <parameter> <value> | ||
Line 77: | Line 78: | ||
} | } | ||
Существует много разных | Существует много разных {{L|shader|шейдеров}}, но большинство материалов используют <code>{{L|LightmappedGeneric}}</code> ({{L|brush|браши}}) или <code>{{L|VertexLitGeneric}}</code> ({{L|model|модели}}). Третьим наиболее распространённым шейдером является <code>{{L|UnlitGeneric}}</code>, который используется для материалов {{LCategory|VGUI|UI}}, и изредка для {{L|tool textures|служебных текстур}}. | ||
===Параметры=== | ===Параметры=== | ||
:''Список всех задокументированных параметров шейдеров см. | :''Список всех задокументированных параметров шейдеров см. {{LCategory|Shader parameters|Список параметров оттенений}}.'' | ||
Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они: | Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они: | ||
*<code> | *<code>{{L|$basetexture}}</code> | ||
*<code> | *<code>{{L|$surfaceprop}}</code> | ||
*<code> | *<code>{{L|$envmap}}</code> | ||
*<code> | *<code>{{L|$bumpmap}}</code> | ||
*<code> | *<code>{{L|$detail}}</code> | ||
*<code> | *<code>{{L|$selfillum}}</code> | ||
*<code> | *<code>{{L|$model (VMT)|$model}}</code> | ||
{{tip|Если в значении параметра потребуется использовать пробел или символ табуляции, вам нужно всё значение поставить в "кавычки". Вы увидите, что они экономят время печати.}} | {{tip|Если в значении параметра потребуется использовать пробел или символ табуляции, вам нужно всё значение поставить в "кавычки". Вы увидите, что они экономят время печати.}} | ||
==См. также== | ==См. также== | ||
* | * {{L|Material|Материал}} | ||
* | * {{L|Material Editor}} | ||
* | * {{L|Creating Reflective Materials}} | ||
* | * {{LCategory|Shader parameters|Список параметров оттенений}} | ||
{{ACategory|Material System}} | |||
{{ACategory|Tutorials}} |
Latest revision as of 06:58, 25 May 2025
Этот урок является пошаговым руководством по созданию совершенно нового материала , включая материал текстур .
Создание текстур
Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 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 , и изредка для служебных текстур .
Параметры
- Список всех задокументированных параметров шейдеров см. Список параметров оттенений .
Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они:
