Vad är en U3D fil?
U3D (Universal 3D) är ett komprimerat filformat och datastruktur för 3D-datorgrafik. Den innehåller 3D-modellinformation som triangelnät, belysning, skuggning, rörelsedata, linjer och punkter med färg och struktur. Formatet accepterades som ECMA-363 standard i augusti 2005. 3D PDF dokument stöder U3D objekt som bäddas in och kan visas i Adobe Reader (version 7 och senare).
U3D-formatet utvecklades med syftet att etablera en universell standard för tredimensionell datalagring och utbyte. Formatet finner dock sin huvudsakliga användning i kodning för 3D PDF snarare än att användas som ett utbytesformat. Acrobat 3D konverterar en 3D-filtyp som stöds till antingen U3D eller PRC vid konvertering till PDF.
U3D filformat
U3D-filer är i binärt filformat som genomgick fyra utgåvor enligt beskrivningen av referensdokumentet ECMA-363, vilket resulterade i uppdatering av specifikationerna med varje upplaga. PDF-filstandarden ISO-32000 accepterar U3D som tillåten anteckning och multimediatyp.
Den första utgåvan av U3D var fokuserad på nyckelrepresentationerna av 3D-grafikegenskaper som geometri, färg, texturer, belysning, ben och transformationsbaserad animation. Den andra och tredje utgåvan korrigerade vissa fel i den första utgåvan, där tredje versionen var den vanligaste typen i industriprogramvara. Den fjärde upplagan ger definitioner för primitiver av högre ordning (krökta ytor). U3D-specifikationer finns tillgängliga online för användarreferens på ECMA:s webbplats.
Datatyper i U3D-filer
Den binära filen kommer att innehålla följande typer: U8, U16, U32, U64, I16, I32, F32, F64 och String.
- U8 : Ett 8-bitars heltal utan tecken
- U16 : Ett 16 bitars heltal utan tecken
- U32 : Ett 32-bitars heltal utan tecken
- U64 : Ett 64-bitars heltal utan tecken
- I16 : Ett 16-bitars heltal med tecken
- F32: En IEEE enkel precisionsflottör.
- F64: En IEEE dubbel precisionsflytare.
- Sträng: Strängar i en U3D-fil börjar med ett osignerat 16-bitars heltal som definierar den totala längden på tecknen i strängen. Strängar behandlas alltid som skiftlägeskänsliga.
U3D-filstruktur
En U3D-fil innehåller en sekvens av block. Det finns 3 olika typer av ett block i varje U3D-fil.
- Filhuvudblock
- Deklarationsblock
- Fortsättningsblock
Laddaren bestämmer slutet på ett block om data i det blocket inte krävs eller om en avkodare för den blocktypen inte är tillgänglig.
Filhuvudblock
Ett filhuvudblock innehåller filinformation som används av den laddade för att bestämma hur filen ska läsas.
Deklarationsblock
Deklarationsblocken innehåller information om objekten i filen. Objekten i ett deklarationsblock måste definieras.
Fortsättningsblock
Ytterligare information för objekt som deklareras i ett deklarationsblock finns i fortsättningsblocket. Varje fortsättningsblock måste vara associerat med ett deklarationsblock.