Ru/Static Prop Combine

Static Prop Combine, или говоря неформально "автокомбайн", - функция в . Она позволяет VBSP объединять вместе множество статичных пропов в один, либо автоматически, либо по указанным пользователем правилам. Это снижает общее количество статичных пропов на карте и количество запросов на отрисовку. Чтобы включить эту функцию, запускайте VBSP с параметром -staticpropcombine.
== Действие ==
Static Prop Combine проводит следующие действия:
;Нахождение пропов, которые будут объединены.
: Это делается на основе правил, указанных spcombinerules.txt, или автоматически на основе использования моделей.
: 
;Сканирование исходного файла с целью взять определённую информацию.
: Это включает имена и положения основного и физического мешей, вертикальную ось модели, её скейл и является ли она вогнутой.
: QC находится при помощи параметра модели qc_path, который всегда считается относительным папке игры - даже если это полный путь!
: 
;Использовать эту информацию вместе с неполным QC, чтобы сгенерировать свой QC
: , и - новые команды, добавленные специально для Static Prop Combine. Последние две команды позволяют "добавить" геометрию к модели с каким-либо сдвигом, поворотом и изменённым размером.
;Вызвать , чтобы скомпилировать этот сгенерированный QC в комбинированную модель.
: Комбинированные модели всегда будут иметь _autocombine_ в своём названии.
;Запаковка комбинированных моделей через 
: 
== Использование ==
=== Параметры VBSP ===
Смотрите .
=== Настройки в Hammer ===
Пропы, отличающиеся по указанным ниже параметрам, НЕ будут скомбинированы, если не будет указан подходящий параметр VBSP:
*Render in Fast Reflections (-combineignore_fastreflection) (отражаться в быстрых отражениях)
*Ignore Normals (-combineignore_normals) (игнорировать нормали)
*Disable Shadows (-combineignore_noshadows) (отключить тени)
*Disable Vertex lighting (-combineignore_novertexlighting) (отключить повертексное освещение)
*Disable Flashlight (-combineignore_noflashlight) (отключить фонарик)
*Disable Self-Shadowing (-combineignore_noselfshadowing) (отключить самозатенение)
*Disable ShadowDepth (-combineignore_disableshadowdepth) (отключить глубину теней)
В добавление, Вы можете отключить Static Prop Combine для определенных пропов, используя параметр Disable Prop Combine.
=== Подготовка пропов ===
Чтобы использовать проп со Static Prop Combine, Вы должны иметь исходные файлы модели.
QC модели должен быть скомпилирован из папки контента игры. Для это SteamApps/common/content/csgo/. 
Есть немало ограничений, включающих:
* Будет распознан только первый параметр .
* не распознаётся.
* и не распознаются.
* Значение может быть только Z или Y.
=== Подготовка правил ===
Правила для Static Prop Combine объявлены в scripts/hammer/spcombinerules/spcombinerules.txt. Это стандартный KeyValues-форматированный текстовый файл. Каждый ввод следует этому формату:
	"example_combined" // Имя группы комбинирования, будет использовано для модели в игре
	{
		// Это неполный QC, который будет использован, чтобы генерировать комбинированные модели
		"qc_template_path"	"scripts/hammer/spcombinerules/qc_templates/example.qc"
		
		// Максимум моделей в одной комбинированной модели
		"cluster_limit" 8
		
		// Не комбинировать модели, которые находятся на большем, чем это, расстоянии
		"distance_limit" 12
		// Это модели, которые можно скомюинировать
		"peers"
		{
			"models/examples/example_A.mdl" ""
			"models/examples/example_B.mdl" ""
			"models/examples/example_C.mdl" ""
		}
	}
Если Вы не хотите утруждаться созданием правил, вы можете запустить -staticpropcombine_autocombine. Однако, это может вызвать проблемы, если у Вас нет исходных файлов для моделей, которые попробует скомбинировать VBSP.
== Неполные QC ==
Неполные QC - это файлы или , которые содержат основу для QC, сгенерированных Static Prop Combine. В целом, они должны включать в себя только:
* 
* 
* 
* Любые , использующиеся моделями. 
=== Пример неполного QC ===
$cdmaterials models\props\de_venice\venice_window_3
$staticprop
$surfaceprop "Plaster"
$texturegroup venice_window_3 {
	{ "venice_window_3" }
	{ "venice_window_3_lit" }
}
== Смотрите также ==
*