Material Effects PLG (Секция RW)

Материал из GTAModding.ru
Перейти к: навигация, поиск
Секция RenderWare
Material Effects PLG
0x0120

Material Effects PLG - секция, используемая в DFF-файлах как расширение секции Material. Данная секция позволяет "прицепить" к материалу такие эффекты, как отражения, бамп-маппинг, UV-анимация и другие.

Содержание

Общее представление

В начале секции указан тип эффекта материала:

0 rpMATFXEFFECTNULL            Без эффекта
1 rpMATFXEFFECTBUMPMAP         Бамп-маппинг
2 rpMATFXEFFECTENVMAP          Карта отражений
3 rpMATFXEFFECTBUMPENVMAP      Бамп-маппинг+Карта отражений
4 rpMATFXEFFECTDUAL            Двойное текстурирование
5 rpMATFXEFFECTUVTRANSFORM     UV-трансформация
6 rpMATFXEFFECTDUALUVTRANSFORM Двойное текстурирование+UV-трансформация

Далее, описаны сами эффекты - для комбинируемых типов (rpMATFXEFFECTBUMPENVMAP, rpMATFXEFFECTDUALUVTRANSFORM) это будут 2 эффекта, для других эффектов во втором "слоте" записан дамми-эффект с типом rpMATFXEFFECTNULL. Таким образом, общую структуру можно представить так:

4b Тип эффекта материала (общий)
?b Эффект1
?b Эффект2

Эффекты

Bump-маппинг

Эффект бамп-маппинга симулирует рельефную поверхность с помощью т.н. карты высот. В данном эффекте указываются 2 текстуры - первая подменяет основную текстуру материала, вторая используется как карта высот. При этом, первую текстуру для получения эффекта указывать не обязательно.
Использование карты высот в GTA 3
Карта высот (слева) и результат в игре (GTA San Andreas) (справа)
 4b Тип эффекта (1 - rpMATFXEFFECTBUMPMAP)
 4b Интенсивность (float - оптимальное значение 1.0)
 4b Наличие текстуры, которая подменяет основную (0/1)
#if текстура присутствует (1)
 Texture (замена основной текстуры материала)
#endif
 4b Наличие текстуры, которая используется как карта высот  (0/1)
#if текстура присутствует (1)
 Texture (карта высот)
#endif

Карта отражений

Эффект отражения симулирует отражение окружающей среды, используя карту отражений.

 4b Тип эффекта (2 - rpMATFXEFFECTENVMAP)
 4b Коэффициент отражений (float - оптимальное значение 1.0)
 4b Параметр UseFrameBufferAlpha (0/1)
 4b Наличие текстуры - карты отражений (0/1)
#if текстура присутствует (1)
 Texture (карта отражений)
#endif

Двойное текстурирование

Эффект двойного текстурирования даёт возможность смешивать 2 текстуры при рендере материала.
Использование смешивания текстур в GTA San Andreas
 4b Тип эффекта (4 - rpMATFXEFFECTDUAL)
 4b Параметр смешивания источника
 4b Параметр смешвания приемника
 4b Наличие текстуры смешивания (0/1)
#if текстура присутствует (1)
 Texture (текстура смешивания)
#endif

Параметры смешивания:

rwBLENDNABLEND
rwBLENDZERO             (0,    0,    0,    0   )
rwBLENDONE              (1,    1,    1,    1   )
rwBLENDSRCCOLOR         (Rs,   Gs,   Bs,   As  )
rwBLENDINVSRCCOLOR      (1-Rs, 1-Gs, 1-Bs, 1-As)
rwBLENDSRCALPHA         (As,   As,   As,   As  )
rwBLENDINVSRCALPHA      (1-As, 1-As, 1-As, 1-As)
rwBLENDDESTALPHA        (Ad,   Ad,   Ad,   Ad  )
rwBLENDINVDESTALPHA     (1-Ad, 1-Ad, 1-Ad, 1-Ad)
rwBLENDDESTCOLOR        (Rd,   Gd,   Bd,   Ad  )
rwBLENDINVDESTCOLOR     (1-Rd, 1-Gd, 1-Bd, 1-Ad)
rwBLENDSRCALPHASAT      (f,    f,    f,    1   )  f = min (As, 1-Ad)

UV-трансформация

Данный эффект не содержит дополнительных параметров. В ту же очередь, он предусматривает наличие у материала расширения UV Animation.