Materiały - Pliki .mat: Różnice pomiędzy wersjami
m (→Warunki pogodowe) |
(Tabelka shaderów) |
||
Linia 45: | Linia 45: | ||
| Od jednej do czterech wartości liczbowych. | | Od jednej do czterech wartości liczbowych. | ||
| Nadpisuje wartość SelfIllum w [[Format T3D| submodelach]] używających tego materiału. | | Nadpisuje wartość SelfIllum w [[Format T3D| submodelach]] używających tego materiału. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| - | | - | ||
|- | |- | ||
Linia 56: | Linia 51: | ||
| Nadpisuje wartość rozmiaru tekstury [m] we wpisie [[Obiekt node::track|node::track]]. | | Nadpisuje wartość rozmiaru tekstury [m] we wpisie [[Obiekt node::track|node::track]]. | ||
| Wpisanie -1 spowoduje zignorowanie wybranego parametru. | | Wpisanie -1 spowoduje zignorowanie wybranego parametru. | ||
+ | |} | ||
+ | |||
+ | === Dostępne shadery === | ||
+ | |||
+ | Mapy obsługiwane przez dane shadery. Przy braku część parametrów można ustawić jednorodnie dla materiału przy pomocy parametru. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Nazwa | ||
+ | ! Diffuse | ||
+ | ! Alfa | ||
+ | ! Normal | ||
+ | ! Depth | ||
+ | ! Reflection | ||
+ | ! Specular | ||
+ | ! Glossiness | ||
+ | ! Metalic | ||
+ | |- | ||
+ | | [[mat_default|default]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: red;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: red;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_default_specgloss|default_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: red;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: red;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_normalmap|normalmap]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_normalmap_specgloss|normalmap_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_parallax|parallax]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: green;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_parallax_specgloss|parallax_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: green;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_reflmap|reflmap]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: red;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_reflmap_specgloss|reflmap_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: red;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_shadowlessnormalmap|shadowlessnormalmap]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_shadowlessnormalmap_specgloss|shadowlessnormalmap_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_sunlessnormalmap|sunlessnormalmap]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_sunlessnormalmap_specgloss|sunlessnormalmap_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | | [[mat_water|water]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
+ | |- | ||
+ | | [[mat_water_specgloss|water_specgloss]] | ||
+ | | style="background: green;"|Diffuse | ||
+ | | style="background: green;"|Alfa | ||
+ | | style="background: green;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: green;"|Reflection | ||
+ | | style="background: green;"|Specular | ||
+ | | style="background: green;"|Glossiness | ||
+ | | style="background: green;"|Metalic | ||
+ | |- | ||
+ | |[[mat_colored|colored]] | ||
+ | | style="background: red;"|Diffuse | ||
+ | | style="background: red;"|Alfa | ||
+ | | style="background: red;"|Normal | ||
+ | | style="background: red;"|Depth | ||
+ | | style="background: red;"|Reflection | ||
+ | | style="background: red;"|Specular | ||
+ | | style="background: red;"|Glossiness | ||
+ | | style="background: red;"|Metalic | ||
|} | |} | ||
Wersja z 15:37, 13 lut 2020
Plik .mat jest definicją materiału, czyli shadera oraz przypiętych do niego tekstur i parametrów. Posiada prostą składnię klucz: wartość oraz warunkowe bloki wybierane w zależności od ustawień symulacji.
Spis treści
Opis kluczy podstawowych
Nazwa | Wartości | Opis | Uwagi |
---|---|---|---|
shader | Ścieżka do pliku shadera (relatywna względem folderu shaders, nazwa bez przedrostka mat_ i rozszerzenia). | Ustawia shader używany do renderowania obiektu. | Tylko w exe @Milek7. Parametr jest obowiązkowy, jeżeli jednak nie jest podany zostanie to ustawiony zostanie shader default_0, default_1, default_2 (w zależności od ilości podanych tekstur). Nie działa wtedy ustawianie tekstur poprzez alias. |
textureX | Ścieżka do tekstury lub zestaw ścieżek losowych. | Przypina podaną teksturę pod jednostkę wyrażoną numerem X, numerując od 1. | |
texture_X | Ścieżka do tekstury lub zestaw ścieżek losowych. | Przypina podaną teksturę pod alias X jednostki zdefiniowany przez shader | Tylko w exe @Milek7? |
paramX | Od jednej do czterech wartości liczbowych. | Ustawia parametr X numerując od 1. | Tylko w exe @Milek7 |
param_X | Od jednej do czterech wartości liczbowych. | Ustawia parametr pod alias X zdefiniowany przez shader | Tylko w exe @Milek7 |
opacity | Wartość liczbowa 0-1 | Nadpisuje wartość Opacity w submodelach używających tego materiału.
|
- |
selfillum | Od jednej do czterech wartości liczbowych. | Nadpisuje wartość SelfIllum w submodelach używających tego materiału. | - |
size | Dwie wartości liczbowe | Nadpisuje wartość rozmiaru tekstury [m] we wpisie node::track. | Wpisanie -1 spowoduje zignorowanie wybranego parametru. |
Dostępne shadery
Mapy obsługiwane przez dane shadery. Przy braku część parametrów można ustawić jednorodnie dla materiału przy pomocy parametru.
Nazwa | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
---|---|---|---|---|---|---|---|---|
default | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
default_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
normalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
normalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
parallax | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
parallax_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
reflmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
reflmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
shadowlessnormalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
shadowlessnormalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
sunlessnormalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
sunlessnormalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
water | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
water_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
colored | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic |
Opis kluczy warunkowych
Bloki warunkowe zawierają definicje własności materiału, które mają być aktywne w warunkach zależnych od ustawień symulacji. Wartościami dla tych kluczy jest dowolna ilość kluczy podstawowych i ich wartości, ograniczona za pomocą nawiasów klamrowych. Przykład użycia:
// Pamiętaj o odstępach między klamrami a resztą kodu! texture1: example/tex winter: { texture1: winter/tex }
Powyższy kod oznacza, że w przypadku ustawienia warunków zimowych w miejsce texture1 ma zostać wczytana tekstura winter/tex zamiast domyślnej example/tex.
Bloki warunkowe moga byc dodatkowo zagniezdzane, np. blok warunkow pogodowych moze wystapic wewnatrz bloku pory roku:
autumn: { rain: { texture1: autumn/rain // jesien + deszcz } texture1: autumn/tex // jesien } rain: { texture1: default/rain // deszcz } texture1: default/tex
W takiej sytuacji ostatecznie uzywana jest tekstura spelniajaca najlepiej podane warunki, w kolejnosci:
- tekstura dla danej pogody i pory roku - tekstura dla danej pogody - tekstura dla danej pory roku - tekstura podstawowa
Pory roku
Pora roku określana jest na podstawie ustawienia movelight.
Nazwa | Opis |
---|---|
spring | Wiosna |
summer | Lato |
autumn | Jesień |
winter | Zima |
Warunki pogodowe
Warunki pogodowe zależą od wartości parametru zachmurzenia scenerii overcast we wpisie atmo
Nazwa | Opis |
---|---|
clear | Bezchmurnie (wartość overcast między 0 a 0.25) |
cloudy | Pochmurno (wartość overcast między 0.25 a 1.0) |
rain | Deszczowo (wartość overcast między 1.0 a 2.0) |
snow | Śnieżnie (wartość overcast między 1.0 a 2.0 w warunkach zimowych) |
Tekstury losowe
Oprócz indywidualnych nazw tekstur można podać równieź ich zestaw. W takiej sytuacji wybrana zostanie losowo jedna z podanych tekstur. Przykład:
texture1: [ tekstura_a tekstura_b tekstura_c ]