Materiały - Pliki .mat: Różnice pomiędzy wersjami
(→Parametry tekstury) |
|||
Linia 58: | Linia 58: | ||
| Cienie z wagą wyższą niż wartość zdefiniowana wpisem gfx.shadow.rank.cutoff w pliku eu07.ini będą pomijane przy rysowaniu. | | Cienie z wagą wyższą niż wartość zdefiniowana wpisem gfx.shadow.rank.cutoff w pliku eu07.ini będą pomijane przy rysowaniu. | ||
|} | |} | ||
+ | |||
+ | === Materiał domyślny === | ||
+ | Jeśli w podanej ścieżce nie istnieje plik .mat, ale istnieje tekstura o tej samej nazwie, to wówczas tekstura ta interpretowana jest jak materiał o definicji: | ||
+ | <span style="color:tomato;font-weight:bold">shader:</span> default_1 | ||
+ | <span style="color:tomato;font-weight:bold">texture_diffuse:</span> sciezka_do_tekstury | ||
+ | Dzięki temu nie jest konieczne tworzenie plików .mat dla prostych materiałów (używających tylko jednej tekstury). | ||
=== Dostępne shadery === | === Dostępne shadery === | ||
Linia 398: | Linia 404: | ||
|} | |} | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
[[Category:Formaty plików symulatora]] | [[Category:Formaty plików symulatora]] |
Wersja z 13:24, 4 lis 2022
Plik .mat jest plikiem tekstowym z 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.
|
W przypadku zdefiniowania tego parametru jego wartość jest wykorzystywana również dla geometrii półprzezroczystej (zdefiniowanej w pliku .t3d z opacity=0) W takiej sytuacji pomijana jest geometria z wartością kanału alpha wyższą niż zdefiniowana opacity w pliku .mat | |
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. | |
shadow_rank | Wartość liczbowa 1-3 | Określa "wagę/skomplikowanie" cieni rzucanych przez obiekt pokryty danym materiałem. | Cienie z wagą wyższą niż wartość zdefiniowana wpisem gfx.shadow.rank.cutoff w pliku eu07.ini będą pomijane przy rysowaniu. |
Materiał domyślny
Jeśli w podanej ścieżce nie istnieje plik .mat, ale istnieje tekstura o tej samej nazwie, to wówczas tekstura ta interpretowana jest jak materiał o definicji:
shader: default_1 texture_diffuse: sciezka_do_tekstury
Dzięki temu nie jest konieczne tworzenie plików .mat dla prostych materiałów (używających tylko jednej tekstury).
Dostępne shadery
Mapy obsługiwane przez dane shadery. Przy braku część tekstur można ustawić jednorodnie dla materiału przy pomocy parametru.
Nazwa | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
---|---|---|---|---|---|---|---|---|---|
default | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
default_detail | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
default_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
normalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
normalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
detail_normalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
detail_normalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
parallax | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
parallax_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
detail_parallax | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
detail_parallax_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
reflmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
reflmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
shadowlessnormalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
shadowlessnormalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
sunlessnormalmap | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
sunlessnormalmap_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
water | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
water_specgloss | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
colored | Diffuse | Alfa | Normal | Depth | Reflection | Specular | Glossiness | Metalic | Detail |
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.1) |
scattered | Pierwszy stopień zachmurzenia (wartość overcast między 0.1 a 0.5) |
broken | Drugi stopień zachmurzenia (wartość overcast między 0.5 a 0.9) |
overcast | Pełne zachmurzenie (wartość overcast między 0.9 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 ]
Parametry tekstury
Przy ścieżkach do tekstur mogą być podane opcjonalne parametry, w dowolnej kolejności i ilości:
texture/path:st#
Parametr | Opis |
---|---|
s | Wyłącza zawijanie tekstury w poziomie |
t | Wyłącza zawijanie tekstury w pionie |
# | Włącza filtrowanie tekstury (wyostrzanie?) |