[PORADNIK] Unity Assets Explorer, czyli edycja gier Unity

Awatar użytkownika
sb8gapi
Posty: 401
Rejestracja: 13 lip 2013, o 21:13

[PORADNIK] Unity Assets Explorer, czyli edycja gier Unity

Postautor: sb8gapi » 26 mar 2014, o 23:23

Postanowiłem napisać krótki poradnik dotyczący edycji plików assets w grach na silniku Unity. Nie znalazłem w internecie takowego poradnika po polsku. Pewne informacje o edycji plików gier Unity są na forum Graj Po Polsku, ale chcę je zabrać w jednym miejscu i głównie skupić się na tworzeniu spolszczeń dla gier na tym silniku. Gry na silniku Unity pojawiają się nie tylko na PC, co daje możliwość tworzenia spolszczeń do gier z różnych platform.

1. Wstęp, czyli co to jest Unity?
Unity (silnik gry)

Unity – zintegrowane narzędzie do tworzenia gier trójwymiarowych lub innych materiałów interaktywnych takich jak wizualizacje czy animacje trójwymiarowe. Środowisko działa natywnie na platformie Microsoft Windows oraz OS X, a gry wyprodukowane na tym silniku mogą działać na takich platformach jak Windows, Linux, Mac OS, Xbox 360, PlayStation 3, Wii, Wii U, iPad, iPhone, Android i Windows Phone 8. Gry stworzone w Unity po zainstalowaniu wtyczki Unity Web Player (niedostępnej pod Linuksem) mogą działać również w przeglądarce internetowej. Unity umożliwia również eksport gotowego projektu do Adobe Flash.
Źródło: http://pl.wikipedia.org/wiki/Unity_%28silnik_gry%29
2. Unity Assets Explorer, czyli podstawowy warsztat pracy.

Unity Assets Explorer służy do wypakowywania i pakowania plików z gier stworzonych w Unity, a konkretnie plików assets.
Autorami narzędzia są: AlphaTwentyThree, Haoose, OLEGator84
Strona na forum XeNTaX poświęcona narzędziu:
http://forum.xentax.com/viewtopic.php?f=10&t=10085

Za pomocą Unity Assets Explorer nie tylko możemy przeglądać zawartość plików assets, ale wyodrębnić wszystkie lub pojedyncze pliki z archiwum assets, konwertować pliki tekstur i grafiki, czcionki i inne w formacie TEX na DDS, a co najważniejsze importować zmodyfikowane pliki, które wcześniej zostały wyodrębnione i zapisać zmiany w nowym pliku assets.

Żeby praca z Unity Assets Explorer przebiegała sprawnie i bez problemów należy pamiętać o kilku ważnych rzeczach:
- edytowany plik musi znajdować się w tym samym folderze do którego został wypakowany oryginalny plik.
- plik zmodyfikowany i oryginalny muszą mieć taki sam rozmiar.
- plik tekstowy np: xml musi być w odpowiednim formacie kodowania - najczęściej jest to UTF-8 bez BOM.

Najlepiej opisać działanie narzędzia i proces spolszczenia na przykładach. Podam przykład tworzenia spolszczenia dla gry:
- Back To Bed - http://backtobed.dadiugames.dk

Darmowa gra logiczna w której wcielamy się w postać o imieniu Bob, który cierpi na narkolepsję. Z tego powodu zapada w głęboki sen i jako lunatyk pozostaje nieświadomy niebezpieczeństw, które czyhają na niego na każdym kroku. W grze wcielamy się w cząstkę jego podświadomości odpowiedzialną za instynkt samozachowawczy, który pomaga Bobowi bezpiecznie trafić do łóżka.

3. Spolszczenie Back To Bed, czyli pierwsze koty za płoty

Narzędzia:

Rozpakowanie plików assets
Unity Assets Explorer v. 1.2 - http://yadi.sk/d/pQCvUUC02D3aY lub download/file.php?id=1627
Unity Assets Explorer v. 1.3 Test - http://yadi.sk/d/BVRDnPC97cjPq
(Unity Assets Explorer 1.3 jest też w załączniku).
Edytor tekstu
Notepad++ - http://notepad-plus-plus.org/download/v6.5.5.html

Edytor graficzny z obsługą DDS
GIMP http://www.gimp.org/ + wtyczka DDS http://registry.gimp.org/files/gimp-dds-win32-2.0.2.zip
lub gdyby edycja za pomocą GIMP-a była niemożliwa:
PaintNET - http://www.getpaint.net/

Szybki podgląd plików DDS:
IrfanView - http://www.irfanview.com/ + zestaw wtyczek (IrfanView ALL plugins).

Opcjonalnie:
Menedżer plików
Total Commander - http://www.ghisler.com/download.htm

Edytor HEX
Hex Editor Neo Free - http://www.hhdsoftware.com/free-hex-editor

Narzędzia są przykładowe i można wybrać inne. Wybrałem większość po polsku i darmowe.

Spolszczenie krok po kroku

1. Pobieramy grę dla Windows i instalujemy.

2. Szukamy folderu gry BackToBed, otwieramy i wchodzimy do folderu: BackToBed_Data.

3. Uruchamiamy grę i zatrzymujemy się na menu głównym gry. Mamy tam trzy przyciski o nazwach: CREDITS, PLAY, FULL SCREEN (WINDOW). Wyszukujemy któregoś z tych słów w plikach assets, aby zlokalizować w którym pliku assets jest plik z tekstem.

Pliku Locale.xml możemy wyszukać na kilka sposobów np: Total Commander -> Polecenia -> Szukaj... Szukaj w: podajemy miejsce plików gry assets, z w których szukamy frazy. Zaznaczamy: Szukaj tekst i w wierszu obok wpisujemy szukanej frazy.
Zawartość plików możemy przeszukiwać też w Notepad++ -> Szukaj -> Szukaj w plikach i postępujemy podobnie jak w Total Commanderze. Możemy zawęzić zakres poszukiwań zaznaczając: Tylko całe wyrazy i\lub Uwzględniaj wielkość liter.

Plik tekstowy odnajdujemy w resources.assets pod nazwą: Locale.xml.

4. Pobieramy Unity Assets Explorer. Wypakowujemy np: do folderu Unity Assets Explorer i do tego samego folderu kopiujemy znaleziony plik resources.assets. Uruchamiamy UnityAssetsExplorer.exe i otwieramy plik resources.assets przyciskiem Open Assets-file.

Po otworzeniu pliku resources.assets w okienku z prawej strony ekranu: File info wyświetlają się podstawowe informacje o otwartym pliku assets. Jest tam także informacja o wersji Unity, za pomocą którego została gra stworzona.

5. Szukamy pliku Locale.xml na liście plików (pozycja 31). Klikamy prawym przyciskiem na nazwie pliku i wybieramy z menu kontekstowego Extract This File. W folderze do którego został skopiowany resources.assets zostanie utworzony folder resources a w nim plik Locale.xml. Jego rozmiar podany jest w Unity Assets Explorer w kolumnie: SIZE.

6. Przystępujemy do edycji Locale.xml , który jak wspomniałem ma rozmiar: 10 788 bajtów w Notepad++. Rozmiar pliku (ilość znaków) podany jest także w Notepad++ na dole programu w środkowej części: Length 10 788 co jest też bardzo przydatne przy edycji pliku.
Wybieramy którąś wersję językową. Zastępujemy wybraną tłumacząc teksty gry. (W grze są dwie: Duńska i Angielska - wybrałem wersję angielską).

W czasie tłumaczenia przydatne jest automatyczne sprawdzanie tekstu w Notepad++ i dlatego warto pobrać i zainstalować plugin: DSpellCheck oraz do porównywania plików: Compare. Pluginy instalujemy z menu Pluginy -> Plugin manager. Dostępnych jest kilkadziesiąt pluginów, którymi możemy zarządzać (pobierać, instalować, konfigurować) ze wspomnianego menu: Plugin manager.

7. Po skończonym tłumaczeniu okazuje się, że ilość znaków podana w Notepad++ -> Length jest inna niż początkowa: 10 830. Aby przywrócić początkową ilość znaków możemy wykasować teksty z nieużywanego języka lub komentarze. (Ja wybrałem usunięcie jednego z komentarzy i jednej spacji). Jak mamy już odpowiednią wartość w Length: 10 788 następuje ważna operacja.

W menu Format sprawdzamy czy jest zaznaczenie przy: Koduj w UTF-8 (bez BOM). Jeśli jest inaczej zaznaczamy cały tekst i z menu Format wybieramy: Konwertuj na format UTF-8 bez BOM.

Na koniec zapisujemy plik.
Opcjonalnie możemy porównać plik źródłowy i przetłumaczony. Powinny różnić się tylko zmianami, które wprowadziliśmy. Można to zrobić w Total Commanderze lub Notepad++.

Po skończonym tłumaczeniu często sprawdzam składnię pliku XML, czyli kompletność znaczników (szczególnie </ lub >).

8. Jeśli plik Locale.xml jest w folderze resources otwieramy ponownie resources.assets w Unity Assets Explorer jeśli został zamknięty, wyszukujemy na liście plik Locale.xml, klikamy prawym przyciskiem i z menu kontekstowego wybieramy: Import This File from original-format. Po pomyślnym zakończeniu importu pliku pojawi się okienko: Done. Klikamy OK i następnie na: Save as Assets-file. Nowy plik assets dla bezpieczeństwa zapisujemy pod inną nazwą niż plik źródłowy np: resources_nowy.assets. W folderze, w którym był skopiowany resources.assets do edycji w Unity Assets Explorer pojawi się nowy plik pod taką nazwą jaką wpisaliśmy przy zapisie nowego pliku assets (w przykładzie jest to: resources_nowy.assets).

9. Kopiujemy nowy plik do folderu danych gry: BackToBed_Data. Zmieniamy nazwę oryginalnego pliku resources.assets na np: resources_kopia.assets a plik z przykładu: resources_nowy.assets na resources.assets. Jeśli wszystko przebiegło pomyślnie po uruchomieniu gry powinniśmy ujrzeć polskie menu po kliknięciu w angielską flagę (bo w przykładzie podmieniony był język angielski).

10. Akurat w tej grze jest polska czcionka, (plik: font texture.tex_2.dds), ale najczęściej w grze nie ma polskiej czcionki.
Opis instalacji pluginu do edycji DDS w GIMP-ie oraz opis edycji czcionek w formacie DDS jest w tym poradniku:
viewtopic.php?f=75&t=1800&p=17517&hilit ... nek#p17517

11. Pliki TEX można wypakować jako DDS podobnie jak plik locale.xml. Musi być zaznaczona opcja: Convert TEX to DDS.
Edytowany plik DDS np: w GIMP-ie importujemy także podobnie jak plik Locale.xml - Import This file from DDS.

12. Możliwa jest też edycja plików dźwiękowych z gry w formacie np: MP3 lub OGG. Wypakowujemy i importujemy je tak samo jak plik locale.xml. Edytować pliki dźwiękowe można w darmowym Audacity. Wielkość pliku możemy zmienić w np: Hex Editor Neo Free.

13. Aby spolszczenie było pełne należałoby zmienić flagę brytyjską na polską podczas wyboru języka.
W tym celu szukamy grafiki flagi brytyjskiej. Szukamy frazy "british" w plikach gry, lub wypakowujemy wszystkie pliki assets z gry i przeglądamy pliki DDS w poszukiwaniu flagi. Do szybkiego podglądu grafiki DDS nadaje się IrfanView co ułatwia poszukiwania.
Pliki flag są w pliku: sharedassets0.assets - pliki: British flag.tex.dds i British flag_selected.tex.dds i po wypakowaniu ich z pliku sharedassets0.assets zostaną utworzone w folderze sharedassets0.
Niestety w GIMPI-e nie udało się edytować plików z flagami, więc edytowałem w PaintNET.
Po zakończonej edycji zapisujemy nowy plik jako DDS (nadpisujemy stary), pamiętając żeby rozmiar nowego pliku był taki sam jak oryginalnego. Zaletą PaintNET jest to, ze jest podana wynikowa wielkość pliku DDS przed zapisem co ułatwia pracę.
Na koniec w Unity Assets Explorer importujemy edytowane pliki z flagami i zapisujemy jako plik assets.

Pokazałem tu tylko podstawowe możliwości Notepad++, który posiada bardzo dużo przydatnych funkcji, a także innych programów.
Zawsze warto zapoznać się z Pomocą lub plikiem ReadMe!


Wszelkie uwagi i sugestie mile widziane.

-- 5 cze 2014, o 21:27 --

Czasami Unity Assets Explorer ma problemy z plikami assets.
Innym bardzo przydatnym narzędziem do edycji plików assets jest:

Unity Asset Editor autorem jest Grim, który powstał na potrzeby gry 7 DAYS TO DIE, ale można nim wypakowywać i pakować pliki z innych gier UNITY.

Strona projektu:
http://7daystodie.com/forums/showthread ... set-Editor

Program pozwala na edycję plików wewnątrz assets oraz na:
- wyszukiwanie ciągów tekstowych,
- podgląd plików,
- import i eksport, dodawanie i usuwanie plików
- tworzenie Modów
- wbudowany podgląd Hexadecymalny
i wiele innych.

Najbardziej przydatna jest jednak funkcja eksportu (zapis na dysk), importu (zapis pliku z dysku w pliku assets, wyszukiwanie ciągów tekstowych w pliku assets (w wynikach otrzymujemy pliki w których pojawia się szukana fraza).
Ciekawą funkcją jest podgląd tekstur (pliki tex) w trybie Wtyczek (Plug-in). Plik tekstur możemy zapisać jako DDS lub TEX - UNITY ASSETS RAW DATA - plik *. data.
Standardowo podgląd tekstur wymaga DirectX 9c. Jeśli w systemie brak jest DX9c lub nie można zainstalować DirectX 9c, to po kliknięciu na teksturę następuje błąd programu.
Ale autor programu udostępnił wtyczkę bez obsługi DirectX - folder Texture Plugins a w nim dwa foldery z wtyczkami Texture.dll: DX90c (obsługa DX9c) i NODX (bez obsługi DirectX). Jeśli występuje problem z podglądem tekstur, ich eksportem i importem należy plik Texture.dll z folderu NODX przekopiować do folderu Plugins/Default w głównym folderze programu.

Podgląd tekstur dostarcza bardzo przydatnych informacji do edycji pliku DDS i jego późniejszym zapisie np. w programie GIMP - wielkość oraz format (RGB, RGB8, DXT1, DXT3, DXT5 itd.)

W załączniku zamieściłem wersję Unity Asset Editor NODX (sprawdzałem działanie na Windows XP, Windows 7 64 bit i Windows 8.1)

Listę plików możemy sortować wg. nazwy (Name), typu (Type), Indeksu (Index) lub wielkości (Size).

Operacje na plikach wewnątrz asset czyli teksturach, plikach tekstowych, dźwiękowych i innych dokonujemy z menu: Asset lub podobnie jak w Unity Assets Exploter z menu rozwijanego po kliknięciu prawym przyciskiem myszy na konkretny plik.

Program stosujemy zamiennie lub jako uzupełnienie, gdy Unity Assets Expolrer niepoprawnie rozpoznaje pliki wewnątrz assets.

Np: Unity Assets Expolrer w grze Amoug The Sleep niepoprawnie rozpoznaje pliki tekstowe gry (txt) i niepoprawnie je importuje i eksportuje (rozpoznaje jako typ 49, a nie txt), a Unity Asset Editor sobie z tym poradził. Trzeba więc eksperymentować.

Tak więc nie ma jednego, uniwersalnego narzędzia do edycji gier na silniku UNITY.
Należą się jednak podziękowania i uznanie dla twórców opisanych programów, bo dzięki nim i ich pracy tworzenie spolszczeń i nie tylko do gier UNITY jest możliwe.

Najnowsze wersje BETA Unity Asset Editor:

http://www.mediafire.com/download/s8zch ... ETA_1).zip
http://www.mediafire.com/download/s8zch ... ETA_2).zip

Ostatnia wersja stabilna:

http://www.mediafire.com/download/ksa0k ... AE_0_2.zip

Własna czcionka w grach UNITY.

W niektórych grach na silniku UNITY czcionka jest w formacie TTF, ale o tym opowiem innym razem.
Nie jest to jednak popularny format czcionki TrueType jaką znamy z systemu Windows.

Zwykle bitmapa czcionki i plik konfiguracyjny są osobno (np:. w grze Deus EX The Fall).
Niniejszy poradnik pokazuje jak stworzyć taką czcionkę z czcionki TrueType.


Tu z pomocą przychodzi mały programik autorstwa "AngelCode" o nazwie Bitmap Font Generator.

Program pozwala na generowanie czcionek bitmapowych z czcionek TrueType. Aplikacja generuje pliki graficzne i opisy znaków, które mogą być odczytywane przez grę.

Powstają dwa pliki: tekstura czcionki i plik konfiguracyjny.

Strona domowa projektu:
http://www.angelcode.com/products/bmfont/

Wersja 1.13
http://www.angelcode.com/products/bmfon ... t_1.13.exe

Wersja 1.14 Beta
http://www.angelcode.com/products/bmfon ... 4_beta.exe

Program jest także w załączniku.

Najważniejsze zalety programu zostały opisane na stronie projektu. Wspomnę tylko, że obsługuje popularne formaty tekstur: TGA, PNG, i DDS, plikk konfiguracyjny w formacie tekstowym (txt, xml, fnt), zapewnia wsparcie dla zestawu znaków Unicode 6.2, możliwość wybrania kodowania plików tekstowych gry: UTF8 i UTF16.

Powstał nawet film na YouTube przedstawiający proces tworzenia czcionki:

http://www.youtube.com/watch?v=lc4E7jLZXa4

UWAGA.
Za pomocą tego programu można stworzyć czcionkę nie tylko do gier Unity, ale do każdej, w której czcionka składa się z pliku graficznego (tekstury) i konfiguracyjnego w formacie tekstowym. (np. w Puzzle Quest 2).

W załączniku zamieszczam nową wersję UnityAssetsExplorer1.3, (UnityAssetsExplorer1.3 update.zip), która poprawnie wypakowuje pliki tekstowe xml z plików assets z najnowszych wersji gier UNITY. Wcześniejsza wersja UnityAssetsExplorer1.3 rozpoznawała pliki xml jako typ 49.
Załączniki
UnityAssetsExplorer1.3 update.zip
UnityAssetsExplorer1.3 nowa wersja
(618.95 KiB) Pobrany 486 razy
Bitmap Font Generator.zip
Bitmap Font Generator (wersja 1.13 i 1.14 Beta
(700.68 KiB) Pobrany 410 razy
UAENODX.zip
Unity Asset Editor NODX
(6.98 MiB) Pobrany 449 razy
Unity Assets Explorer Import pliku DDS.jpg
Unity Assets Explorer Import pliku DDS
Flaga w PaintNET.jpg
Zapis pliku flagi w PaintNET
Flaga brytyjska.jpg
Flaga w IfranView
UnityAssetsExplorer-1.3.rar
Unity Assets Explorer v. 1.3 Test
(192.96 KiB) Pobrany 419 razy
AnityAssetsExploter.jpg
Unity Assets Explorer z otwartym plikiem resources.assets
Notepad++.jpg
Locale.xml w Notepad++
Porownanie plikow Locale_xml.jpg
porównanie plików Locale.xml

Awatar użytkownika
Śledziks
Posty: 239
Rejestracja: 17 mar 2009, o 20:27

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: Śledziks » 6 cze 2014, o 08:26

Dzięki, możliwe, że wkrótce mi się przyda :)

Awatar użytkownika
sixtyfourbit
Posty: 58
Rejestracja: 24 mar 2014, o 18:38
Kontakt:

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: sixtyfourbit » 6 cze 2014, o 13:16

Poradnik jest świetny. Istnieje masa świetnych, nieprzetłumaczonych gier na Unity, czekających na tłumaczy. Przykłady: Among the Sleep czy Kerbal Space Program.
Obrazek

Awatar użytkownika
sb8gapi
Posty: 401
Rejestracja: 13 lip 2013, o 21:13

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: sb8gapi » 7 cze 2014, o 16:02

To dobrze, że poradnik jest przydatny. Poradnik został zaktualizowany i dodałem dodatkowe informacje na temat : Unity Asset Editor.
Uzupełniłem poradnik o tworzenie czcionki w formacie bitmapy i pliku tekstowego za pomocą Bitmap Font Generatora

-- 18 sie 2014, o 12:46 --

Pojawiła się nowa wersja Unity Assets Explorer v. 1.4, zostały poprawione błędy z wersji 1.3, oraz dodano kilka nowych funkcji znanych z Unity Asset Editor (wyszukiwanie ciągu znaków, konwersja plików TEX na DDS, podgląd DDS.

https://www.dropbox.com/s/2qorsfd50ixvn ... plorer.exe

Wersja 1.4 posiada bardzo przydatną funkcję czyli podgląd DDS.

Możliwe jest przeglądanie powiększonego konkretnego pliku DDS. Wystarczy otworzyć plik UAE-preview.dds, wygenerowany do tego samego folderu, w którym jest UnityAssetsExplorer.exe.

Na forum:

http://7daystodie.com/forums/showthread ... s-UAE-BETA

pojawiła się też wersja BETA 3 Unity Asset Editora

http://www.mediafire.com/download/h0ttk ... ETA_3).zip

W załączniku zamieszam też wersję bez obsługi DirectX 9c, bo często nie działa podgląd tekstur DDS i powoduje zawieszanie programu. Wersja NODX, działa normalnie, ale nie ma w niej podglądu tekstur, tylko podstawowe informacje o teksturze.
Załączniki
Unity Assets Explorer v. 1.4.JPG
Okno nowej wersji Unity Assets Explorer v. 1.4
UAE_0_3(BETA_3).zip
Unity Asset Editor BETA 3
(6.8 MiB) Pobrany 371 razy
UAE_0_3(BETA_3) NODX.zip
Unity Asset Editor BETA 3 wersja NODX bez podglądu DDS
(6.8 MiB) Pobrany 392 razy
UnityAssetsExplorer_v1.4.zip
Unity Assets Explorer v. 1.4
(882.44 KiB) Pobrany 467 razy

Awatar użytkownika
AwwBurnPL
Posty: 117
Rejestracja: 26 mar 2014, o 16:11

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: AwwBurnPL » 24 sie 2014, o 13:52

Mi nie działa jak próbuje spolszczyć Unturned albo Among the Sleep

Awatar użytkownika
sb8gapi
Posty: 401
Rejestracja: 13 lip 2013, o 21:13

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: sb8gapi » 26 sie 2014, o 08:21

Mi nie działa jak próbuje spolszczyć Unturned albo Among the Sleep
Po pierwsze wypowiedź nic nie mówi. Proszę ja sprecyzować, co konkretnie nie działa?
Po drugie na forum jest odpowiedni dział na pytania techniczne i tam proszę opisać problem.
Po trzecie programy, które opisałem działają, a przy Among the Sleep osobiście sprawdziłem działanie Unity Asset Editora i działa pakowanie oraz wypakowywanie plików z gry.

-- 20 wrz 2014, o 16:00 --

Pracując nad spolszczaniami gier Unity, brakowało mi w opisanych wcześniej narzędziach podglądu plików od razu w programie, bez ich wypakowywania. Bardzo ułatwia to pracę przy poszukiwaniu czcionek, tekstu gry i grafik.

Przeglądając zasoby forum XeNTax, natrafiłem na program, który posiada podgląd plików wewnątrz plików asset w czasie rzeczywistym. Wprawdzie Unity Asset Explorer w najnowszej wersji posiada podgląd grafiki "tex" , ale w małym okienku. Unity Asset Editor ma także wbudowany podgląd plików textur "tex", współpracujący z DirexctX 9, ale u mnie nie działa i trzeba było użyć pluginu graficznego, bez obsługi podglądu.

Unity Studio to program, o którym wspominałem na początku i jest uzupełnieniem poprzednio opisanych programów.
Najważniejsze funkcje (z forum XeNTaX):
- Kompatybilny ze wszystkimi wersjami Unity od 2.5.0 do 4.5.3f3
- Kompatybilny z grami Web, PC, iOS, Android, PS3, Xbox 360, OSX i Linux
- Automatycznie łączy pliki .split z gier Android
- Jest w stanie załadować strumienie audio z plików .REss
- Filtr wyszukiwania
- Okno podglądu w czasie rzeczywistym i funkcja eksportu dla: tekstur, plików audio, shaderów i czcionek
- Tekstury: DDS (Alpha8bpp, ARGB16bpp, RGB24bpp, ARGB32bpp, BGRA32bpp, RGB565, DXT1, DXT5, RGBA16bpp)
- PVR (PVRTC_RGB2, PVRTC_RGBA2, PVRTC_RGBA4, PVRTC_RGB4, ETC_RGB4)
- Pliki audio: MP3, OGG, WAV, xbox wav
- Pliki Shader są eksportowane w postaci zwykłego tekstu
- Czcionki: TTF, OTF

Jak widać jest to narzędzie uniwersalne. Najbardziej przydatne funkcje to np: łączenie plików split .split z gier Android, podgląd tekstur wraz ze szczegółowym ich opisem, i czcionek TTF (nie było ich podglądu w innych programach), obsługa plików .ress oraz eksport wybranego folderu, kilku wybranych plików, plików wg. filtru itp. i wiele innych.

Program jest obecnie w wersji BETA, ale zapewne będzie rozwijany i jak pojawią się jego kolejne wersję napiszę o tym na forum. Program jest w załączniku na forum pod screenami.

Strona forum XeNTaX zawiera więcej informacji i tam odsyłam zainteresowane osoby:

http://forum.xentax.com/viewtopic.php?f=10&t=11807
Załączniki
Unity Studio Podgląd czcionki TTF.jpg
Czcionka TTF
Unity Studio Podgląd tablicy znaków czcionki FNT.jpg
Tablica znaków FNT dla czcionki TEX
Unity Studio Podgląd czcionki TEX.jpg
Czcionka TEX
Unity Studio Podgląd tekstury TEX.jpg
Tekstura TEX (w lewym górnym rogu szczegółowe dane o teksturze)
Unity Studio Podgląd tekstu z gry XML.jpg
Tekst z gry w formacie XML
Unity_Studio_0.4.zip
Unity Studio beta 4
(1.43 MiB) Pobrany 375 razy

fenf
Posty: 4
Rejestracja: 27 gru 2014, o 13:53

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: fenf » 27 gru 2014, o 14:06

Mam pytanie dotyczące czcionki. Mam ochotę sprawdzić się i zrobić na razie dla siebie spolszczenie do gry Dungeon of the Endless. Gra nie wyświetla polskich znaków.

Gra posiada pliki assets. W jednym z nich znalazłem 4 czcionki w formacie .ttf i 4 pliki o tej samej nazwie font texture z końcówką .tex. Teraz tak, według poradnika plik, który modyfikujemy z assets powinien mieć na końcu tą samą wielkość, po edycji pliku ttf czcionka ma inny rozmiar, jak to obejść?
Druga sprawa to na próbę zmodyfikowałem jeden znak i po kilku minutach zabawy udało mi się uzyskać rozmiar wyjściowy. Po pomyślnym wrzuceniu zmodyfikowanego pliku .ttf do assets w grze nie widać różnicy, znak, który zmieniłem wygląda tak samo jak wcześniej. Pewnie problemem jest tu ten dodatkowy plik font texture. Jak to ugryźć?

Awatar użytkownika
sb8gapi
Posty: 401
Rejestracja: 13 lip 2013, o 21:13

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unit

Postautor: sb8gapi » 30 gru 2014, o 19:26

Gry UNITY na ANDROIDA

Po ukończeniu prac na spolszczeniem Deus Ex The Fall na PC postanowiłem przenieść spolszczanie na system Android.
Niestety okazało się, że to nie jest takie proste jak w przypadku gry na PC. Napotkałem kilka przeszkód podczas przenoszenia plików spolszczenia, które jednak pokonałem, i chciałbym się podzielić pewnymi doświadczeniami.

Pliki ASSTTS w ANDROID czyli Assets SPLIT

Pliki Assets w systemie Android podzielone są na części 1 Mb (1 048 576 bajtów).
Aby edytować pliki assets podzielone na części należy połączyć je w jeden plik. Bardzo szybko można to zrobić za pomocą Unity Studio.
Przykładowo mamy plik sharedassets0 podzielony na części (nazwy od sharedassets0.assets.split0 do sharedassets0.assets.split20 - razem 21 plików).
Tworzymy jakiś folder np: sharedassets0 i kopiujemy do niego wszystkie części. Uruchamiamy Unity Studio, wybieramy z Menu File: Load folder i wybieramy utworzony folder czyli sharedassets0. Po otworzeniu folderu pokażą się pliki wewnątrz assets, możemy je sobie przeglądać (w poszukiwaniu czcionek, lub tekstów z gry), a w folderze pojawi się jeden plik sharedassets0.assets gotowy do dalszej edycji np: w Unity Assets Explorer.

Gdy skończymy edycję pliku, należy go ponownie podzielić na części.
Tu już nie przyda się Unity Studio. Ale można to zrobić np: Total Commanderem.

Tworzymy sobie nowy folder np: sharedassets0split. kopiujemy do niego plik, który chcemy podzielić - sharedassets0.assets.
Ustawiamy obydwa okna na ten sam folder, aby był widoczny plik do podzielenia. Zmieniamy nazwę pliku na: sharedassets0.assets.assets.. Ułatwi to późniejszą zmianę zazw podzielonych plików. Zaznaczamy go i z menu plik wybieramy: Podziel Plik. W okienku podpisanym bajtów na plik wpisujemy wielkość części czyli: 1048576. Po kliknięciu OK pojawi się komunikat o poprawnym podzieleniu plików a w folderze pojawi się 21 plików. Od sharedassets0.assets.001 do sharedassets0.assets.021. Pozostała jeszcze zmiana rozszerzenia pliku: 001 na split0 i tak do końca 021 na split20..

Tu tez przyda się Total Commander. W folderze sharedassets0split pozostawiamy tylko pliki części, a usuwamy plik sharedassets0.assets.assets i sharedassets0.assets.crc.
Podobnie jak poprzednio ustawiamy oba okna na tym samym folderze i na podgląd wszystkich plików, które przed chwila się pojawiły po podziale sharedassets0.assets.assets. Zaznaczamy wszystkie pliki (Ctrl+A), lub za pomocą myszki (klikamy lewym przyciskiem na pierwszy plik sharedassets0.assets.001 z wciśniętym Shiftem, i tak samo na ostatni. Gdy wszystkie pliki są zaznaczone przechodzimy dalej.
Z menu Plik wybieramy: Narzędzie wielokrotnej zmiany (Ctrl+M).

Pokarze się okienko. Pozostawiamy bez zmian pole: Matryca zmiany: nazwa pliku (już przed podziałem zmieniliśmy nazwę pliku na odpowiednią). Jeśli podzielimy plik sharedassets0.assets (bez wcześniejszej zmiany nazwy) to w tym oknie musimy dopisać brakującą w nazwie po podziale frazę assets. W tym przypadku nazwa jest już prawidłowa i zajmujemy się tylko rozszerzeniem.
Przechodzimy do pola: Rozszerzenie. Mamy w nim "[E]". Kasujemy wpis i wpisujemy: split. Następnie klikamy na Licznik. W polu powinien być wpis: split[C].
Pozostaje jeszcze ustawić licznik, aby startował od ZERA, bo podzielone pliki zaczynają się od 001.
Po prawej stronie od góry: Definiuj licznik [C] w krok ustawiamy na ZERO.

Pod głównym panelem jest okno z nazwami plików, gdzie od lewej strony mamy podgląd starych nazw plików a obok podgląd nowych nazw plików. Tu możemy kontrolować zmiany jakich dokonujemy w wyżej opisanych polach: Matryca zmiany: nazwa pliku i Rozszerzenie.
Gdy wszystko jest gotowe, klikamy START. Pierwszy plik powinien mieć wielkość 1048576 a ostatni 257969, tak jak pliki oryginalne.

Konwersja TEX na DDS.

Unity Assets Explorer podczas eksportowania plików tekstur z assets automatycznie zamienia plik TEX na DDS, i zapisuje obydwa pliki na dyski. Posiada też oddzielną funkcję, która służy do zamiany pliku TEX na DDS, na dole ekranu po uruchomieniu programu - przycisk TEX to DDS. W większości przypadków wszystko działa bez problemów.
Ale w przypadku Deus Ex The Fall z Androida automatyczna konwersja powodowała, że po edycji DDS np: w Gimpie, i ponownym imporcie pliku DDS do assets, występował błąd w postaci zmienionego tła (w moim przypadku było turkusowe) podczas podglądu zmienionego pliku assets w Unity Studio (program dobrze spisuje się do podglądu zawartości plików assets.
Miałem już gotowe czcionki w plikach DDS z wersji PC. Ale ich import do wersji na Androida powodował występowanie powyższego problemu.

Rozwiązałem go w następujący sposób.

W wspomnianym już pliku sharedassets0.assets jest plik czcionki DDS - DeusEx3_Hud_40.
Otwieramy plik sharedassets0.assets w Unity Assets Explorer i eksportujemy plik tekstury z czcionką DeusEx3_Hud_40. Tworzymy folder np: Czcionka.
Mamy dwa pliki: DeusEx3_Hud_40.tex i DeusEx3_Hud_40.tex.dds. Kopiujemy je do folderu Czcionka.
Do konwersji posłużyłem się Hex edytorem - HxD. (pilik w załączniku).

Otwieramy w nim obydwa pliki.

Z pliku TEX kopiujemy wszystko od offsetu 38 do końca. Zaznaczmy myszką offset 38 z wciśniętym Shiftem i jedziemy na koniec i zaznaczamy z wciśniętym shiftem ostatni offset. Zostanie zaznaczone wszystko od offsetu 38 do końca pliku. Kopiujemy to co zostało zaznaczone - Edycja - Kopiuj (Ctrl + C).
Przechodzimy do pliku DDS i zaznaczamy wszystko od offsetu 80 do końca. Następnie z Menu edycja wybieramy: Wklej przez nadpisanie (Ctrl+B). Zostanie nadpisane to co kopiowaliśmy z pliku TEX i zapisujemy plik DDS jako np: Nowy_DeusEx3_Hud_40.tex.dds.

Teraz możemy edytować plik w Gimpie, ale ja miałem żółte tło co było trochę niewygodne.

Możliwa jest edycja pliku dds po konwersji w Unity Assets Explorer.
Ja miałem właśnie takie pliki z czcionkami z wersji PC.
I teraz opiszę jak edytowany i zmieniony plik po konwersji w Unity Assets Explorer scalić z plikiem dds po konwersji w HxD.
Otwieramy plik dds z HxD GIMP-ie. Jeśli go nie edytujemy nie musimy go odwracać o 180 stopni (normalnie jest do góry nogami).
Wybieramy narzędzie pobierania koloru: Pipeta z przybornika lub z menu: Narzędzia - Pobieranie koloru lub literka O, pobieramy kolor tła (u mnie był żółty). Następnie wypełniamy cały obraz kolorem tła (żółtym) - Edycja - wypełnij kolorem pierwszoplanowym (Ctrl + ,). Potem z menu Plik wybieramy: Otwórz jako warstwy (Ctrl + Alt + O) i otwieramy plik DDS pochodzący z konwersji w Unity Assets Explorer, który był wcześniej edytowany (ja miałem już gotowy plik po edycji). Pokazała się druga warstwa z otwieranym przed chwilą plikiem. Na koniec scalamy warstwy - menu Warstwa - połącz w dół (aktywna musi być pierwsza warstwa z dds z HxD.
Na koniec z menu Plik Wyeksportuj jako (Shift+Ctrl+E). Jako nazwę podajemy nazwę oryginalnego pliku dds czyli: DeusEx3_Hud_40.tex.dds.
Kompresje wybieramy wg. tego co było podane podczas podglądu tekstury w Unity Studio lub w Unity Assets Explorer (u mnie było to RGBA4)
Mamy gotowy plik DDS do zaimportowania do pliku assets z gry.

Najnowsza wersja wtyczki do GIMPA obsługująca DDS pod adresem:

https://code.google.com/p/gimp-dds/downloads/list

Do pobrania jest wersja gimp-dds-3.0.1 dla win32 i win64.

-- 26 cze 2015, o 15:44 --

Pliki z rozszerzenie resS

Czasem w grach na silniku Unity obok zwykłych assets czyli resource.assets, sharedassets0.assets, sharedassets1.assets itd. występują razem z nimi w parze pliki resS np:
Wraz z resource.assets jest resources.assets.resS itd.
Pliki z rozszerzeniem resS zawierają zazwyczaj pliki audio w formacie OGG, WAV, AIF i FSB.
Niestety większość opisywanych dotąd narzędzi potrafi jedynie wypakować resS (Unity Assets Explorer 1.4 by Haoose, Unity Studio beta 4).
Unity Studio ma jeszcze tę zaletę, że umożliwia odsłuchanie poszczególnych plików w resS.

Żeby spakować zmodyfikowane pliki do resS, można użyć uniwersalnego QuickBMS, który dzięki skryptom potrafi wypakować i pakować mnóstwo plików z gier i nie tylko.
Dla wygodniejszej obsługi QuickBMS, można użyć graficznego GUI o nazwie:

Zalecam zapoznanie się z dokumentacją do QuickBMS i wszystkimi parametrami, z jakimi pracuje program.
http://aluigi.altervista.org/papers/quickbms.txt
a także odwiedzanie forum QuickBMS:
http://zenhax.com/

Quick BMS GUI
http://quick-bms-gui.software.informer.com/download/
nazwa pliku:
http://download.informer.com/win-119265 ... .0beta.exe

Po instalacji do folderu Tools (Quick BMS GUI) kopiujemy najnowszą wersję QuickBMS ze strony:
http://aluigi.altervista.org/papers/quickbms.zip

Skrypt obsługujący UNITY (Unity Engine assets extractor script 0.2.1c):
http://aluigi.altervista.org/papers/bms/unity.bms

Skrypt zalecam skopiować do folderu Scripts.

Obsługa Quick BMS GUI jest dość intuicyjna.

Tak wygląda przykładowy screen z ekranu programu:
http://www.xentax.com/wp-content/uploads/2012/11/q3.png
Więcej info o QuickBMS GUI na forum XeNTaX:
http://forum.xentax.com/viewtopic.php?f=29&t=6797

Najlepiej Quickbms GUI i pliki resources (resource.assets i resources.assets.resS) skopiować do jednego folderu.
Uruchomić Quick BMS Editor GUI.exe, i w zakładce Script file wybrać skrypt (z folderu Scripts), w Archive file plik resources.assets i Folders należy wskazać folder do wypakowania plików.
Potem przycisk Extract!

Pliki do reimportu (edytowane), te nowe powinny mieć taką samą wielkość co oryginalne, mogą być mniejsze, ale w żadnym wypadku większe. W przeciwnym skrypt razie nie działa.

Jak już nowe pliki będą w folderze (w tym samym co były wypakowane pliki) to wybierz przycisk Reimport.

Wersja QuickBMS GUI z najnowszym QuickBMS 0.6.4 i skryptem UNITY.BMS na dzień: 26.06.2015

https://www.dropbox.com/s/u4i8m6zki5zpq ... I.zip?dl=0

Nowy silnik UNITY5

Coraz więcej gier powstaje na nowej wersji silnika Unity o numerze 5.
Ori and the Blind Forest od Moon Studios i Microsoftu czy Rival Kingdoms od Space Ape, czy rodzima produkcja Gloria Victis.

Niestety opisywane dotąd narzędzia, oprócz QuickBMS nie obsługują nowego Unity5.
Wspomniany wcześniej skrypt dość dobrze radzi sobie z exportem i reimportem plików do assets w nowej wersji silnika.

Skrypt obsługujący UNITY5 Unity Engine assets extractor (script 0.2.1c:
http://aluigi.altervista.org/papers/bms/unity.bms

Proces wypakowywania i pakowania plików przebiega dość sprawnie.
Opis QuickBMS znajduje się powyżej.
W razie potrzeby można zmodyfikować skrypt i dostosować go do własnych potrzeb. Gdy po wypakowaniu assets, występują pliki, które nas interesują, a mają rozszerzenia w postaci liczbowej.
Czasem zachodzi potrzeba wypakowania konkretnych plików o konkretnym rozszerzeniu.

W QuickBMS GUI w zakładce Options wybieramy Basic i Filters. W okienko poniżej wpisujemy maske dla plików, które chcemy wypakować (dla plików mp3 wpisujemy *.mp3).
W zakładce Options przy poszczególnych opcjach są znaki zapytania zapytania (pomoc) ułatwiające zapoznanie się z działaniem wybranego parametru.

-- 26 cze 2015, o 16:25 --

Haoose 2.06.2015 r. wydał aktualizację Unity Assets Explorer v1.5 (22.06.15), która obsługuje Unity5 (testowane na grach The Forest. Program jest jeszcze w wersji beta wiec w razie problemów z obsługa gry na Unity5 pozostaje QuickBMS.

https://www.dropbox.com/s/2qorsfd50ixvn ... plorer.exe

-- 9 wrz 2015, o 14:33 --

Kolejna aktualizacja wydana przez Haoose:

Unity Assets Explorer 1.5 (02.09.20150

https://www.dropbox.com/s/2qorsfd50ixvn ... plorer.exe

-- 31 paź 2015, o 18:41 --

Aktualizacja QuickBMS

QuickBMS generic files extractor and reimporter 0.7.0

http://aluigi.altervista.org/papers/quickbms.zip

Nowy spryt BMS do wypakowywania gier na silniku UNITY

Unity Engine assets extractor (script 0.2.4)

http://aluigi.altervista.org/bms/unity.bms

-- 23 gru 2015, o 18:10 --

Pojawił się nowy program do obsługi UNITY 4 i 5. UnityEX

http://www.zoneofgames.ru/forum/index.p ... 6240&st=20

Link do pliku:

https://yadi.sk/d/m3vFWoQ3j62Cr

-- 9 lut 2016, o 23:30 --

Nowa wersja Unity Studio współpracująca z Unity 5!

https://github.com/RaduMC/UnityStudio/releases

-- 10 lut 2016, o 14:55 --

Unity Engine Patch And Unpacker 2.2
By. MiRiKan


Umożliwia wypakowanie plików assets Unity 4 i 5.
Do działania wymaga .net framework 4.5

Obsługa programu jest prosta. Wystarczy przeciągnąć i opuścić plik assets w oknie programu Unity4Decoder.exe.
Następnie wypakować potrzebne pliki, zmodyfikować, i ponownie spakować assets.
(Program przy wypakowaniu plików utworzy plik txt z danymi - nie należy go usuwać).

Wypakowane pliki zawierają oryginalne dane.

Plik UnityType49_unpack.exe służy do zmiany pliku Typ-49 na plik tekstowy.
Plik UnityType49_build.exe tworzy plik Typ-49 z pliku txt.

Więcej info na forum:

http://forum.xentax.com/viewtopic.php?f=10&t=12837

-- 10 lut 2016, o 15:22 --

Kolejnym programikiem do tworzenia czcionek dla Unity po Bitmap Font Generatorze jest HIERO.
Pozwala stworzyć z czcionki TTF pliki czcionki w formacie bitmapy + pliku w formacie Angel Code (tablica znaków w formacie XML, FNT lub BIN).
Program działa w środowisku Java.

Więcej info tutaj:
https://github.com/libgdx/libgdx/wiki/Hiero

Link do pobrania:

https://libgdx.badlogicgames.com/nightl ... -hiero.jar

-- 13 lut 2016, o 18:46 --

Minęło już prawie półtora roku od powstania poradnika. Cieszy mnie, że jest pomocny.
W tym czasie otrzymałem kilkanaście zapytań o pomoc zlokalizowania czcionki w grach na silniku Unity. W ciągu ostatniego miesiąca dwa pytania.
O ile znalezienie tekstu do tłumaczenia jest dość łatwe i nie sprawia problemów (chyba, że tekst jest zapisany na bitmapach - tex), to lokalizacja czcionki nie jest już taka oczywista i łatwa. Więc postanowiłem dokładniej zgłębić ten temat i napisać poradnik, który mam nadzieję pomoże przyszłym twórcom spolszczeń w poszukiwaniu "fontów" w grach na Unity. Poradnik pojawi się w ciągu kilku najbliższych dni.

-- 20 lut 2016, o 12:03 --

Czcionki w grach Unity

W grach opartych na silniku Unity zasadniczo występuje czcionka w formacie TrueType czyli TTF lub w formacie tekstury TEX (DDS) + tablicy znaków FNT. Każda gra może zawierać jeden rodzaj czcionki lub dwa rodzaje jednocześnie.

Powstało kilkanaście narzędzi, które służą do edycji, exportu i importu plików wewnątrz ASSETS, które już opisywałem w poradniku. W tej części opiszę te najbardziej funkcjonalne pod kontem poszukiwania czcionki i ich edycji oraz importu do pliku assets, oraz przede wszystkim te, które współpracują z silnikiem Unity 5 coraz bardziej popularnym. Praktycznie od ponad roku wszystkie nowe gry są oparte na Unity 5. Nie ma jednego, uniwersalnego narzędzia do wszystkiego. Niektóre funkcje opisywanych trzech narzędzi wzajemnie się uzupełniają. Do wypakowywania plików najlepiej używać Unity Studio 5 lub Unity EX w ostateczności Unity Assets Explorer v 1.5. Najbardziej funkcjonalny podgląd plików mamy w Unity Studio 5, gdyż w Unity Assets Explorer v 1.5 jest wprawdzie podgląd TEX, ale w małym okienku i przeglądanie działa dość wolno. Do importu plików najlepiej nadaje się UnityEX, w ostateczności dla DDS - Unity Assets Explorer v 1.5, brak importu w Unity Studio 5.

Uzupełnieniem wspomnianych powyżej narzędzi jest QuickBMS.

Strona główna: http://aluigi.altervista.org/quickbms.htm

Skrypt BMS obsługujący Unity: http://aluigi.altervista.org/bms/unity.bms

Zaletą skryptu BMS jest to, że możemy samodzielnie modyfikować sam skrypt, ale także Typy plików, dopisywać nowe (nierozpoznane przez inne programy) na potrzeby konkretnej gry. W ten sposób modyfikowałem skrypt na potrzeby Ori and The Blind Forest.
O konfiguracji QuickBMS i używaniu pisałem już wcześniej wiec odsyłam do odpowiedniej części poradnika.

Możliwe jest używanie dodatkowo innych narzędzi takich jak:

DisUnity - https://github.com/ata4/disunity/releases

AssetsBundleExtractor_1.8.1 - https://7daystodie.com/forums/showthrea ... -Extractor

Unity Assets Editor - https://7daystodie.com/forums/showthrea ... s-UAE-BETA

Jednak narzędzia na których się skupiłem powinny w zupełności wystarczyć.

Najważniejsze cechy podstawowych programów

Unity Studio 5 (Unity Studio v0.5.1b3)

- zalety programu to podgląd plików – TXT, XML, TEX, FNT, TrueType TTF w czasie rzeczywistym (nie zawsze wyświetla TEX Alpha8)
- możliwe wyszukiwanie konkretnych plików wewnątrz otwartego pliku assets lub folderu z plikami assets

- potrafi wypakować TTF bez nagłówka i stopki,
- możliwy podgląd czcionki,
- czcionka po wypakowaniu w folderze Font.
- pliki czcionki TTF w programie widoczne jako Type – Font
- brak podglądu „nagłówka” i „stopki, często ich nie wypakowuje

- potrafi wypakować TEX jako DDS,
- możliwy podgląd TEX,
- wyświetla informacje o pliku TEX.
- pliki po wypakowaniu w folderze Texture2D.
- pliki TEX w programie widoczne jako Type – Texture2D

- rozpoznaje FNT w formacie binarnym jako plik TTF, najczęściej w ogóle nie
wypakowuje tego typu pliku.
- pliki FNT w programie widoczne jako Type – Font, w formacie TXT i XML jako widoczny jako Type Text asset

UnityEX

- potrafi importować pliki o innym rozmiarze niż plik oryginalny.

- potrafi wypakować czcionkę TTF bez nagłówka i stopki.
- pliki czcionki w programie widoczne jako Type –128 (Font)
- „nagłówek” i „stopkę” wypakowuje jako TTF

- potrafi wypakować TEX bez konwersji na DDS,
- wyświetla informacje o pliku TEX.
- pliki TEX w programie widoczne jako Type 28 – (Texture2D)

-najlepiej radzi sobie z plikami FNT
-potrafi wypakować FNT w formacie binarnym jako TTF lub FNT, ale czasem jest wypakowywany pod nieznanym typem.
- pliki FNT binarne w programie widoczne jako Type – 128 (Font), w formacie TXT i XML jako widoczny jako Type 49 Text asset

Unity Assets Explorer v 1.5

- najbardziej przydatny przy eksporcie pojedynczych plików do TEX i DDS oraz import bezpośrednio z pliku DDS
- rozmiar importowanych plików musi być taki sam co oryginalnych

- często ma problemy z wypakowaniem czcionki,
- najczęściej wypakowuje plik TTF z nagłówkiem i stopką jako font_raw
- pliki czcionki w programie widoczne jako Type –128 (Font)
- „nagłówek” i „stopkę” wypakowuje jako trzy pliki: font_raw.debug i font_raw oraz font_raw.fnt.

- często ma problemy z wypakowaniem wszystkich plików od razu,
- pojedyncze pliki wypakowuje w dwóch formatach TEX i DDS ,
- wyświetla podstawowe informacje o pliku TEX,
- możliwy podgląd TEX w okienku (działa wolno),
- możliwy import pliku DDS lub TEX do assets.
- pliki TEX w programie widoczne jako Type 28 – (Texture2D)

- bardzo często ma problemy z wypakowaniem FNT w formacie binarnym i zapisuje je w postaci pliku: font_raw lub zapisuje pod nieznanym typem. (program się zawiesza)
- pliki FNT w programie widoczne jako Type – 128 (Font), , w formacie TXT i XML jako widoczny jako Type 49 Text asset

Każdą grę należy traktować indywidualnie, gdyż nigdy nie wiadomo jakie niespodzianki przygotował dla nas twórca danej gry.

Do poradnika dołączony jest zbiór przykładowych gier na silniku Unity z wypakowanymi czcionkami w każdym z trzech opisywanych programów w folderze Czcionki. W archiwum są też materiały pomocnicze i przykłady opisywane w poradniku dotyczącym czcionek w folderze Materialy, a w folderze Programy są opisywane narzędzia.

Materiały dodatkowe do poradnika:

https://www.dropbox.com/s/i1z7kfc1rl61y ... y.zip?dl=0

Czcionka w formacie TTF.

Zazwyczaj ten rodzaj czcionki występuje z pewnymi modyfikacjami, a mianowicie do czcionki TrueType TTF zostaje dodany „nagłówek” i „stopka”. Aby edytować taką czcionkę TTF, należy z wyeksportowanego pliku usunąć wspomniany „nagłówek” i „stopkę”.
W większości wypadków (nie zawsze) najnowsze wersje programów do edycji plików assets potrafią wypakować czcionkę TTF, bez wspomnianych: „nagłówka” i „stopki” i takie pliki TTF od razu nadają się do edycji.
Polskie czcionki z „nagłówkiem” i „stopką” były w Deus ex The Fall, Back to Bed free (2012), a czcionka TTF bez „nagłówka” i „stopki” jest w Back to Bed Steam Version.

Czcionka TTF w programach do edycji assets widoczna jest zazwyczaj jako Type – 128 (Font). Ale nie zawsze Type 128 (Font) jest czcionką TTF, o czym będzie mowa później.

Czasem zamiast czcionki TrueType TTF jest sam „nagłówek” i stopka” połączone w jeden plik, ale bez pliku czcionki – w Unity Assets Explorer otrzymujemy trzy pliki: font_raw.debug i font_raw oraz font_raw.fnt.

Ale co zrobić, kiedy mamy plik TTF z „nagłówkiem” i „stopką”, a żaden program nie wypakuje TTF bez tych „dodatków”. Możemy wyciąć „nagłówek” i „stopkę” w hex edytorze i je zapisać do osobnych plików. Do tego celu przyda się gotowa czcionka TruType TTF.

Jeśli zechcemy importować czcionkę, która miała w oryginale „dodatki” to w Unity Assets Explorer lub UnityEX po edycji TrueType TTF musimy do niego na nowo przykleić wcześniej zapisany „nagłówek” i „stopkę” np. – Back to bed Free (z 2012r). Nazwa czcionki najczęściej jest na końcu pliku w „stopce”.
Nie musimy dodawać „nagłówka” i „stopki” jeśli oryginalna czcionka ich nie miała - np. Back to bed Steam version.
Możemy pobrać gotową czcionkę ze strony z czcionkami. Wystarczy w „Google” poszukać odpowiedniej czcionki i pobrać na dysk komputera. Pobrany plik z Internetu możemy już edytować.

Przydatne strony z czcionkami:
http://www.cufonfonts.com/pl/basic-sans-serif-fonts
http://www.webpagepublicity.com/free-fonts-x.html
http://www.1001freefonts.com/
http://www.urbanfonts.com/fonts.php?fontauthor=2761
http://www.onlinewebfonts.com/

Polskie czcionki TTF:
http://fonty24.pl/c/67/polskie
http://grafmag.pl/artykuly/darmowe-font ... i-czesc-2/
http://www.fontsquirrel.com/fonts/list/language/polish

Jeszcze jedna ważna wiadomość. UnityEX potrafi importować do assets pliki o innym rozmiarze niż plik oryginalny. Jest to duża zaleta, gdyż możemy zaimportować czcionkę i innym rozmiarze niż oryginalna, zmienić rodzaj czcionki (nazwa musi pozostać taka jak oryginalnej czcionki). Po prostu możemy importować inną czcionkę z polskimi znakami, jeśli nie chcemy edytować oryginalnej czcionki.


Czcionka w formacie tektury TEX z tablicą znaków FNT

Tu sprawa może się już skomplikować. Czcionka jest zazwyczaj w formacie „TEX” – po wypakowaniu w UnityEX, lub „DDS” Microsoft DirectDraw Surface – po wypakowaniu w Unity Studio 5 lub Unity Assets Explorer v 1.5. Plik DDS możemy edytować w programie graficznym Adobe Photoshop lub Gimp (po pobraniu i zainstalowaniu odpowiednich wtyczek). Gimp ma czasem problem z otworzeniem DDS, jeśli plik znajduje się w folderze, którego nazwa zawiera polskie znaki lub spacje.

Większość opisywanych programów do edycji assets wyświetla ważne informacje na temat TEX (DDS), czyli rozmiar, rodzaj kompresji, format.. Format kompresji jest ważny przy późniejszym zapisie (exporcie) pliku do DDS po jego edycji.

Niektóre gry maja polskie czcionki TEX + FNT np.: Back to Bed free lub Ori and The Blind Forest.
O manualnej zamianie TEX na DDS i DDS na TEX już pisałem w poradniku więc nie będą już tego szczegółowo opisywał.

Możemy zamienić TEX na DDS w Unity Assets Explorer v 1.5 a DDS na TEX w programiku DDStoTEX lub manualne w Hex Edytorze TEX na DDS i odwrotnie DDS na TEX. W skrócie do pliku TEX trzeba wkleić na początku 56 bajtów (38 hex) nagłówka z pliku DDS o takim samym rozmiarze i kompresji lub formacie, aby powstał plik DDS, i analogicznie z pliku DDS należy usunąć pierwsze 56 bajtów, aby powstał plik TEX.

Unity Studio 5 pozwala na podgląd „TEX” bezpośrednio w programie, ale nie zawsze wyświetla wszystkie formaty, a zwłaszcza ma problemy z wyświetlaniem TEX w formacie Aplha8, a często w tym formacie są czcionki. I niestety jeśli plik czcionki będzie w formacie Alpha8 podczas przeglądania plików TEX w Unity Studio nie zobaczymy plików czcionki.

Istnieje inny sposób poszukiwania plików czcionki po zamianie TEX na DDS.

W tym celu kopiujemy wszystkie pliki „assets” wraz z plikami „resS” i „resources” do dowolnego folderu (najlepiej folder AssetsData). Następnie otwieramy folder w Unity Studio 5 - Z menu File – Load folder. Nie przeglądamy plików, tylko wybieramy sortowanie plików wg Type – Textute2D i zaznaczamy wszystkie pliki „Texture2D”. Pierwszy lewym przyciskiem myszy i ostatni z wciśniętym Swiftem także lewym przyciskiem myszy.
Po zaznaczeniu wszystkich TEX z menu Export assets wybieramy Export selected assets i wybieramy folder z plikami assets, który utworzyliśmy na początku. Pliki DDS pojawią się w folderze Texture2D. Gotowe DDS możemy przeglądać we wspomnianym już IrfanView, ale zalecam XnView, gdyż jest znacznie szybszy i raczej nie ma problemu z wyświetlaniem DDS, lub w innej przeglądarce obsługującej DDS.
W programie XnView otwieramy folder z plikami DDS po lewej stronie z drzewem folderów, po prawej stronie mamy podgląd miniatur, ale nie zawsze dobrze widać czcionki, wiec można przełączyć podgląd na cały ekran i przeglądać pliki zmieniając je Spacją.
W ten sposób dość szybko mamy szansą odnalezienia bez problemu czcionki w formacie TEX (DDS) w grze na silniku Unity, o ile czcionka w takim formacie jest w grze, którą przeszukujemy.

Bardzo często czcionki w grach na silniku Unity są w jednym i drugim formacie jednocześnie. Plik assets może zawierać pliki o nazwie Font Texture, ale nie zawsze jest to plik czcionki. Pliki czcionki o nazwie Font Texture są w Back to Bed free, Back to Bed Steam Version.

Pliki TEX(DDS) z czcionką i odpowiadające im pliki FNT zazwyczaj są w tym samym pliku assets.

Gdy już mamy zlokalizowane pliki TEX lub DDS z czcionką pozostaje znalezienie tablicy znaków FNT, która zazwyczaj jest w tym samym pliku assets co pliki TEX (DDS). Sprawa jest łatwiejsza, gdy tablica jest w formacie TXT lub XML. W programach do edycji assets typ może być widoczny jako Type Text asset. Unity Studio pozwala na podgląd FNT w formacie tekstowym lub XML. Z edycją też nie ma problemu i dodam że podmieniamy kod starej litery na kod nowej (zazwyczaj kodowanie Unicode – przy kodowaniu tekstu UTF-8). Kodowanie znaków w FNT tekstowym TXT i XML musi odpowiadać kodowaniu znaków w plikach z tekstem gry. FNT w formacie TXT jest w Deus EX The Fall.
Przy edycji FNT może być pomocna tabela z kodowaniem polskich znaków w różnych standardach:

https://pl.wikipedia.org/wiki/Kodowanie ... nak%C3%B3w

Sprawa się nieco komplikuje, gdy FNT jest w formacie binarnym. Samo odnalezienie tablicy znaków FNT w formacie BIN (binarnym) może przysporzyć pewnych trudności. Większość opisywanych programów nie rozpoznaje poprawnie tego typu pliku, a Unity Studio bardzo często ich nawet nie wypakowuje..

Najlepiej pliki assets, w których znaleźliśmy piliki TEX (DDS) z czcionką wypakować w całości za pomocą UnityEX lub ewentualnie za pomocą Unity Studio 5 (nie zawsze wypakowuje pliki FNT). Następnie jeśli nasz plik TEX ma konkretną nazwę to tej nazwy (czasem wystarczy początek - jedno lub dwa słowa) szukamy wewnątrz wypakowanych plików. Pliki FNT w formacie binarnym zazwyczaj, ale nie zawsze na początku mają zapisane jakiego pliku dotyczą i znając nazwę pliku TEX (DDS) możemy dość łatwo zlokalizować odpowiedni plik FNT. Nazwy pliku FNT szukamy też po nazwach wypakowanych plików bądź w programie pod typem – Font, lub w folderze – pliki TTF.
Nieco trudniej jest, gdy pliki TEX (DDS) mają nazwę Font Texture. Wtedy, o ile nie mamy wypakowanych gotowych plików FNT, szukamy w plikach wypakowanych przez, każdy z programów plików o rozszerzeniu TTF, FNT, Font_Raw itp.
O wyszukiwaniu wewnątrz plików lub nazw plików za pomocą Total Commandera lub Notepad++ pisałem wcześniej na początku poradnika.
Potem musimy jeszcze dopasować pliki FNT do odpowiednich plików Font Texture, ale o tym opowiem później, przy omawianiu edycji FNT w formacie binarnym.

FNT w formacie binarnym z nierozpoznanym typem jest w: Creativerse i Ori and The Blind Forest, a FNT rozpoznane jako TTF w: Back to Bed free, Back to Bed Steam Version.

O edycji FNT w formacie BIN opowiem w kolejnej części poradnika.

Innym możliwym rozwiązaniem (nie zawsze działa) jest stworzenie czcionki TEX (DDS) z plikiem FNT z czcionki TrueType TTF. Może być to czcionka o tej samej nazwie co czcionka w grze lub inna z polskimi znakami. Za pomocą Bitmap Font Generator, o którym wspominałem lub innego programu tego typu można wygenerować nową czcionkę w formacie DDS + FNT z polskimi znakami (jeśli w czcionce TTF nie ma polskich znaków możemy je dodać lub wygenerować DDS + FNT z innej czcionki, która ma polskie znaki). Stron z polskimi „fontani” TTF i OTF jest dużo w Internecie (podałem kilka adresów internetowych przy omawianiu czcionek TTF).
W Bitmap Font Generator plik FNT zapisujemy w potrzebnym formacie: TXT, XML lub BIN i eksportujemy pod nazwą oryginalnego pliku FNT czcionki z gry (to samo dotyczy nazwy pliku TEX).
Po wygenerowaniu pliku DDS otwieramy go w programie Adobe Photoship lub Gimp i odwracamy o 180 stopni „do góry nogami” (grafika w grach Unity jest odwrócona o 180 stopni), a następnie zapisujemy w takim formacie jaki wyświetlał program do edycji Assets dla oryginalnej czcionki z gry.
Dla Aplha8 w Gimie wybieramy jako format - A8.

Inne narzędzia o podobnej funkcjonalności programu do Bitmap Font Generator (moim zdaniem ten jest najbardziej funkcjonalny) to:

Littera – darmowa aplikacja web (online) - http://kvazars.com/littera/
ShoeBox – darmowe narzędzie napisane w Adobe Air - http://renderhjs.net/shoebox/
Hiero - narzędzie open source w Javie - https://github.com/libgdx/libgdx/wiki/Hiero
Załączniki
Unity4Decoder2.2.zip
Unity4Decoder2.2
(13.53 KiB) Pobrany 321 razy
UnityEX.rar
UnityEx
(243.32 KiB) Pobrany 408 razy
GIMP warstwa z DDS Unity Assets Explorer.jpg
GIMP otwarta warstwa z plikiem DDS z UAE
GIMP DDS z HxD.jpg
GIMP otwarty plik DDS z HxD
Błąd widoczny w Unity Studio.jpg
Błąd podczas importu pliku DDS po konwersji w UAE.
Efekt prac w Unity Studio.jpg
Końcowy efekt prac widoczny w Unity studio
GIMP eksport do DDS.jpg
GIMP eksport gotowego pliku do DDS
GIMP warstwa z DDS Unity Assets Explorer.jpg
GIMP otwarta warstwa z plikiem DDS z UAE
GIMP DDS z HxD.jpg
GIMP otwarty plik DDS z HxD
HxD portable PL.zip
HxD w wersji Polskiej
(813.59 KiB) Pobrany 282 razy
HxD dds.jpg
HxD tex.jpg
TC Zniana nazwy pliku.jpg
Zmiana nazwy plików
TC Podziel plik.jpg
Dzielenie pliku w Total Commanderze

Awatar użytkownika
sb8gapi
Posty: 401
Rejestracja: 13 lip 2013, o 21:13

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unity

Postautor: sb8gapi » 5 sty 2017, o 21:50

Pliki FNT w formacie binarnym.

Edycja ego typu plików jest nieco bardziej skomplikowana, niż edycja fnt w postaci pliku txt lub xml.
Najlepiej edytować takie pliki w edytorze Heksadecymalnym (ja używam: Free Hex Editor Neo (nie jest w pełni darmowy), ale możne innego w pełni darmowego: HxD lub xvi32). Ja wybrałem Free Hex Editor Neo, bo ma obsługę Unicode - Utf-8.

Podobnie jak w plikach FNT w formacie txt lub xml należało zamienić kod litery.
Np: jeśli zamienialiśmy "ç" w dds na "ć", to w pliku xml lub txt trzeba było zmienić kod litery z: 231 na 263. I analogicznie dla pozostałych liter.
W FNT w formacie binarnym trzeba zrobić to samo. Z tą różnicą, że tutaj kody liter (znaków) zapisane są szesnastkowo.
Czyli litera "ç" szesnastkowo to: e7, a "ć" to: 0107, więc szukamy w pliku "e7" i zamieniamy na "0701" (ważne, żeby wpisać w ten sposób).
I tak dla pozostałych liter.
Jeszcze jedna ważna rzecz. W pliku FNT w formacie binarnym każdy znak czy litera zajmuje w pliku określoną ilość bajtów, która jest stała.
W innych plikach może być to mniej lub więcej.
Rozpoczyna się kodem znaku a potem są wartości konfiguracyjne dla danego znaku, takie same jak w plikach txt lub xml.

Do rozpoznawania kodów liter przydatna jest np ta strona:
https://unicode-table.com/en/


Najlepiej jak pokażę to na przykładach.

W grze Dungeon of the Endless jest właśnie FNT w formacie bin.
Czcionki są w plikach: sharedassets3.assets i sharedassets4.assets.
Przykładowa czcionka to: Fontin.
Pliki fnt mają rozszerzenie "-1".
Aby odszukać te pliki szukałem frazy "Fontin", czyli nazwy czcionki.
W pliku: sharedassets3_00001.-1 szukamy "e7" i zamieniamy na "0701".
Rozpoczyna się od offsetu: 194c.
Litera i dane konfiguracyjne zajmują: 60 bajtów.
Załączniki
FNT_BIN.jpg
FNT w formacie bin.

Awatar użytkownika
GreenScream
Posty: 76
Rejestracja: 15 lut 2015, o 17:41
Grupa: ReWord

Re: [PORADNIK] Unity Assets Explorer, czyli edycja gier Unity

Postautor: GreenScream » 6 sty 2017, o 17:08

Dla zainteresowanych: razem z sb8gapi jesteśmy w takcie tworzenia aktualizacji poradnika, aby poprawić czytelność.

Powstanie również wersja PDF z bogatszą szatą graficzną i dodatkowymi instrukcjami.

ETA: When It's Done™


Wróć do „Poradniki”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości