Hva er UNITY3D-filformatet?
En .unity3d-fil er et 3D-spilldataarkiv som lagrer data for nettleserspill som krevde programtillegget Unity Web Player for å kjøre. Denne filtypen ble brukt til å distribuere spill bygget med Unity-motoren til nettet. En enkelt .unity3d inneholder kompilert spillkode inkludert miljødata, ressurser, objekter, teksturer, animasjoner, belysning og lyd - pakket som en binær serialisert beholder.
Internt starter .unity3d-filer med ASCII-taggen UnityWeb ved byte-offset 0 (eldre komprimerte strømmede bygg) eller UnityFS for nyere varianter, etterfulgt av en versjonsstreng. Dette beholderformatet utviklet seg senere til Unity AssetBundle (.bundle), som deler samme serialiseringsmetode og fortsatt er i aktiv bruk.
.unity3d-formatet er et proprietært format skapt av Unity Technologies og brukes av spillmotoren Unity. Unity Web Player - nettlesertillegget som kreves for å åpne .unity3d-filer - ble faset ut med Unity 5.4 i 2016, hvoretter nettleserleverandører fjernet NPAPI-støtte fullstendig. Som et resultat kan ikke .unity3d-filer spilles av i noen moderne nettleser. Eldre filer kan fortsatt inspiseres eller pakkes ut ved hjelp av fellesskapsverktøy som AssetStudio.
Sikkerhet og trygghet
RISIKO: MEDIUMEn .unity3d er data som lastes av Unity-kjøretiden, men den kan inneholde kompilerte skript (spillkode), så en ondsinnet eller manipulert bunt lastet av en Unity-app er ikke helt inert. Den største praktiske risikoen er det omkringliggende økosystemet: Unity Web Player-tillegget er dødt og ikke sikkerhetsoppdatert, så installer det ALDRI på nytt eller kjør en gammel NPAPI-nettleser for å spille disse filene. Pakk ut ressurser i et sandkasseverktøy (AssetStudio) i stedet for å kjøre ukjente bunter, og hent kun spill fra kilder du stoler på.
Formatdetaljer
i et nøtteskallProgrammer som åpner UNITY3D-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | application/vnd.unity |
| Filsignatur | ASCII «UnityWeb» ved byte-offset 0 (komprimert strømmet bygg); nyere varianter starter med «UnityFS» |
| Byterekkefølge | Big-endian - Unitys eldre serialisator lagrer flerbtye-heltall i big-endian-rekkefølge |
| Komprimering | LZMA som standard for Web Player-strømmede bygg; senere Unity-buntvarianter støtter også LZ4 og ukomprimerte moduser |
| Beholderstruktur | Proprietær binær beholder; ikke ZIP-basert - ressurser og deres avhengighetsgraf er lagret i et flatt serialisert oppsett |
| Ressurstyper | Scener, meshes, teksturer, lydklipp, shadere, kompilerte skript (Mono-bytekode) og animasjonsdata |
| Skriptlagring | Kompilert Mono C#-bytekode - kildebilfiler er ikke inkludert; skript er bakt inn i bunten under Unity-byggingsprosessen |
| Teksturkomprimering | Teksturer innebygd i DXT (stasjonær), ETC (mobil) eller andre plattformspesifikke GPU-komprimerte formater |
| Leveringsmodell | Designet for HTTP-strømming; filhodet analyseres først slik at ressurser kan begynne å lastes før hele nedlastingen er fullført |
| Etterfølgerformat | Unity AssetBundle (.bundle / .assetbundle) - deler samme serialiseringskjerne og erstattet .unity3d etter at Unity Web Player ble avviklet |
| Utfasing | Unity Web Player - den eneste kjøretiden som kan åpne .unity3d i nettleseren - ble avviklet i Unity 5.4 (2016); ingen moderne nettleser støtter det |
| Utvikler | Unity Technologies (San Francisco, CA); formatet er proprietært og ikke offentlig dokumentert |
| Utgitt | Mid-2000s with the Unity Web Player; Web Player deprecated with Unity 5.4 (2016) |
| Spesifikasjon | docs.unity3d.com |