Material Effects PLG (Секция RW) — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
м (Бамп-маппинг)
м
Строка 3: Строка 3:
 
'''Material Effects PLG''' - секция, используемая в DFF-файлах как расширение секции [[Material (Секция RW)|Material]]. Данная секция позволяет "прицепить" к материалу такие эффекты, как отражения, бамп-маппинг, UV-анимация и другие.
 
'''Material Effects PLG''' - секция, используемая в DFF-файлах как расширение секции [[Material (Секция RW)|Material]]. Данная секция позволяет "прицепить" к материалу такие эффекты, как отражения, бамп-маппинг, UV-анимация и другие.
  
=Общее представление=
+
==Общее представление==
 
В начале секции указан тип эффекта материала:
 
В начале секции указан тип эффекта материала:
 
  0 rpMATFXEFFECTNULL            Без эффекта
 
  0 rpMATFXEFFECTNULL            Без эффекта
Строка 18: Строка 18:
 
  4b Неизвестное значение (0)
 
  4b Неизвестное значение (0)
  
=Эффекты=
+
==Эффекты==
  
==Бамп-маппинг==
+
===Bump-маппинг===
 
Эффект бамп-маппинга симулирует рельефную поверхность с помощью т.н. [http://ru.wikipedia.org/wiki/Рельефное_текстурирование#Bump_mapping карты высот]. В данном эффекте указываются 2 текстуры - первая подменяет основную текстуру материала, вторая используется как карта высот. При этом, первую текстуру для получения эффекта указывать не обязательно. [[Изображение:Gta3 2014-01-31 17-03-09-57.png|200px|thumb|right|Использование карты высот в GTA 3]]
 
Эффект бамп-маппинга симулирует рельефную поверхность с помощью т.н. [http://ru.wikipedia.org/wiki/Рельефное_текстурирование#Bump_mapping карты высот]. В данном эффекте указываются 2 текстуры - первая подменяет основную текстуру материала, вторая используется как карта высот. При этом, первую текстуру для получения эффекта указывать не обязательно. [[Изображение:Gta3 2014-01-31 17-03-09-57.png|200px|thumb|right|Использование карты высот в GTA 3]]
 
[[Изображение:Bump_map_in_GTA_SA.png|200px|thumb|right|Карта высот (слева) и результат в игре (GTA San Andreas) (справа)]]
 
[[Изображение:Bump_map_in_GTA_SA.png|200px|thumb|right|Карта высот (слева) и результат в игре (GTA San Andreas) (справа)]]
Строка 34: Строка 34:
 
  #endif
 
  #endif
  
==Карта отражений==
+
===Карта отражений===
 
Эффект отражения симулирует отражение окружающей среды, используя [http://en.wikipedia.org/wiki/Reflection_mapping карту отражений].
 
Эффект отражения симулирует отражение окружающей среды, используя [http://en.wikipedia.org/wiki/Reflection_mapping карту отражений].
 
   4b Тип эффекта (2 - rpMATFXEFFECTENVMAP)
 
   4b Тип эффекта (2 - rpMATFXEFFECTENVMAP)
Строка 44: Строка 44:
 
  #endif
 
  #endif
  
==Двойное текстурирование==
+
===Двойное текстурирование===
 
Эффект двойного текстурирования даёт возможность смешивать 2 текстуры при рендере материала. [[Изображение:Dualpass.jpg|200px|thumb|right|Использование смешивания текстур в GTA San Andreas]]
 
Эффект двойного текстурирования даёт возможность смешивать 2 текстуры при рендере материала. [[Изображение:Dualpass.jpg|200px|thumb|right|Использование смешивания текстур в GTA San Andreas]]
 
   4b Тип эффекта (4 - rpMATFXEFFECTDUAL)
 
   4b Тип эффекта (4 - rpMATFXEFFECTDUAL)

Версия 07:41, 19 июня 2014

Секция 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 эффекта, для других один. Таким образом, общую структуру можно представить так:

4b Тип эффекта материала (общий)
?b Эффект1
?b Эффект2 (для типов rpMATFXEFFECTBUMPENVMAP, rpMATFXEFFECTDUALUVTRANSFORM)
4b Неизвестное значение (0)

Эффекты

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)