Уважаемый всеми продвинутыми мэпперами мира програмист q3map2 господин Ydnar порадовал нас нововведением, известным как "рельефное текстурирование" (bumpmapping). Что нам понадобится, чтобы самим сделать этот эффект: 1. Adobe Photoshop (версии 6-7) 2. Плагин от Nvidia который генерит карты высот скачать его можно здесь (данный плагин требует установленного в системе DirectX 9) 3. Notepad для написания шейдера. 4. q3map2 версии не ниже 2.3.24. Скачать новую версию можно здесь 5. Если у Вас установлен Photoshop версии 7.0 - не помешает на будущее (например, для работы с TGA текстурами, содержащими альфа-канал) установить файлик Targa.8bi от шестого фотошопа, в директорию File Formats (например - C:\Program Files\Adobe\Photoshop 7.0\Plug-Ins\File Formats) поверх существующего файла. (targa.8bi от седьмого фотошопа НЕ сохраняет файлы TGA, содержащие альфа-канал) Работа в Photoshop: После того как был скачан плагин для Photoshop'a его необходимо подключить к нему. Для этого плагин NormalMapFilter.8BF копируем в папку плагинов программы (к примеру - C:\Program Files\Adobe\Photoshop 7.0\Plug-Ins\Filters). После этого запускаем программу и открываем файл с текстурой, к которой мы хотим сгенерить карту высот. Размер текстуры желательно не должен привышать 512х512 пикселей, иначе возможны проблемы с плагином (вплоть до зависания программы). Затем запускаем плагин, который выдает предупреждение что больше чем с тремя каналами цветов он работать не будет и альфа канал не расчитывается: Нажимаем ОК. Появляется окно фильтра, в котором мы выбираем - Filter Type: 4 sample (Filter type означает, по какому количеству сэмплов расчитывается фильтр). Значение 4 является оптимальным Затем в окне Scale выбираем уровень высоты. Потом в окне Alternate Conversions выставляем, по какому принципу раскладывается цвет (оптимально - Max R,G,B). После чего нажимаем ОК. Полученную карту высоты сохраняем как файл TGA 32 bit. Итак - мы получили карту высот. Пишем свой шейдер: Типовой шейдер имеет следущий вид: textures/box/nukebox { qer_editorimage textures/box/box1.tga (текстура которая видна в радианте) q3map_normalimage textures/box/box1_bump.tga (карта высот сгенеренная в photoshop) { map $lightmap } { map textures/box/box1.tga (собственно сама накладываемая текстура) blendfunc gl_dst_color gl_zero } } Подготовка брашей в Radiant-e: Браши на которых будут класться текстуры с "бампом", необходимо сделать func_group, присвоить этой группе ключ -lightmapscale со значением 0.1. Надо учитывать, что данный эффект не расчитан на использование везде. Чем больше браш - тем меньше виден рельеф. Считаем карту: Для компиляции необходимо, чтобы bsp расчитывался с ключем -meta, а light с ключем -super 2 (чем выше значение тем лучше). Вот то, что должно в результате получиться в игре: А вот тестовый режим, в котором можно расмотреть сам рельеф: (Чтобы его вызвать надо набрать в консоли /r_lightmap 1) Cкачать заготовку можно тут Added: July 22, 2003 |