Co to jest format pliku UNITY3D?
Plik .unity3d to archiwum danych gier 3D, które przechowuje dane dla gier przeglądarkowych wymagających do działania wtyczki Unity Web Player. Ten typ pliku był używany do wdrażania gier zbudowanych w silniku Unity w sieci Web. Pojedynczy plik .unity3d zawiera skompilowany kod gry, w tym dane środowiska, zasoby (assets), obiekty, tekstury, animacje, oświetlenie i dźwięk - spakowane jako binarny kontener serializowany.
Wewnętrznie pliki .unity3d zaczynają się od znacznika ASCII UnityWeb na offsetcie bajtowym 0 (starsze skompresowane kompilacje strumieniowe) lub UnityFS w przypadku nowszych wariantów, po których następuje ciąg wersji. Ten format kontenera ewoluował później w Unity AssetBundle (.bundle), który korzysta z tego samego podejścia do serializacji i jest nadal w aktywnym użyciu.
Format .unity3d jest formatem własnościowym stworzonym przez Unity Technologies i jest używany przez silnik gier Unity. Unity Web Player - wtyczka do przeglądarki wymagana do otwierania plików .unity3d - została wycofana wraz z Unity 5.4 w 2016 roku, po czym dostawcy przeglądarek całkowicie porzucili wsparcie dla wtyczek NPAPI. W rezultacie plików .unity3d nie można odtwarzać w żadnej nowoczesnej przeglądarce. Starsze pliki można nadal przeglądać lub wypakowywać za pomocą narzędzi społecznościowych, takich jak AssetStudio.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .unity3d to dane ładowane przez środowisko uruchomieniowe Unity, ale może zawierać skompilowane skrypty (kod gry), więc złośliwa lub zmodyfikowana paczka załadowana przez aplikację Unity nie jest całkowicie obojętna. Większym ryzykiem praktycznym jest otaczający ekosystem: wtyczka Unity Web Player jest martwa i nie posiada łatek bezpieczeństwa, więc NIGDY nie instaluj jej ponownie ani nie uruchamiaj starej przeglądarki z NPAPI, aby grać w te pliki. Wyodrębniaj zasoby w bezpiecznym narzędziu (AssetStudio) zamiast uruchamiać nieznane paczki i pobieraj gry tylko z zaufanych źródeł.
Szczegóły formatu
w pigułceProgramy otwierające pliki UNITY3D
Szczegóły techniczne
specyfikacja| Typ MIME | application/vnd.unity |
| Sygnatura pliku | ASCII „UnityWeb” na offsetcie bajtowym 0 (skompresowana kompilacja strumieniowa); nowsze warianty zaczynają się od „UnityFS” |
| Kolejność bajtów | Big-endian - starszy serializator Unity przechowuje wielobajtowe liczby całkowite w kolejności big-endian |
| Kompresja | Domyślnie LZMA dla kompilacji strumieniowych Web Player; późniejsze warianty paczek Unity obsługują również LZ4 i tryby nieskompresowane |
| Struktura kontenera | Własnościowy kontener binarny; nieoparty na ZIP - zasoby i ich graf zależności są przechowywane w płaskim układzie serializowanym |
| Typy zasobów | Sceny, siatki, tekstury, klipy audio, shadery, skompilowane skrypty (kod bajtowy Mono) i dane animacji |
| Przechowywanie skryptów | Skompilowany kod bajtowy Mono C# - pliki źródłowe nie są dołączone; skrypty są „wypiekane” w paczce podczas procesu budowania w Unity |
| Kompresja tekstur | Tekstury osadzone w formatach DXT (desktop), ETC (mobile) lub innych natywnych dla platformy formatach kompresji GPU |
| Model dostarczania | Zaprojektowany do strumieniowania HTTP; nagłówek pliku jest analizowany jako pierwszy, dzięki czemu zasoby mogą zacząć się ładować przed zakończeniem pełnego pobierania |
| Następca formatu | Unity AssetBundle (.bundle / .assetbundle) - współdzieli ten sam rdzeń serializacji i zastąpił .unity3d po wycofaniu Unity Web Player |
| Wycofanie | Unity Web Player - jedyne środowisko uruchomieniowe mogące otwierać .unity3d w przeglądarce - zostało wycofane w Unity 5.4 (2016); żadna nowoczesna przeglądarka go nie obsługuje |
| Deweloper | Unity Technologies (San Francisco, CA); format jest własnościowy i nie posiada publicznej dokumentacji |
| Wydano | Mid-2000s with the Unity Web Player; Web Player deprecated with Unity 5.4 (2016) |
| Specyfikacja | docs.unity3d.com |