Materiały - Pliki .mat
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-100 | Nadpisuje wartość Opacity w submodelach używających tego materiału.
|
Tylko w exe @Milek7 |
selfillum | Od jednej do czterech wartości liczbowych. | Nadpisuje wartość SelfIllum w submodelach używających tego materiału. | Tylko w exe @Milek7 |
size | Dwie wartości liczbowe | Nadpisuje wartość rozmiaru tekstury [m] we wpisie node. | Wpisanie -1 spowoduje zignorowanie wybranego parametru. |
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 | Bezcmurnie (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 ]