При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Детали и материалы

Детали и материалы

В этом туториале я расскажу вам все о деталях в материалах.

Содержание

1 Что это такое
2 Как этоработает
3 Применение в КСС
4 Внутренние детали
5 Настройки
6 Свои детали

Что это такое

Материалы, кроме информации о смешивании (blending), могут еще содержать еще и информацию о моделях и спрайтах на ней. Для примера посмотрите на эту траву в ХЛ2:

herbes_HL2.jpg

Как это работает

В папке мода (cstrike, hl2) должен содержаться файл detail.vbsp. Он нужен только для компилятора и не нуждается во включении в архив с картой или вшивани в BSP. После компиляции, доведенной до конца, детали сами появятся на вашей карте. Каждый абзац в этом файле обращается к именам, указанным в vmt-файле. В ХЛ2 этот файл очень полный и содержит детали на все случаи жизни, а в КСС к сожалению содержит всего лишь два пункта: для Prodigy и Compound:(


Применение в КСС

К сожалению, в то время, как в ХЛ2 легко использовать детали и создавать классную растительность, в КСС те же самые текстуры мало чего позволяют, так как их почти нет=(. Мы попробуем создать пример, используя blendrockgrass00a (материал ХЛ2). Сначала создадим браш и покроем его нашей текстурой и...???... ничего не происходит!!! Почему же? Давайте заглянем внутрь vmt-файла(кто не знает, нужно нажать на Open Source в окошке с каталогом тестур):

"WorldVertexTransition"
{
"$basetexture" "nature/rockfloor005a"
"$basetexture2" "nature/dirtfloor006a"
"%tooltexture" "nature/blendrockgrass004a_tooltexture"
"$basetexturetransform" "center .5 .5 scale 1 1 rotate 0 translate 0 0"
"$basetexturetransform2" "center .5 .5 scale 1 1 rotate 10 translate 0 0"
"%detailtype" "coastline_redgrass01"
"$surfaceprop" "dirt"
"%keywords" "coastline"
"$bumpmap" "nature/rockfloor005a_normal"
}

Нас интересует следующая строка:

"%detailtype" "coastline_redgrass01"

Материал буде использовать пункт coastline_redgrass01 в качестве свойств деталей для нашего материала. Ну что, теперь пришла пора заглянуть в detail.vbsp, лежащий в half-life 2\hl2, и посмотреть в нем пункт coastline_redgrass01:

"coastline_redgrass01"
//reduced size by 0.75(размер уменьшен до 0.75)
{
"density" "600.0"
Group1
{
"alpha" "1"
Model1
{
"sprite" "288 0 128 128 512"
"spritesize" "0.5 0.0 19 25"
"spriterandomscale" "0.2"
"amount" "0.2"
"detailOrientation" "2"
}
Model2
{
"sprite" "0 0 128 128 512"
"spritesize" "0.5 0.0 23 30"
"spriterandomscale" "0.2"
"amount" "0.1"
"detailOrientation" "2"
}
Model3
{
"sprite" "144 0 128 128 512"
"spritesize" "0.5 0.0 15 15"
"spriterandomscale" "0.2"
"amount" "0.15"
"detailOrientation" "2"
}
Model4
{
"sprite" "144 144 128 128 512"
"spritesize" "0.5 0.0 18 21"
"spriterandomscale" "0.2"
"amount" "0.2"
"detailOrientation" "2"
}
//shrub(куст)
Model5
{
"sprite" "144 288 128 128 512"
"spritesize" "0.5 0.0 38 38"
"spriterandomscale" "0.2"
"amount" "0.2"
"detailOrientation" "2"
}
Model6
{
"sprite" "0 288 128 128 512"
"spritesize" "0.5 0.0 23 23"
"spriterandomscale" "0.2"
"amount" "0.1"
"detailOrientation" "2"
}
Model7
{
"sprite" "288 288 128 128 512"
"spritesize" "0.5 0.0 42 42"
"spriterandomscale" "0.2"
"amount" "0.1"
"detailOrientation" "2"
}
}
Group2
{
"alpha" "0.0"
}
}

И вы скажете мне: "Них%% как тут все запутано[beep]!!!" Нееет... тут все очень легко: просто скопируйте все это безобразие в detail.vbsp, лежащий в папке cstrike, и, о чудо! моя трава выросла!!!:) А я не сыпал туда никаких удобрений, чесслово;)

Внутренние детали

Материал, используемый для создания деталей в ХЛ2 и КСС - это detailsprites.vtf, который находится в materialsource.gcf в папке hl2/materials/Detail. А вот и он:

detailsprites.jpg

Мы видим 9 спрайтов, каждое размером 128x128 пикселей (это очень важно).

Настройки

Это может показаться сложным, но без этого никуда... Ниже приведены параметры, которые я применил к карте КСС:

"coastline_redgrass01"
{
"density" "300.0"
Group1
{
"alpha" "1"
Model1
{
"sprite" "288 288 128 128 512"
"spritesize" "0.5 0.0 15 15"
"spriterandomscale" "0.2"
"amount" "0.4"
"detailOrientation" "2"
}
Model2
{
"sprite" "144 288 128 128 512"
"spritesize" "0.5 0.0 18 21"
"spriterandomscale" "0.2"
"amount" "0.1"
"detailOrientation" "2"
}
}
Group2
{
"alpha" "0.0"
}
}
  • density 300.0: плотность(кучность) травы. Чем больше значение, тем больше будет на вашей земле травы. Заметьте, я поставил значение, вдвое меньшее, чем в ХЛ2, так как это все-таки мультиплеер+чтобы не тормозило на слабых компах. Значение будет одинаково для всех спрайтов этого материала.
  • sprite 288 288 128 128 512: здесь написаны координаты нужного нам спрайта: 288, 288 - координаты точки A, 128, 128 - координаты точки  B относительно координат точки A, 512 - общий размер материала.

В итоге наш спрайт будет выглядеть вот так:

detailspritesPerso.jpg

  • spritesize 0.5 0.0 15 15: тут все ясно, можете сами поиграться с размерами.
  • spriterandomscale 0.2 величина рандомности(беспорядочности, случайности) расположения спрайтов.
  • detailOrientation 2: ориентация(естесственно на карте, а не половая:)), используются значения 1 и 2.

Также в качестве деталей можно использовать модели. Я думаю не стоит говорить, что они будут расходовать больше ресурсов(хотя я это уже только что сказал;)). На Prodigy это сделано так:

"model" "models/props/de_prodigy/prodgrassa.mdl"

Свои детали

Конечно же, за этим последуют возгласы: "Вау, какая фича, но я хочу сделать собственную травку/камешки/еще-че-нить!" Короче, по правде говоря, у меня не было времени протестировать этот способ, так что это только теория, но надеюсь, она вам поможет:)

Создайте текстуру по такому же шаблону, что и detailsprites.vtf и замените ей оригинальный файл в папке materials/Detail. Все должно работать, правда, я сомневаюсь, что игрокам это понравится:((прим. переводчика можно попробовать также не стирать ничего, а просто добавить новых спрайтов, увеличив размер самой текстуры)

Также можно попробовать вшить свои детали в BSP с помощью BSPZip. При использовании этого метода ваши детали будут загружаться в память вместе с картой и тогда детали на других картах останутся прежними.

Автор: Dawa

Перевод AndrewDragon`а
Приятного вам маппинга:)

Взято с "http://www.hl2world.com/wiki/index.php/Details_on_materials_(like_grass)"
Последние темы
164 LightBaker300 ...
Дядя Миша
24365 Приколы
Дядя Миша
46 Single Mappin ...
Enimakanaon
12 The Beginner’ ...
Raid
211 Новые компиля ...
Raid
71 Уникальная те ...
KorteZZ
4 Tribes: Venge ...
Qwertyus
9 cs_assault_20 ...
crowley
10 GTTC_Docks
Skrip***
14 Минутка геоме ...
nemyax
Сейчас на форуме
Всего: 283
Гостей: 275
Невидимок: 2
Пользователей: 6
FiEctro
KPE030T
ncuxonaT
Scream
Shephard
ZAZA
CSM Game Server
Loading...
Counter
Validation
CS-Mapping Crew