Difference between revisions of "Creating a Material:ru"

From Valve Developer Community
Jump to: navigation, search
m
(Replaced content with "{{delete|reason=moved}}")
(Tag: Replaced)
 
Line 1: Line 1:
{{lang|Creating a Material|title=Создание материала}}
+
{{delete|reason=moved}}
{{toc-right}}
 
 
 
Этот урок является пошаговым руководством по созданию совершенно нового [[material:ru|материала]], включая материал [[texture:ru|текстур]].
 
 
 
== Создание текстур ==
 
Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, и т.д. Прежде, чем создавать новую текстуру, изучите существующие, выполняющие ту же роль. Текстуры с высоким разрешением тормозят производительность, но при этом дают большую резкость при просмотре вблизи.
 
 
 
Различные классы объектов имеют разные стандартные разрешения (например, модели персонажей более детализированы). Если запутаетесь, вам в помощь <code>source materials.gcf</code> вместе с [[GCFScape]].
 
 
 
{{note:ru|Исходные файлы текстур должны сохраняться в формате с меньшими потерями качества - [[Wikipedia:Truevision TGA|TGA]].}}
 
 
 
== Преобразование текстур ==
 
Перед тем, как использовать в Source, текстуры необходимо преобразовать в [[Valve Texture Format:ru|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].)
 
 
 
'''Чтобы импортировать текстуру в VTFEdit''', используйте <code>File > Import</code> или нажмите {{key|Ctrl+I}}. Выберите изображение и откроется окно импортирования:
 
 
 
[[Image:Vtfedit importoptions.png|center|Экран импортирования VTFEdit]]
 
 
 
==== Основные параметры ====
 
Следующие параметры наиболее важны. Их три:
 
 
 
; Формат нормалей
 
: Формат цвета/сжатия, который используется для прозрачной текстуры.
 
; Формат Альфа
 
: Формат цвета/сжатия, который используется для текстуры с альфа-каналом.
 
; Тип текстуры
 
: Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов).
 
 
 
Если вы создаёте простую текстуру, то вам не понадобится ничего из перечисленного выше. Если вы создаёте текстуру с детально проработанными градиентами, вам придётся [[Valve Texture Format:ru#Выбор формата изображений|выбрать режим сжатия без потерь]].
 
 
 
==== Настройки мип-карт ====
 
[[MIP Mapping:ru|Мип-карты]] - это версии текстуры, имеющие низкое разрешение, сменяющие друг друга по мере удаления камеры от неё. Они существенно сокращают требуемый объём текстуры, повышая производительность и качество изображения.
 
 
 
{{tip:ru|Текстуры, которые будут отображаться в 3D-мире, должны иметь мип-карты. Для экономии памяти, текстуры используют интерфейс 2D.}}
 
 
 
Следующие изображения демонстрируют различные мипмап-фильтры, доступные в VTFEdit:
 
 
 
<gallery perrow=5 widths=150 heights=180>
 
File:Vtf sharpen filters.jpg|Фильтры резкости
 
File:Vtf mipmap filters1.jpg|Mip-фильтры #1
 
File:Vtf mipmap filters2.jpg|Mip-фильтры #2
 
File:Vtf mipmap filters3.jpg|Mip-фильтры #3
 
File:Vtf mipmap filters4.jpg|Mip-фильтры #4
 
</gallery>
 
 
 
==== Настройки карты нормалей ====
 
Эти (неправильно названные) настройки позволяют автоматически генерировать [[bump map|карту рельефа]] из вашего изображения.
 
 
 
=== Конфигурирование и сохранение ===
 
Когда вы нажимаете OK, входящий файл конвертируется (порою долго, если изображение большое), и на выходе появляется в формате VTF. Теперь всё, что осталось - это сконфигурировать настройки текстуры с помощью ряда флажков на левой стороне экрана. Описание каждого из них см. [[Valve Texture Format:ru#Флаги изображений|флаги изображений]].
 
 
 
Теперь, сохраните файл в каталоге своей игры или мода в папке <code>\materials</code>.
 
 
 
==Создание материала==
 
Source обращается к текстурам не напрямую. Он это делает через '''[[material:ru|материалы]]'''.
 
 
 
Материалы - это файлы скриптов, которые создаются с помощью любого текстового редактора, но лучше всего использовать [http://notepad-plus.sourceforge.net/ Notepad++] с [[Notepad++ VDF languages|подсветкой синтаксиса]]. Чтобы ваш материал был обнаружен, '''вы должны сохранить его в папке игры или мода <code>\materials</code> с расширением <code>.vmt</code>'''.
 
 
 
{{note:ru|Если вы создаёте материалы и текстуры специально для вашего мода, рассмотрите возможность использования [[BSPZIP]]\[[Packbsp]]\[[Pakrat]], чтобы вшивать их прямо в карту. Это позволит избежать их утери в будущем.}}
 
 
 
===Синтаксис===
 
Файл материала выглядит так:
 
 
 
<[[shader]]>
 
{
 
<parameter> <value>
 
...
 
}
 
 
 
LightmappedGeneric
 
{
 
$basetexture coast\shingle_01
 
$surfaceprop gravel
 
}
 
 
 
Существует много разных [[shader:ru|шейдеров]], но большинство материалов используют <code>[[LightmappedGeneric]]</code> ([[brush:ru|браши]]) или <code>[[VertexLitGeneric]]</code> ([[model:ru|модели]]). Третьим наиболее распространённым шейдером является <code>[[UnlitGeneric]]</code>, который используется для материалов [[:Category:VGUI:ru|UI]], и изредка для [[tool textures|служебных текстур]].
 
 
 
===Параметры===
 
:''Список всех задокументированных параметров шейдеров см. [[:Category:List of Shader Parameters:ru|Список параметров шейдеров]].''
 
 
 
Параметры в шейдере также называются командами. Существуют сотни параметров, которые можно вложить в материал, мы же рассмотрим основные, которые используются чаще всего. Вот они:
 
 
 
*<code>[[$basetexture:ru|$basetexture]]</code>
 
*<code>[[$surfaceprop:ru|$surfaceprop]]</code>
 
*<code>[[$envmap]]</code>
 
*<code>[[$bumpmap]]</code>
 
*<code>[[$detail]]</code>
 
*<code>[[$selfillum]]</code>
 
*<code>[[$model (VMT)|$model]]</code>
 
 
 
{{tip:ru|Если в значении параметра потребуется использовать пробел или символ табуляции, вам нужно всё значение поставить в "кавычки". Вы увидите, что они экономят время печати.}}
 
 
 
==См. также==
 
* [[Material:ru|Материал]]
 
* [[Material Editor]]
 
* [[Creating Reflective Materials]]
 
* [[:Category:List of Shader Parameters:ru|Список параметров шейдеров]]
 
 
 
[[Category:Material System:ru]]
 
[[Category:Tutorials:ru]]
 
[[Category:Russian]]
 

Latest revision as of 10:15, 15 August 2023

Warning icon.png
This article has been marked as a candidate for speedy deletion because it has moved, and no longer linked to.
If you object to this decision, then please discuss why hereIf this page doesn't meet the criteria for speedy deletion, then please remove this notice, but do not remove it from pages that you have created yourself
Administrators - Remember to check if anything links here and the page history (last edit) before deleting.