Page 1 of 1

Wczytywanie tekstur w "description.lua"

Posted: 2020-07-13 23:36
by Poko
Komendy wczytywania tekstur w "description.lua" znajdującego się w folderze skórki odbywają się według poniższego klucza:
livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Pierwszy fragment to nazwa nadana w 3dsmax, kierująca do konkretnej sekcji modelu.
TEGO NIE ZMIENIAMY!

livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Dalej mamy rodzaj warstwy (można stosować zamiennie nr lub pełną nazwę rodzaju warstwy). Ta wartość określa jaki rodzaj tekstury wczytujemy dla danej sekcji, a mogą być to:

DIFFUSE = 0
NORMAL_MAP = 1
SPECULAR = 2
DECAL = 3
DIRT = 4
DAMAGE = 5
PUDDLES = 6
SNOW = 7
SELF_ILLUMINATION = 8
AMBIENT_OCCLUSION = 9
ROUGHNESS_METALLIC = 13

livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Kolejny fragment kodu to nazwa tekstury, która ma być wczytana dla tej sekcji.
Wpisanie "empty" zamiast nazwy pliku spowoduje, że dana tekstura nie będzie wczytywana wcale. To może być przydatne np. gdy chcemy wyłączyć numery burtowe w jakimś miejscu (przykładowo na statecznikach, gdy mamy tam dużą customową grafikę). Usunięcie całej linijki kodu spowoduje wczytanie standardowej tekstury dla danej sekcji. Dlatego jeśli chcemy wyłączyć daną teksturę musimy użyć "empty".

livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Na końcu linijki jest wartość "true" lub "false":

"True" oznacza, że plik o konkretnej nazwie ma być pobierany z domyślnego folderu lub pliku zip dla danego modułu najczęściej znajdującego się w "...\DCS World OpenBeta\CoreMods\aircraft\<moduł>\Textures\". Tam znajdują się podstawowe tekstury modułu, dlatego grając online nie posiadając u siebie zainstalowanego przez kogoś innego skina widzimy właśnie te skiny wczytane z domyślnej lokalizacji.

"False" oznacza, że plik jest unikatowy i znajduje się albo w tym samym katalogu, w którym znajduje się dany "description.lua" albo w innym folderze jeśli prócz nazwy pliku podamy ścieżkę do niego.
Podanie konkretnej lokalizacji umożliwia nam zatem wczytanie tekstur dla wielu skinów z jednego miejsca. Powiedzmy, że w jakiejś grupie każdy pilot ma swój zmodyfikowany eskadrowy skin, który różni się jedynie pewnym elementem na jednej z tekstur. Nie musimy wówczas kopiować całego folderu i tworzyć nowych katalogów dla poszczególnych pilotów dublując pliki i zwiększając niepotrzebnie wagę paczki malowań całej eskadry. Możemy powtarzające się tekstury wczytać ze wspólnego katalogu eskadry lub z domyślnego dla modułu.



przykłady:

Code: Select all

{"F18C_BORT_NUMBER_NOSE_L_100", ROUGHNESS_METALLIC ,"F18C_1_DIF_RoughMet",true};
:arrow: oznacza, że dla miejsca "F18C_BORT_NUMBER_NOSE_L_100" jest wczytywany standardowy plik rodzaju ROUGHNESS_METALLIC o nazwie "F18C_1_DIF_RoughMet" znajdujący się w folderze z domyślnymi teksturami modułu.

Code: Select all

{"F18C_BORT_NUMBER_NOSE_L_100", DECAL ,"F18C_BORT_NUM_ITAL_RIGHT_LINE_A",false};
:arrow: oznacza, że dla miejsca "F18C_BORT_NUMBER_NOSE_L_100" ma być wczytany customowy plik rodzaju DECAL o nazwie "F18C_BORT_NUM_ITAL_RIGHT_LINE_A", który znajduje się w tym samym katalogu co dany "description.lua"

Code: Select all

{"F18C_BORT_NUMBER_NOSE_L_100", 13 ,"../VFA-313/F18C_1_DIF_RoughMet",false};
:arrow: oznacza, że dla miejsca "F18C_BORT_NUMBER_NOSE_L_100" jest wczytywany plik rodzaju ROUGHNESS_METALLIC (tutaj oznaczony skrótowo nr 13) o nazwie "F18C_1_DIF_RoughMet" umieszczony w katalogu o nazwie "VFA-313" znajdującego się obok w "Liveries\<moduł>".


Jeśli jakaś tekstura o konkretnej nazwie nie będzie znajdować się w podanym miejscu, wówczas DCS wczyta charakterystyczny zielony digital camo.

livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Name = tu wpisujemy nazwę folderu, w którym znajduje się ten "description.lua". Pod tą nazwą skin będzie widoczny na liście w payloads.

livery = {
{"nazwa sekcji", nr lub rodzaj warstwy ,"nazwa tekstury", wartość "false" lub "true"};
}
name = "Nazwa Folderu"
countries = {"SKRÓT KRAJU 1", "SKRÓT KRAJU 2"}
Countries = tu można wymienić nacje, dla których skórka ma być dostępna. Na przykład jeśli nasza skórka ma być dostępna jedynie dla USA i załóżmy Kanady to wpisujemy tam trzyliterowe skróty nazw krajów USA i CAN.

przykład:

Code: Select all

countries = {"USA", "CAN"}

Jeśli macie jakieś uwagi do tego co napisałem to śmiało. :)

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-14 09:26
by Wikary
Tegom chciał.

Image

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-14 10:26
by Torres
Countries = tu można wymienić nacje, dla których skórka ma być dostępna. Na przykład jeśli nasza skórka ma być dostępna jedynie dla USA i załóżmy Kanady to wpisujemy tam trzyliterowe skróty nazw krajów USA i CAN.

przykład:
KOD: ZAZNACZ CAŁY

countries = {"USA", "CAN"}

Fajnie natomiast należy dodać jak nie wpiszemy nazwy kraju skin będzie dostępny dla każdej nacji 👍

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-14 10:37
by Poko
paulek wrote: 2020-07-14 10:26Fajnie natomiast należy dodać jak nie wpiszemy nazwy kraju skin będzie dostępny dla każdej nacji 👍
Racja. Można usunąć tą całą linijkę lub "wykomentować" dodając dwa myślniki "--" z przodu. Pisał już o tym Bartek tutaj: viewtopic.php?f=93&t=3288

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-14 13:13
by Glow
Gilda Post

Dobra robota! Wreszcie mamy dokumentację.

Dwie rzeczy:

#1 Warstwa DECAL

Sposób na dodawanie oznaczeń samolotów na osobnej warstwie, teksturze (napisy, szachownice, numery, itd.) Tego chyba szukacie. Widziałem to w MB339, nie sprawdzałem jak źle/dobrze to działa ale jest i działa. W modzie MB339 malowanie "Factory", ta tekstura ma 8Mpixeli i waży 3MB. Przy eskadrze nawet 16 samolotów, 16 x 3MB = 48MB - do zaakceptowania.

Większość ludzi robi malowania konkretnej, jednej maszyny, a nie całej eskadry podobnych maszyn. Dlatego oznaczenia są nanoszone na teksturę z malowaniem. Przy malowaniu całej eskadry, można to rozdzielić, podobnie jak to jest z generowanymi numerami bocznymi.

Nie sprawdzałem czy jest to możliwe na innych samolotach. Zawsze można cisnąć autorów modułów o update w tym kierunku.

Ta tekstura nie musi mieć 8Mpix. Przypuszczam że do nicka i logo pilota na dziobie czy stateczniku, wystarczy dobrze przygotowana 2Mpix.


#2 Mipmapy i kompresja dds

Czyli przygotowanie tekstury tak, aby kompresja nie zrobiła artefaktów.

Należy sprawdzić mipmapy już po kompresji w dds. Czasem malowanie wygląda dobrze tylko na dwóch dużych mapach, w mniejszych już są artefakty. Plus współdziałanie w połączeniu z innymi warstwami tekstur do obsługi światła.

Należy sprawdzać swoje malowania w warunkach mgły i na rożnych odległościach aby ocenić poprawność kompresji mipmap w połączeniu z wszystkimi innymi warstwami na modelu już w samym symulatorze. Najlepiej również na niższych ustawieniach graficznych. Nie ograniczać się do podglądu w ModelViewer.

Czasem brakuje mipmaps w plikach dds, albo są to tekstury w formacie jpg, tga, bmp lub podobnym, więc należy się spodziewać problemów typu zacięcia, lagi, spadki fps zwłaszcza na starszych kartach. Przy jednoczesnym doczytywaniu wielu takich źle przygotowanych tekstur, być może nawet rozłączenia z serwerem i CTD.

Problem można zaobserwować przy zmianie takich tekstur na modelu w okienku podglądu, w ME. Nawet na szybkim PC zabiera to chwilę.

Na koniec dochodzi jeszcze wiedza o tym jak inne modele kart graficznych radzą sobie z naszymi teksturami. Testy na innych pc.

DDSy z mipmapami są chyba jednak najbezpieczniejszym rozwiązaniem.

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-17 09:52
by Poko
Dobry post. Faktycznie można to tak zrobić. Muszę się pobawić warstwą DECAL w takim razie.
Glow wrote: 2020-07-14 13:13 DDSy z mipmapami są chyba jednak najbezpieczniejszym rozwiązaniem.
Amen! Konieczny tylko exporter, np. najlepiej od nVidii zamiast Intela jako plugin do photoshopa lub oddzielny programik: https://developer.nvidia.com/nvidia-tex ... s-exporter

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-22 23:36
by Glow
RAPORT:
Warstwa DECALS na modelu "F/A-18C Lot 20"

Mamy dostęp do numerów, które można zmieniać dowolnie jak każdą teksturę.
Problem jest w pozycji i wielkości tych tekstur na modelu, jak przeczytałem na forum.eagle.ru, pozycje są zakodowane "na twardo" w modelu. Nie mamy ułatwionego dostępu do tych parametrów.

Czy można to zrobić inaczej? Prawdopodobnie tak ale wystąpi więcej problemów np. integrity check. Nie sprawdzałem dalej.

(Kliknij na obrazku otwórz w nowej zakładce / oknie dla większej rozdzielczości.)

W DCS mamy więc numery:

Image

Pomysł:
Wprowadzając w edytorze numer 8888 na modelu wyświetlają się ósemki. Nic nie stoi na przeszkodzie aby zamiast ósemki na teksturze dać np. oznaczenia eskadry lub cokolwiek innego, awatary, osobiste logo pilota, itp. Ograniczeniem jest 10 cyfr, od 0 do 9 na warstwie ale można użyć kilka takich tekstur nawet dla jednego samolotu. W jednym miejscu ustawić zamiast cyfry 8 odznakę eskadry, np na stateczniku a na kadłubie zamiast 8 mieć osobiste logo.

Rozmiar tego pliku 616KB na dziewięć odznak. Czyli 16 pilotów w eskadrze, po dwa elementy na pilota daje 4 pliki po 615KB = 2.5MB w paczce, 40 odznak. 25MB przy 10 eskadrach, 400 odznak. Pliki można zrobić niezależne od malowań i instalować przez OvGME na inne malowania lub używać bez malowań.

Efekty:

Image

Image

Image



Ustawienia średnio-niskie z rozdzielczością 1680x1050 dla lepszego zobrazowania jakości.

Nie wszystkie miejsca muszą być wykorzystywane jednocześnie, niepotrzebne można ustawić puste.

Miejsca dla F18 to:

- dziób duże z obu stron prawa i lewa, zresztą jak wszystkie nawet komora podwozia;
- dziób małe poniżej
- drzwi komory przedniego koła
- statecznik pionowy duże
- statecznik pionowy małe
- statecznik pionowy na samej górze małe
- bok silnika małe
- klapa skrzydła małe

Co ciekawe, jak widać to na zrzutach ekranu, można zachować numery razem z odznaczeniami, można rozdzielić. Każdy numer może być czytany z innej tekstury "decals". Numer wbity w edytorze to 1234567890.

Image

Image

Image

Image


Lekki bałagan z odznaczeniami, eksperymentowałem, to wszystko tylko dla zobrazowania co można mieć. Tekstury również wymagają większej precyzji przy układaniu na szablonie aby nie wyglądały na pocięte na modelu.

Taka tekstura z odznakami czy numerami nie różni się chyba między modułami, więc łatwo ją kopiować do innych samolotów i helek.

Jakość tych oznaczeń jest wyraźnie lepszej jak jakość tekstur na modelu, które podlegają kompresji w .dds oraz są zależne od ustawień w menu grafiki. To plik .tga ale oznaczenia dostają prawdopodobnie inny zewnętrzny RoughMet.

Image

Jeszcze się zastanawiam czy lokalizacja tych miejsc jest zależna od narodowości ustawionej w menu. Wygląda że nie jest dla F/A-18C, sprawdziłem, być może zależy od producenta modułu DCS, w innych modułach może być inaczej.

Warto rzucić okiem na darmowego MB339, gdzie decays są na warstwie 8x8 MPix. Szkoda że wszystkie moduły nie mają takiej ekstra warstwy, może kiedyś się to zmieni. Nie ma ograniczonych miejsc na ich pokazywanie na modelu, samolot czyta całą warstwę naraz.

Ciekawostka: Arma3 ma możliwość czytania takiej warstwy z godło eskadry bezpośrednio z linka.


Linki do paczki z przykładowym malowaniem

Linki na Sharemods.com więc mogą wyskakiwać okna z reklamami przy ściąganiu.

To tyle, mam nadzieję że się przyda.

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-07-23 11:20
by Poko
Wczoraj właśnie się bawiłem tymi warstwami "decal" w Hornecie i też niestety z przykrością stwierdzam, że nie da się dodać takiej warstwy gdziekolwiek – tylko w wyznaczonych przez EDków powierzchniach.

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-12-09 01:21
by spartan
Co jest nie tak:
livery = {
{"mig29_tex1", 0 ,"mig-29_tex01_pol",false};
{"mig29_tex2", 0 ,"mig-29_tex02_pol",false};
{"mig29_tex3", 0 ,"mig-29_tex03_pol",false};
{"mig29_tex4", 0 ,"mig-29_tex04_pol",false};
{"mig29_tex5", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN31", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN31", 3 ,"empty",true};
{"mig29_tex5_BN32", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN32", 3 ,"empty",false};
{"mig29_tex6", 0 ,"mig-29_tex06_pol",false};
{"mig29_tex7", 0 ,"mig-29_tex07_pol",false};
{"mig29_tex8", 0 ,"mig-29_tex08_pol",false};
{"mig29_metal", 0 ,"mig-29_metal",true};
{"mig29_nose", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN31", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN31", 3 ,"empty",true};
{"mig29_nose_BN32", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN32", 3 ,"empty",true};
{"pilot_mig29_body", 0 ,"pilot_MiG",false};

}
name = "Polish SPARTAN"
countries = {}






Image


---------------------------------------------------------------------------------------------
livery = {
{"mig29_tex1", 0 ,"mig-29_tex01_pol",false};
{"mig29_tex2", 0 ,"mig-29_tex02_pol",false};
{"mig29_tex3", 0 ,"mig-29_tex03_pol",false};
{"mig29_tex4", 0 ,"mig-29_tex04_pol",false};
{"mig29_tex5", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN31", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN31", 3 ,"mig-29_numbers_pol",false};
{"mig29_tex5_BN32", 0 ,"mig-29_tex05_pol",false};
{"mig29_tex5_BN32", 3 ,"mig-29_numbers_pol",false};
{"mig29_tex6", 0 ,"mig-29_tex06_pol",false};
{"mig29_tex7", 0 ,"mig-29_tex07_pol",false};
{"mig29_tex8", 0 ,"mig-29_tex08_pol",false};
{"mig29_metal", 0 ,"mig-29_metal",true};
{"mig29_nose", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN31", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN31", 3 ,"empty",true};
{"mig29_nose_BN32", 0 ,"mig-29_nose_pol",false};
{"mig29_nose_BN32", 3 ,"empty",true};
{"pilot_mig29_body", 0 ,"pilot_MiG",false};

}
name = "Polish SPARTAN"
countries = {}
Image



Jak zlikwidować te numery taktyczne w pliku description.lua

Re: Wczytywanie tekstur w "description.lua"

Posted: 2020-12-09 22:20
by spartan
No cóż nie było pomocy ale temat sam rozwiązałem.


Image

Re: Wczytywanie tekstur w "description.lua"

Posted: 2021-09-27 19:26
by Czart
Czy jest możliwość edytować odległości między cyframi w numerach burtowych?
W MiG-21 odstęp między nimi jest zdecydowanie za duży.

Re: Wczytywanie tekstur w "description.lua"

Posted: 2021-10-07 12:23
by Mentos
Niestety miejsca numerów burtowych nie można zmieniać ani przenosić w żadnym samolocie. Możesz po prostu usunąć bortnumber i na malowaniu wpisać numer burtowy. Ale wtedy nie będzie on zmienny tylko stały.
Możesz spróbować zwiększyć czcionkę lub zmienić na inną:
Image