Materiały - Pliki .mat: Różnice pomiędzy wersjami
(Tabelka shaderów) |
(→Opis kluczy podstawowych) |
||
Linia 13: | Linia 13: | ||
| Ścieżka do pliku [[Shader|shadera]] (relatywna względem folderu ''shaders'', nazwa bez przedrostka ''mat_'' i rozszerzenia). | | Ścieżka do pliku [[Shader|shadera]] (relatywna względem folderu ''shaders'', nazwa bez przedrostka ''mat_'' i rozszerzenia). | ||
| Ustawia shader używany do renderowania obiektu. | | Ustawia shader używany do renderowania obiektu. | ||
− | | | + | | 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''' | | '''textureX''' | ||
Linia 23: | Linia 23: | ||
| Ścieżka do tekstury lub [[#Tekstury losowe|zestaw ścieżek losowych]]. | | Ścieżka do tekstury lub [[#Tekstury losowe|zestaw ścieżek losowych]]. | ||
| Przypina podaną teksturę pod alias X jednostki zdefiniowany przez shader | | Przypina podaną teksturę pod alias X jednostki zdefiniowany przez shader | ||
− | | | + | | |
|- | |- | ||
| '''paramX''' | | '''paramX''' | ||
| Od jednej do czterech wartości liczbowych. | | Od jednej do czterech wartości liczbowych. | ||
| Ustawia parametr X numerując od 1. | | Ustawia parametr X numerując od 1. | ||
− | | | + | | |
|- | |- | ||
| '''param_X''' | | '''param_X''' | ||
| Od jednej do czterech wartości liczbowych. | | Od jednej do czterech wartości liczbowych. | ||
| Ustawia parametr pod alias X zdefiniowany przez shader | | Ustawia parametr pod alias X zdefiniowany przez shader | ||
− | | | + | | |
|- | |- | ||
| '''opacity''' | | '''opacity''' | ||
Linia 40: | Linia 40: | ||
* 0: oznacza blending | * 0: oznacza blending | ||
* inne wartości: wyznaczają próg alpha testu | * inne wartości: wyznaczają próg alpha testu | ||
− | | | + | | |
|- | |- | ||
| '''selfillum''' | | '''selfillum''' | ||
| 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. | ||
− | | | + | | |
|- | |- | ||
| '''size''' | | '''size''' |
Wersja z 10:27, 14 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. | 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 | |
paramX | Od jednej do czterech wartości liczbowych. | Ustawia parametr X numerując od 1. | |
param_X | Od jednej do czterech wartości liczbowych. | Ustawia parametr pod alias X zdefiniowany przez shader | |
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 ]