Hvad er UNITY3D-filformatet?
En .unity3d-fil er et 3D-spildataarkiv, der gemmer data til browserspil, som krævede Unity Web Player-pluginnet for at køre. Denne filtype blev brugt til at distribuere spil bygget med Unity-motoren til nettet. En enkelt .unity3d indeholder kompileret spilkode, herunder miljødata, aktiver, objekter, teksturer, animationer, belysning og lyd - pakket som en binær serialiseret container.
Internt starter .unity3d-filer med ASCII-tagget UnityWeb ved byte-forskydning 0 (ældre komprimerede streamede builds) eller UnityFS for nyere varianter, efterfulgt af en versionsstreng. Dette containerformat udviklede sig senere til Unity AssetBundle (.bundle), som deler den samme serialiseringstilgang og stadig er i aktiv brug.
.unity3d-formatet er et proprietært format skabt af Unity Technologies og bruges af Unity-spilmotoren. Unity Web Player - det browser-plugin, der kræves for at åbne .unity3d-filer - blev udfaset med Unity 5.4 i 2016, hvorefter browserproducenter droppede NPAPI-plugin-understøttelse helt. Som følge heraf kan .unity3d-filer ikke afspilles i nogen moderne browser. Ældre filer kan stadig inspiceres eller udtrækkes ved hjælp af community-værktøjer som AssetStudio.
Sikkerhed og tryghed
RISIKO: MEDIUMEn .unity3d er data, der indlæses af Unity-runtimen, men den kan indeholde kompilerede scripts (spilkode), så et ondsindet eller manipuleret bundle indlæst af en Unity-app er ikke rent inert. Den største praktiske risiko er det omgivende økosystem: Unity Web Player-pluginnet er dødt og ikke opdateret, så geninstaller det ALDRIG eller kør en gammel NPAPI-browser for at spille disse filer. Udtræk aktiver i et sandboxed værktøj (AssetStudio) i stedet for at eksekvere ukendte bundles, og hent kun spil fra kilder, du har tillid til.
Formatdetaljer
kort fortaltProgrammer der åbner UNITY3D-filer
Tekniske detaljer
dyb specifikation| MIME-type | application/vnd.unity |
| Filsignatur | ASCII «UnityWeb» ved byte-forskydning 0 (komprimeret streamet build); nyere varianter begynder med «UnityFS» |
| Byte-rækkefølge | Big-endian - Unitys legacy-serialisator gemmer multi-byte heltal i big-endian rækkefølge |
| Komprimering | LZMA som standard for Web Player streamede builds; senere Unity bundle-varianter understøtter også LZ4 og ukomprimerede tilstande |
| Containerstruktur | Proprietær binær container; ikke ZIP-baseret - aktiver og deres afhængighedsgraf gemmes i et fladt serialiseret layout |
| Aktivtyper | Scener, meshes, teksturer, lydklip, shadere, kompilerede scripts (Mono-bytecode) og animationsdata |
| Script-lagring | Kompileret Mono C#-bytecode - kilde-filer er ikke inkluderet; scripts bages ind i bundlet under Unity-build-processen |
| Teksturkomprimering | Teksturer indlejret i DXT (desktop), ETC (mobil) eller andre platform-native GPU-komprimerede formater |
| Leveringsmodel | Designet til HTTP-streaming; filhovedet parses først, så aktiver kan begynde at indlæses, før den fulde download er færdig |
| Efterfølgerformat | Unity AssetBundle (.bundle / .assetbundle) - deler den samme serialiseringskerne og erstattede .unity3d efter Unity Web Player blev indstillet |
| Udfasning | Unity Web Player - den eneste runtime, der kan åbne .unity3d i browseren - blev indstillet i Unity 5.4 (2016); ingen moderne browser understøtter det |
| Udvikler | Unity Technologies (San Francisco, CA); formatet er proprietært og ikke offentligt dokumenteret |
| Udgivet | Mid-2000s with the Unity Web Player; Web Player deprecated with Unity 5.4 (2016) |
| Specifikation | docs.unity3d.com |