Это работает только на DX9 картах и выше.
Результат будет выглядеть так: Красиво, не правда ли? Отражается все - браши, пропы и игроки.
Сначала создадим комнату без пола.
Затем нужно "протянуть" стены на 32 юнита вниз:
Создаем пол, текстурированный "tools/toolsnodraw", расположенный ниже стен.
Поверх него создаем еще один браш толщиной 32 юнита также текстурированный "tools/toolsnodraw", и только верхний его фейс, который и будет собственно отражающей поверхностью, покрывается водной текстурой. Скачать отражающий материал
Теперь наша сцена будет выглядеть так:
Теперь требуется выбрать материал, из которого будет сделан пол, будь то полированный паркет, плитка или металл - это может быть любая непрозрачная текстура. Нужно будет отредактировать ее .vmt-файл. Если это Вальвовская текстура,то для его извлечения можно использовать GCFScape.
Теперь открываем vmt-файл в любом текстовом редакторе и добавляем строки как раз перед последней скобкой "}":
"LightmappedGeneric_DX9"
{
"$alpha" 0.7
}
То есть, если VMT выглядел до редактирования так:
"LightmappedGeneric"
{
"$basetexture" "ref_test/tilefloor11"
"$surfaceprop" "rock"
}
То теперь он должен выглядеть таким образом:
"LightmappedGeneric"
{
"$basetexture" "ref_test/tilefloor11"
"$surfaceprop" "rock"
"LightmappedGeneric_DX9"
{
"$alpha" 0.7
}
}
Для изменения степени отражения изменяем параметр "$alpha". Меньшее значение приводит к большему зеркальному эффекту, ну а более высокое делает материал менее рефлексивным. Диапазон значения - от 0 до 1. Пример созданного материала пола можно скачать здесь
Теперь создаем еще один браш, толщиной в 1 юнит, и располагаем его выше отражающего браша. Он должен быть точно так же затекстурирован со всех сторон "tools/toolsnodraw", и только верхняя его грань покрывается текстурой, которой Вы только что создали.
Превращаем этот браш в func_detail.
[attachment=0]ref_test04.jpg[/attachment]
Компилируем ...
Скачать пример карты
Созданные нами материалы можно зашить в карту man'ом или pakrat'ом.