glTF 2.0

Referens

Kategori:

Import och export

Meny:

Arkiv ‣ Import/Export ‣ glTF 2.0 (.glb, .gltf)

Aktivering av tillägg

Detta tillägg är aktiverat som standard, ifall det inte är det:

  1. Öppna Blender och gå till avsnittet Tillägg i Inställningar.

  2. Sök efter ”glTF 2.0” och markera kryssrutan Enable Extension.

Användning

glTF™ (GL Transmission Format) används för överföring och laddning av 3D-modeller i webb- och native-applikationer. glTF minskar storleken på 3D-modeller och den runtime-processning som krävs för att packa upp och rendera dessa modeller. Detta format används ofta på webben och har stöd i olika 3D-motorer som Unity3D, Unreal Engine 4 och Godot.

Denna importör/exportör har stöd för följande glTF 2.0-funktioner:

  • Maskor

  • Material (Principled BSDF) och skugglös (Unlit)

  • HD-TEXTURER

  • Kameror

  • Punktbelysning (punkt-, spot- och riktad belysning)

  • Tillägg (listas nedan)

  • Extras (anpassade egenskaper)

  • Animering (keyframe, shape key och skinning)

Maskor

glTF:s interna struktur efterliknar de minnesbuffertar som vanligtvis används av grafikchip vid rendering i realtid, så att tillgångar kan levereras till skrivbords-, webb- eller mobilklienter och visas omedelbart med minimal bearbetning. Som ett resultat konverteras kvadrater och n-goner automatiskt till trianglar när de exporteras till glTF. Diskontinuerliga UV-ytor och plattskuggade kanter kan resultera i måttligt högre antal vertex i glTF jämfört med Blender, eftersom sådana vertex separeras vid export. På samma sätt bevaras inte kurvor och andra data som inte är maskor, utan måste konverteras till maskor före export.

GPU-instanser

När alternativet är aktiverat i Exporter exporteras instanser med hjälp av tillägget EXT_mesh_gpu_instancing. Det finns vissa begränsningar vid export:

  • Instanser måste vara maskor och har inte själva några barn

  • Instanser måste alla vara barn till samma objekt.

  • Detta tillägg hanterar inte materialvariation. Det innebär att den genererade filen kan innehålla alla instanser med samma material.

  • Instanser som upptäcks är objekt som delar samma mesh-data.

Vid import skapas instanser genom att skapa objekt som delar samma mesh-data.

Material

Det centrala materialsystemet i glTF stöder ett metall/genomskinligt PBR-arbetsflöde med följande informationskanaler:

  • Basfärg

  • Metallisk

  • Grovhet

  • Bakad omgivande ocklusion

  • Normalkarta (tangentutrymme, +Y uppåt)

  • Emissiv

Vissa ytterligare materialegenskaper eller materialtyper kan uttryckas med hjälp av glTF-tillägg. Den fullständiga listan finns i Extensions delen av denna dokumentation.

../../_images/addons_import-export_scene-gltf2_material-channels.jpg

Ett exempel på de olika bildkartor som finns tillgängliga i kärnformatet glTF 2.0. Detta är vattenflaskans provmodell som visas tillsammans med utsnitt av dess olika bildkartor.

Importerade material

GlTF-materialsystemet skiljer sig från Blenders egna material. När en glTF-fil importeras kommer tillägget att konstruera en uppsättning Blender-noder för att replikera varje glTF-material så nära som möjligt.

Importören stöder Metal/Rough PBR (core glTF), Spec/Gloss PBR (KHR_materials_pbrSpecularGlossiness) och vissa tilläggsmaterial. Den fullständiga listan finns i Extensions del av denna dokumentation.

Tips

Att undersöka resultatet av materialimportprocessen är ett bra sätt att se exempel på de typer av materialnoder och inställningar som kan exporteras till glTF.

Exporterade material

Exportören stöder Metal/Rough PBR (core glTF) och Shadeless (KHR_materials_unlit) material. Den konstruerar ett glTF-material baserat på de noder som den känner igen i Blender-materialet. Materialexportprocessen hanterar de inställningar som beskrivs nedan.

Observera

När bildtexturer används av material kräver glTF att bilderna är i PNG- eller JPEG-format. Tillägget konverterar automatiskt bilder från andra format, vilket ökar exporttiden.

Basfärg

GlTF-basfärgen bestäms genom att leta efter en basfärgsingång på en Principled BSDF-nod. Om ingången inte är ansluten används ingångens standardfärg (färgfältet bredvid den oanslutna kontakten) som basfärg för glTF-materialet.

../../_images/addons_import-export_scene-gltf2_material-base-color-solid-green.png

En solid basfärg kan anges direkt på noden.

Om en Image Texture-nod är ansluten till ingången Base Color, kommer den bilden att användas som glTF-basfärg.

../../_images/addons_import-export_scene-gltf2_material-base-color-image-hookup.png

En bild används som basfärg för glTF.

Om ingen textur är ansluten kan basfärgen anges:

  • Från Principled BSDF-nodens Base Color-ingång, som är standard.

  • Från en RGB-nod som är ansluten till ingången Base Color.

  • Från en Ambiant Occlusion-nod ansluten till Base Color-ingången. (AO-uttaget används inte i glTF, men färgutgången kan användas som basfärg)

../../_images/addons_import-export_scene-gltf2_material-base-color.png

Metallisk och grovhet

Dessa värden läses från Principled BSDF-noden. Om båda dessa ingångar inte är anslutna kommer noden att visa reglage för att styra deras respektive värden mellan 0,0 och 1,0, och dessa värden kommer att kopieras till glTF.

När en bild används förväntar sig glTF att metallvärdena ska kodas i den blå (B) kanalen och att ojämnheten ska kodas i den gröna (G) kanalen i samma bild. Om bilder ansluts till Blender-noden på ett sätt som inte följer denna konvention, kan tilläggsprogrammet försöka anpassa bilden till rätt form under exporten (med en ökad exporttid).

I Blenders nodträd rekommenderas det att använda en Separate RGB-nod för att separera kanalerna från en Image Texture-nod och ansluta den gröna (G) kanalen till Roughness och den blå (B) till Metallic. GlTF-exportören kommer att känna igen detta arrangemang som matchande glTF-standarden, och det kommer att göra det möjligt att helt enkelt kopiera bildtexturen till glTF-filen under exporten.

Image Texture-noden för detta bör ha sin Color Space inställd på Non-Color.

../../_images/addons_import-export_scene-gltf2_material-metal-rough.png

En bild av metallisk/råhet som är ansluten på ett sätt som överensstämmer med glTF-standarden, vilket gör att den kan användas ordagrant i en exporterad glTF-fil.

Bakad omgivande ocklusion

glTF kan lagra en bakad ambient occlusion-karta. För närvarande finns det inget arrangemang av noder som får Blender att använda en sådan karta på exakt samma sätt som det är tänkt i glTF. Men om exportören hittar en anpassad nodgrupp med namnet glTF Material Output och hittar en ingång med namnet Occlusion i den nodgruppen, kommer den att leta efter en Image Texture som är kopplad till den och använda den som ocklusionskarta i glTF. Effekten behöver inte visas i Blender, eftersom Blender har andra sätt att visa omgivande ocklusion, men den här metoden gör det möjligt för exportören att skriva en ocklusionsbild till glTF. Detta kan vara användbart för glTF-tittare i realtid, särskilt på plattformar där det kanske inte finns reservkraft för att beräkna sådana saker vid renderingstiden.

../../_images/addons_import-export_scene-gltf2_material-occlusion-only.png

En färdigbakad karta över omgivande ocklusion, ansluten till en nod som inte renderar men exporterar till glTF.

Tips

Om du aktiverar tillägg för skuggredigerare i inställningarna kommer du att kunna lägga till den här anpassade nodgruppen från Menu: Lägg till > Utdata > glTF-materialutdata

../../_images/addons_import-export_scene-gltf2_addon-preferences-shader.png

glTF lagrar ocklusion i den röda (R) kanalen, vilket gör att den eventuellt kan dela samma bild med kanalerna för ojämnhet och metall.

../../_images/addons_import-export_scene-gltf2_material-orm-hookup.png

Denna kombination av noder efterliknar det sätt på vilket glTF packar ocklusions-, grovhets- och metallvärden i en enda bild.

Tips

Cycles renderingsmotor har en Bake-panel som kan användas för att baka ambient occlusion maps. Den resulterande bilden kan sparas och anslutas direkt till noden glTF Material Output.

Normal karta

Om du vill använda en normalkarta i glTF ansluter du en Image Texture-nods färgutgång till en Normal Map-nods färginmatning och ansluter sedan Normal Map-normalutgången till Principled BSDF-nodens normalinmatning. Image Texture-noden för detta bör ha egenskapen Color Space inställd på Non-Color.

Normal Map-noden måste behålla sin standardegenskap Tangent Space eftersom detta är den enda typ av normalkarta som för närvarande stöds av glTF. Normalkartans styrka kan justeras på den här noden. Exportören exporterar inte dessa noder direkt, men använder dem för att hitta rätt bild och kopierar inställningen för styrkan till glTF.

../../_images/addons_import-export_scene-gltf2_material-normal.png

En normal kartbild som är ansluten så att exportören hittar den och kopierar den till glTF-filen.

Tips

Renderingsmotorn Cycles har en Bake-panel som kan användas för att baka normalkartor för tangentrymden från nästan alla andra arrangemang av normalvektornoder. Byt Bake-typ till Normal. Behåll standardinställningarna för utrymme (utrymme: Tangent, R: +X, G: +Y, B: +Z) när du använder den här bakningspanelen för glTF. Den resulterande bakade bilden kan sparas och kopplas till ett nytt material med hjälp av Normal Map-noden enligt beskrivningen ovan, så att den kan exporteras korrekt.

Se: Cycles Render Baking

Emissiv

En Image Texture-nod kan anslutas till Emission-ingången på Principled BSDF-noden för att inkludera en emissiv karta med glTF-materialet. Alternativt kan Image Texture-noden anslutas till en Emission Shader-nod och eventuellt kombineras med egenskaper från en Principled BSDF-nod med hjälp av en Add Shader-nod.

Om den emissiva kartan är ensam i materialet är det bäst att ställa in Base Color som standard till svart och Roughness som standard till 1.0. På så sätt minimeras påverkan från de andra kanalerna om de inte behövs.

../../_images/addons_import-export_scene-gltf2_material-emissive.png

Detta arrangemang stöds för bakåtkompatibilitet. Det är enklare att använda Principled BSDF-noden direkt.

Om någon komponent i emissiveFactor är > 1.0, kommer tillägget KHR_materials_emissive_strength att användas.

Klarlack

När Clearcoat-ingången på Principled BSDF-noden har ett standardvärde som inte är noll eller en Image Texture-nod ansluten, kommer glTF-tillägget KHR_materials_clearcoat att inkluderas i exporten. Detta tillägg kommer också att inkludera ett värde eller en bildtextur från ingången Clearcoat Roughness om det finns tillgängligt.

Om Image Textures används kräver glTF att clearcoat-värdena skrivs till den röda (R) kanalen och Clearcoat Roughness till den gröna (G) kanalen. Om monokroma bilder är anslutna kommer exportören att mappa om dem till dessa färgkanaler.

Inmatningen Clearcoat Normal accepterar samma typer av inmatningar som basinmatningen Normal, särskilt en normalkarta för tangentrymden med +Y upp och en användardefinierad styrka. Denna indata kan återanvända samma normalkarta som basmaterialet använder, eller tilldelas sin egen normalkarta, eller lämnas bortkopplad för en slät beläggning.

Alla Image Texture-noder som används för skuggning av klarlack bör ha sin Color Space inställd på Non-Color.

../../_images/addons_import-export_scene-gltf2_material-clearcoat.png

Ett exempel på en komplex klarlacksapplicering som exporteras korrekt till glTF. En mycket enklare, slät beläggning kan appliceras enbart från Principled BSDF-noden.

Sheen

Om en Sheen Roughness Texture används kräver glTF att värdena skrivs till alfakanalen (A).

../../_images/addons_import-export_scene-gltf2_material-sheen.png

Tips

Sheen BSDF-noden är endast tillgänglig på Cycles renderingsmotor. Du kan behöva byta tillfälligt till Cycles för att lägga till den här noden och sedan återgå till EEVEE.

Speculär

När ingången Specular IOR Level eller Specular Tint i Principled BSDF-noden har ett icke standardvärde eller Image Texture-noden är ansluten, kommer glTF-tillägget KHR_materials_specular att inkluderas i exporten.

Anisotropi

Anisotropiska texturer och data måste konverteras vid export och import.

Vid import skapas några noder för att hantera denna konvertering

../../_images/addons_import-export_scene-gltf2_material_anisotropy.png

Vid export upptäcks exakt samma noder och används för att exportera data.

Vid export kan du också ansluta några gråskaletexturer för Anisotropic och Anisotropic Rotation uttag. Sedan konverterar exportören dessa texturer till en glTF-kompatibel textur.

../../_images/addons_import-export_scene-gltf2_material_anisotropy-grayscale-texture.png

Observera att tangent-uttaget måste vara länkat till en tangent-nod, med UVMap. Den UVMap som väljs måste vara UVMap för Normal Map.

Växellåda

När ingången Transmission på Principled BSDF-noden har ett standardvärde som inte är noll eller när Image Texture-noden är ansluten, kommer glTF-tillägget KHR_materials_transmission att inkluderas i exporten. När en textur används lagrar glTF värdena i den röda (R) kanalen. Färgrymd bör ställas in på Icke-färg.

Transmission skiljer sig från alpha blending, eftersom transmission tillåter fulla spegelreflexer. I glTF är alfablandning avsedd att representera fysiska material som delvis saknas i den angivna geometrin, t.ex. medicinsk gasbinda. Transmission är avsett att representera fysiska material som är solida men som tillåter icke-spegulärreflekterat ljus att passera genom materialet, t.ex. glas.

Tips

Materialets basråhet kan användas för att göra transmissionen oskarp, som i frostat glas.

Tips

Normalt bör alfa-blandningsläget för ett transmissivt material vara ”Opaque”, standardinställningen, såvida inte materialet bara delvis täcker den angivna geometrin.

Observera

I realtidsmotorer med stöd för transmission kan olika tekniska begränsningar i motorn avgöra vilka delar av scenen som är synliga genom den transmissiva ytan. I synnerhet kan det hända att transmissiva material inte är synliga bakom andra transmissiva material. Dessa begränsningar påverkar fysiskt baserad transmission, men inte alfablandade icke-transmissiva material.

Observera

Om du vill aktivera refraktion på din modell måste KHR_materials_transmission också användas i tillägg till KHR_materials_volume. Se den dedikerade Volume-delen av dokumentationen.

Varning

Transmission är komplicerat för realtidsrenderingar att implementera och stödet för glTF-tillägget KHR_materials_transmission är ännu inte utbrett.

IOR

Vid import finns det två olika situationer:

  • om KHR_materials_ior inte är inställt, sätts IOR-värdet för Principled BSDF-noden till 1,5, vilket är glTF:s standardvärde för IOR.

  • Om den är inställd används KHR_materials_ior för att ställa in IOR-värdet för Principled BSDF.

Vid export ingår IOR i exporten endast om något av dessa tillägg också används:

  • KHR_material_överföring

  • KHR_material_volym

  • KHR_material_specular

IOR på 1,5 ingår inte i exporten, eftersom detta är standardvärdet för glTF IOR.

Volym

Volymen kan exporteras med hjälp av en Volume Absorption-nod, länkad till Volume socket of Output-noden. Data kommer att exporteras med hjälp av tillägget KHR_materials_volume.

  • För att volymen ska kunna exporteras måste någon transmission ställas in på Principled BSDF-noden.

  • Färgen på noden Volume Absorption används som glTF-dämpningsfärg. Ingen textur är tillåten för denna egenskap.

  • Densitet för volymabsorptionsnod används som invers av glTF-dämpningsavstånd.

  • Thickness kan kopplas till Thickness-uttaget i den anpassade gruppnoden glTF Material Output.

  • Om en textur används för tjockleken måste den anslutas till bildens gröna kanal (G).

../../_images/addons_import-export_scene-gltf2_material-volume.png

glTF-varianter

Observera

För att få en fullständig Variants-upplevelse måste du aktivera UI i Add-on-inställningarna

../../_images/addons_import-export_scene-gltf2_addon-preferences-variant.png

Det finns två sätt att hantera glTF-varianter i Blender

  • I 3D-vyn, på fliken glTF-varianter

  • För avancerade inställningar, i Egenskaper för nätmaterial (se Avancerade kontroller av glTF-varianter)

Det viktigaste konceptet för användning av varianter är att varje materialplats kommer att användas som motsvarighet till en glTF-primitiv.

glTF Varianter växling

Efter import av en glTF-fil med tillägget KHR_materials_variants kan alla varianter visas.

../../_images/addons_import-export_scene-gltf2_material_variants-switch.png

Du kan byta variant genom att välja den variant som du vill visa och sedan klicka på Display Variant.

Du kan återgå till standardmaterial (när ingen Variant används) genom att klicka på Reset to default (Återställ till standard).

glTF Varianter skapande

Du kan lägga till en ny variant genom att klicka på till höger i listan över varianter. Sedan kan du ändra namnet genom att dubbelklicka.

När du har ändrat material i materialplatserna kan du tilldela det aktuella materialet till den aktiva varianten med hjälp av Assign to Variant.

Du kan också ställa in standardmaterial med hjälp av Assign as Original. Dessa material kommer att exporteras som standardmaterial i glTF. Det här är material som kommer att visas av alla tittare som inte hanterar tillägget KHR_materials_variants.

Avancerade glTF-variantkontroller

Om du vill kontrollera primitiv för primitiv, vilka varianter som används, kan du gå till Mesh Material Properties.

../../_images/addons_import-export_scene-gltf2_material_variants-detail.png

Fliken glTF Material Variants hänvisar till den aktiva materialplatsen och det material som används av denna plats. Du kan se alla varianter som använder detta material för den givna platsen/primitiven.

Du kan också tilldela material till varianter från den här fliken, men rekommendationen är att göra det från fliken 3D View.

Dubbelsidig / borttagning av baksidor

För material där endast framsidorna kommer att vara synliga, aktivera Backface Culling i panelen Settings för ett EEVEE-material. När du använder andra motorer (Cycles, Workbench) kan du tillfälligt växla till EEVEE för att konfigurera den här inställningen och sedan växla tillbaka.

Lämna denna ruta omarkerad för dubbelsidiga material.

../../_images/addons_import-export_scene-gltf2_material-backface-culling.png

Inversen av denna inställning styr glTF:s DoubleSided-flagga.

Alpha Modes

glTF har tre alfa-lägen, beroende på om alfa-värdet alltid är 1, alltid 0 eller 1, eller kan vara mellan 0 och 1. Exportören bestämmer alfa-läget automatiskt från de noder som är anslutna till Alpha-sockeln.

Opak

I opaque mode är materialets alfa alltid 1.

../../_images/addons_import-export_scene-gltf2_material-opaque.png
Maskera

I maskläge är materialets alfa alltid 0 eller 1. Detta skapar ”utskuren” transparens, där det finns en hård kant mellan ogenomskinliga och transparenta områden, och kan användas för saker som löv eller tyg med hål. För att aktivera det här läget använder du en Math-nod för att avrunda alfavärdet till antingen 0 eller 1.

../../_images/addons_import-export_scene-gltf2_material-round-alpha.png

Avrundning snäpper alfavärden som är 0,5 eller större upp till 1, och de som är under 0,5 ner till 1. Det är också möjligt att använda ett annat gränsvärde än 0,5 genom att använda Math-noder för att göra 1 - (alpha < gränsvärde).

Mask-läget är i princip samma sak som EEVEE:s ”Alpha Clip” blend-läge, men görs med shader-noder så att det fungerar i andra renderingsmotorer.

Blandning

Material som inte använder något av dessa använder blend mode. Blend mode tillåter delvis transparenta ytor som färgar de objekt som ses genom dem, som lager av färgad film. Partiell transparens är dock komplicerat att rendera och glTF-tittare kan visa visuella artefakter i icke-triviala scener som använder blend mode.

För att undvika artefakter kan det vara en bra idé att separera ut delar av en modell som kan använda opaque eller mask mode och bara använda blend mode på de delar där det är nödvändigt, eller att bara använda ett enkelt lager av transparenta polygoner framför opaka objekt.

UV-mätning

Du kan styra val och omvandling av UV-kartor genom att ansluta en UV Map-nod och en Mapping-nod till valfri Image Texture-nod.

Inställningar från Mapping-noden exporteras med hjälp av ett glTF-tillägg med namnet KHR_texture_transform. Det finns en väljare för mappningstyp överst. Point är den rekommenderade typen för export. Texture och Vector stöds också. De offsets som stöds är:

  • Plats - X och Y

  • Rotation - endast Z

  • Skala - X och Y

För typen Texture måste Scale X och Y vara lika stora (enhetlig skalning).

../../_images/addons_import-export_scene-gltf2_material-mapping.png

Ett medvetet val av UV-mappning.

Tips

Dessa noder är valfria. Inte alla glTF-läsare stöder flera UV-kartor eller texturtransformationer.

Faktorer

Alla Image Texture-noder kan eventuellt multipliceras med en konstant färg eller skalär. Dessa kommer att skrivas som faktorer i glTF-filen, vilket är tal som multipliceras med de angivna bildtexturerna. Dessa är inte vanliga.

  • Använd Math-nod (multiplicera) för skalära faktorer. Använd det andra värdet som faktor

  • Använd Mix-noden (color / multiply) för färgfaktorer. Ställ in Factor på 1 och använd Color2 (B) som faktorer

../../_images/addons_import-export_scene-gltf2_material-factors.png

Exempel

Ett enda material kan använda alla ovanstående alternativ samtidigt, om så önskas. Den här figuren visar en typisk nodstruktur när flera av ovanstående alternativ används samtidigt:

../../_images/addons_import-export_scene-gltf2_material-principled.png

Ett Principled BSDF-material med en emissiv textur.

UDIM

UDIM är ett sätt att lagra flera texturer i en enda bildfil. UDIM-systemet stöds av Blender, men stöds inte av glTF. När du exporterar en modell som använder UDIM kommer tillägget automatiskt att dela upp bilden i flera bilder, en för varje kakelplatta, och uppdatera materialnoderna så att de använder de nya bilderna. Alla UDIM-texturer måste använda samma UV-karta för att kunna exporteras.

Exportera ett skuggfritt (obelyst) material

Om du vill exportera ett obelyst material ska du blanda in en kamerastråle och undvika att använda Principled BSDF-noden.

../../_images/addons_import-export_scene-gltf2_material-unlit.png

Ett av flera liknande nodarrangemang som exporterar KHR_materials_unlit och gör skuggfritt i Blender.

Tillägg

Kärnformatet glTF 2.0 kan utökas med extra information med hjälp av glTF-tillägg. Detta gör att filformatet kan innehålla detaljer som inte ansågs vara universella vid tidpunkten för den första publiceringen. Alla glTF-läsare stöder inte alla tillägg, men vissa är ganska vanliga.

Vissa Blender-funktioner kan endast exporteras till glTF via dessa tillägg. Följande glTF 2.0-tillägg stöds direkt av detta tillägg:

Importera

  • KHR_material_pbrSpecularGlossiness

  • KHR_material_klarlack

  • KHR_material_överföring

  • KHR_material_ej upplyst

  • KHR_material_emissiv_styrka

  • KHR_material_volym

  • KHR_material_sheen

  • KHR_material_specular

  • KHR_material_anisotropi

  • KHR_materials_ior

  • KHR_material_varianter

  • KHR_lights_punctual

  • KHR_textur_transform

  • KHR_mesh_kvantisering

  • EXT_mesh_gpu_instansiering

Exportera

  • KHR_draco_mesh_komprimering

  • KHR_lights_punctual

  • KHR_material_klarlack

  • KHR_material_överföring

  • KHR_material_ej upplyst

  • KHR_material_emissiv_styrka

  • KHR_material_volym

  • KHR_material_sheen

  • KHR_material_specular

  • KHR_material_anisotropi

  • KHR_materials_ior

  • KHR_material_varianter

  • KHR_textur_transform

  • EXT_mesh_gpu_instansiering

GlTF-tillägg från tredje part

Det är möjligt för Python-utvecklare att lägga till Blender-stöd för ytterligare glTF-tillägg genom att skriva sitt eget tredjepartstillägg utan att ändra detta glTF-tillägg. För mer information, se exemplet på GitHub och om det behövs, registrera ett tilläggsprefix.

Anpassade egenskaper

Anpassade egenskaper importeras alltid och kommer att exporteras från de flesta objekt om alternativet Include ‣ Custom Properties väljs före export. Dessa lagras i fältet extras på motsvarande objekt i glTF-filen.

Till skillnad från glTF-tillägg har anpassade egenskaper (extras) ingen definierad namnrymd och kan användas för alla användar- eller applikationsspecifika ändamål.

Animationer

En glTF-animation ändrar transformationen av objekt eller poseben, eller värdena för shape keys. En animation kan påverka flera objekt, och det kan finnas flera animationer i en glTF-fil.

Importera

Importerade modeller är konfigurerade så att den första animationen i filen spelas upp automatiskt. Skrubba tidslinjen för att se den spelas upp.

När filen innehåller flera animationer kommer resten att organiseras med hjälp av Nonlinear Animation editor. Varje animation blir en åtgärd som lagras på ett NLA-spår. Spårnamnet är namnet på glTF-animationen. För att göra animationen i det spåret synlig klickar du på Solo (stjärnikonen) bredvid det spår du vill spela upp.

../../_images/addons_import-export_scene-gltf2_animation-solo-track.png

Detta är rävmodellen som visar sin ”Run”-animation.

Om en animation påverkar flera objekt kommer den att delas upp i flera delar. Den del av animeringen som påverkar ett objekt blir en åtgärd som sparas på det objektet. Använd spårnamnen för att se vilka åtgärder som är en del av samma animation. Om du vill spela upp hela animationen måste du aktivera Solo (stjärnikonen) för alla dess spår.

Varje animation kommer att importeras som en enda åtgärd, med flera slots om animationen påverkar flera objekt. En slot skapas för TRS, en för shape keys, etc…

Du hittar mer information om action slots i Animation.

Observera

Det finns för närvarande inget sätt att se den icke-animerade posen för en modell som hade animationer.

Du kan också använda animationsväxlaren som finns i Dope Sheet editor.

Observera

Du måste aktivera UI i Add-on-inställningarna för att se animationsväxlaren

../../_images/addons_import-export_scene-gltf2_addon-preferences-animation.png

Du kan växla alla animationer som importeras. Det aktiverar automatiskt Solo (stjärnikon) för alla nödvändiga spår. Det återställer också icke-animerade objekt till Rest-transformation.

Exportera

Du kan exportera animationer på olika sätt. Hur glTF-animationer görs från åtgärder / NLA styrs av exportalternativet Animation ‣ Mode.

Åtgärder (standard)

En åtgärd exporteras om den är den aktiva åtgärden på ett objekt, eller om den är stashad till ett NLA-spår (t.ex. med knapparna Stash eller Push Down i Åtgärdsredigeraren). Åtgärder som inte är associerade med ett objekt på något av dessa sätt exporteras inte. Om du har flera åtgärder som du vill exportera, se till att de är stuvade!

En glTF-animation kan ha ett namn, som är åtgärdens namn som standard. Du kan åsidosätta det genom att byta namn på dess NLA-spår från NLATrack/[Action Stash] till det namn du vill använda. Till exempel kommer Fig. rävmodell att exporteras med tre animationer, ”Survey”, ”Walk” och ”Run”. Om du döper om två spår på två olika objekt till samma namn kommer de att bli en del av samma glTF-animation och spela tillsammans.

Importören organiserar åtgärder så att de exporteras korrekt med detta läge.

Det här läget är användbart om du exporterar till en spelmotor med ett animationsbibliotek för en karaktär. Varje aktion måste vara på sitt eget NLA-spår.

Före Blender 4.4 slogs spår samman när det gäller deras namn. Med Blender 4.4, och införandet av slotted actions, har detta standardbeteende ändrats. Nu sammanfogas spåren efter den åtgärd de använder och inte efter deras namn. Du kan hitta mer information om handlingsluckor i Animation.

Aktiva åtgärder sammanslagna

I det här läget används inte NLA-organisationen och endast en animation exporteras med hjälp av de aktiva åtgärderna på alla objekt.

NLA Spår

I det här läget exporteras varje NLA-spår som en oberoende glTF-animation. Det här läget är användbart om du använder Strip-modifierare eller om du får flera åtgärder på samma spår.

Om du döper om två spår på två olika objekt till samma namn kommer de att bli en del av samma glTF-animation och spela tillsammans.

Scenen

Om du använder alternativet Scene exporteras animationerna så som du kan se dem i visningsfönstret. Du kan välja att exportera en enda glTF-animation eller varje objekt separat.

Observera

Kom ihåg att endast vissa typer av animationer stöds:

  • Objekttransformation (placering, rotation, skala)

  • Pose ben

  • Nyckelvärden för form

Animering av andra egenskaper, t.ex. fysik, ljus eller material, kommer att ignoreras.

Observera

För att kunna prova shape key-animationer som styrs av drivrutiner med hjälp av bentransformationer måste de finnas på ett mesh-objekt som är ett direkt barn till benens armatur.

Observera

Endast lägena Actions (default) och Active Actions merged kan hantera animationer som inte samplats.

Variationer i filformat

GlTF-specifikationen identifierar olika sätt som data kan lagras på. Importören hanterar alla dessa sätt. Exportören kommer att be användaren att välja ett av följande formulär:

glTF Binär (.glb)

Detta ger en enda ”glb”-fil med all mesh-data, bildtexturer och relaterad information packad i en enda binär fil.

Tips

Genom att använda en enda fil blir det enkelt att dela eller kopiera modellen till andra system och tjänster.

glTF Separat (.gltf + .bin + texturer)

Detta ger en JSON-textbaserad .gltf-fil som beskriver den övergripande strukturen, tillsammans med en .bin-fil som innehåller mesh- och vektordata, och eventuellt ett antal .png eller .jpg-filer som innehåller bildtexturer som refereras till av .gltf-filen.

Tips

Att ha ett urval av separata filer gör det mycket enklare för en användare att gå tillbaka och redigera JSON eller bilder efter att exporten har slutförts.

Observera

Tänk på att om du vill dela det här formatet måste du dela alla dessa separata filer tillsammans som en grupp.

glTF Inbäddad (.gltf)

Detta ger en JSON-textbaserad .gltf-fil, med alla mesh-data och bilddata kodade (med Base64) i filen. Denna form är användbar om tillgången måste delas över en anslutning med enbart klartext.

Varning

Detta är det minst effektiva av de tillgängliga formulären och bör endast användas vid behov. Endast tillgängligt när du har aktiverat det i Addon-inställningarna.

Egenskaper

Importera

Sammanfoga toppar

GlTF-formatet kräver att diskontinuerliga normaler, UV-värden och andra vertexattribut lagras som separata vertexar, vilket krävs för rendering på typisk grafikhårdvara. Detta alternativ försöker kombinera samlokaliserade vertexar där så är möjligt. För närvarande går det inte att kombinera vertex med olika normaler.

Skuggning

Hur normaler beräknas under import.

Belysningsläge

Valfri bakåtkompatibilitet för renderingsmotorer som inte är standard. Gäller för ljus. Standard: Fysiskt baserade glTF-belysningsenheter (cd, lx, nt). Enhetslös: Icke-fysisk, enhetslös belysning. Användbart när exponeringskontroller inte är tillgängliga Raw (Föråldrad): Blender-belysningsstyrkor utan konvertering

Textur

Packa bilder

Packa in alla bilder i blend-filen.

Importera WebP-texturer

Om en textur finns i WebP-format laddas WebP-texturen i stället för png/jpg-texturen som används som reserv.

Importera oanvända material och texturer

Importera alla material och texturer, även om de inte används i scenen.

Ben och hud

Benets riktning

Ändrar den heuristik som importören använder för att bestämma var benspetsarna ska placeras. Observera att Fortune-inställningen kan orsaka felaktigheter i modeller som använder icke-uniform skalning. Annars är detta rent estetiskt. Standardvärdet ändrar inte axel och är bäst för återexportering från Blender. Detta standardalternativ ändrar visningsläge (lägger till form och ändrar relationslinje) för att få en bättre vy, även om originalbenens axel inte är den mest exakta (estetiskt sett)

Guess Original Bind Pose

Bestämmer posen för ben (och följaktligen skinnade meshes) i redigeringsläget. När funktionen är aktiverad försöker man gissa vilken pose som användes för att beräkna de inversa bindningsmatriserna.

Inaktivera benform

Visa inte benformer i 3D-vyn.

Benform Skala

Skalan på benformerna i 3D-vyn.

Rörledning

Importera scener som samlingar

Importera glTF-scener som samlingar. Detta är standardinställningen. Vid import av en enda scen skapas alla objekt i den aktiva samlingen Vid import av flera scener importeras varje scen som en samling. Scener som inte är standard utesluts från View Layer. Om det finns några föräldralösa noder (som inte finns i några scener) skapas en föräldralös samling (som också utesluts från View Layer). När den är avstängd importeras glTF-scenen i den aktiva Blender-scenen. Andra glTF-scener importeras som nya Blender-scener.

Välj importerade objekt

Välj skapade objekt efter import.

Importscen Extramaterial

Importera glTF-extramaterial som anpassade egenskaper på scennivå.

Exportera

Format

Se vidare: Filformatvariationer.

Behåll originalet

Endast för glTF Separat filformat. Behåll originaltexturfilerna om möjligt. Varning: om du använder mer än en textur, där PBR-standarden endast kräver en, kommer endast en textur att användas. Detta kan leda till oväntade resultat

HD-TEXTURER

Endast för filformatet glTF Separate. Mapp att placera texturfiler i. Relativ till gltf-filen.

Upphovsrätt

Juridiska rättigheter och villkor för modellen.

Kom ihåg exportinställningar

Spara exportinställningarna i blend-filen, så att de återkallas nästa gång filen öppnas.

Inkludera

Utvalda objekt

Exportera endast markerade objekt.

Synliga objekt

Exportera endast synliga objekt.

Renderingsbara objekt

Exportera endast renderingsbara objekt.

Aktiv kollektion

Exportera endast objekt från den aktiva samlingen.

Inkludera nästlade samlingar

Endast när Aktiv samling är På. När On är aktiverat exporteras objekt rekursivt i nästlade aktiva samlingar.

Aktiv scen

Exportera endast aktiv scen.

Anpassade egenskaper

Exportera anpassade egenskaper som glTF-extra.

Kameror

Exportera kameror.

Punktliga lampor

Exportera riktade, punkt- och strålkastare. Använder glTF-förlängningen KHR_lights_punctual.

Omvandla

Y upp

Exportera med glTF-konvention, +Y upp.

Data - Scengraf

Geometri Noder Instanser

Exportera instanser av geometriska noder. Denna funktion är experimentell.

GPU-instanser

Exportera med hjälp av tillägget EXT_mesh_gpu_instancing.

Platta ut objekthierarkin

Användbar i fall av icke sönderdelbar TRS-matris. Endast skinnade maskor kommer att förbli barn till armaturen.

Fullständig kollektionshierarki

Exportera samlingar som tomma, men behåll hela hierarkin. Om ett objekt finns i flera samlingar exporteras det bara en gång, i den första samling där det finns.

Data - nät

Tillämpa modifikatorer

Exportera objekt med hjälp av det utvärderade nätet, dvs. det resulterande nätet efter att alla Modifierare har beräknats.

UV-strålar

Exportera UV:er (texturkoordinater) med nät.

Normaler

Exportera vertexnormaler med maskor.

Tangenter

Exportera vertex-tangenter med maskor.

Attribut

Exportera attribut med nät, när namnet börjar med understreck.

Lösa kanter

Exportera lösa kanter som linjer med hjälp av materialet från den första materialplatsen.

Lösa punkter

Exportera lösa punkter som glTF-punkter med hjälp av materialet från den första materialplatsen.

Delad accessor

För trianglar, använd delad accessor för index. Detta är mer effektivt (mindre filer när du har mycket material).

Data - Mesh - Vertexfärg

Använd vertexfärg
Material:

Exportera vertexfärg när den används i materialnodträdet som multiplikator för basfärg. Detta är standardinställningen och den mest exakta när det gäller glTF-specifikationer.

Aktiv:

Exportera aktiva vertexfärger, även om de inte används i materialnodträdet. En fullt kompatibel glTF-visare bör visa denna VC som basfärgsmultiplikator.

Namn:

Exporterar vertexfärg med det angivna namnet. En fullt kompatibel glTF-visare bör visa denna VC som basfärgsmultiplikator.

Ingen:

Exportera inte vertexfärg.

Exportera alla vertexfärger

Exportera alla vertexfärger, ytterligare VC kommer att vara COLOR_1, COLOR_2, etc.

Exportera aktiv vertexfärg när inget material

Exportera aktiv vertexfärg när inget material har tilldelats objektet.

Data - Material

Material
Exportera:

Exportera hela materialet, inklusive alla texturer och shaders från nodträdet.

Platshållare:

Exportera endast materialplatshållaren, utan någon textur eller shader. Primitiver slås inte samman, så information om materialplatser behålls.

Visningsområde:

Exportera endast viewport-materialet (basfärg, grovhet och metalliskhet).

Exportera:

Exporterar inte material. Primitiver slås samman och förlorar information om materialplatser.

Bilder

Utmatningsformat för bilder. PNG är förlustfritt och föredras i allmänhet, men JPEG kan vara att föredra för webbapplikationer på grund av den mindre filstorleken. Om WebP väljs kommer alla texturer att sparas som WebP, utan någon png/jpg-fallback. Om None väljs exporteras material utan texturer.

Bildkvalitet

Vid export av jpeg- eller WebP-filer, kvaliteten på den exporterade filen.

Skapa WebP

Skapar WebP-texturer för varje textur, utöver den befintliga texturen. För redan befintliga WebP-texturer händer ingenting.

WebP-fallback

För alla WebP-texturer skapar du en png-fallback-textur.

Oanvända bilder

Exportera bilder som inte används i något material.

Oanvända texturer

Exportera texturinformation (sampler, bild, texcoord) som inte används i något material.

Data - Formnycklar

Exportera formnycklar (morph targets).

Form Nyckel Normaler

Exportera vertexnormaler med shape keys (morph targets).

Form Nyckel Tangenter

Exportera vertex-tangenter med shape keys (morph targets).

Data - Formnycklar - Optimera

Använd Sparse Accessor om det är bättre

Sparse Accessor kommer att användas om det sparar utrymme (om den exporterade filen är mindre)

Utelämnar Sparse Accessor om data är tomt

Om data är tomt, utelämna att exportera SParce Accessor. Inte alla tittare hanterade det korrekt, så det här alternativet är Off som standard

Data - Armatur

Använd Vila Position Armatur

Exportera armaturer som använder vilopositionen som ledens viloposition. När funktionen är Av används den aktuella bildposen som viloposition.

Exportera endast deformationsben

Exportera endast deformationsben, inte andra ben. Animering för deformationsben är bakad.

Ta bort armaturobjekt

Ta bort armaturobjekt om möjligt. Om vissa armaturer har flera rotben kan vi inte ta bort dem.

Platt benhierarki

Användbar i fall av icke-dekomponerbar TRS-matris.

Data - Skinning

Exportera skinningdata

Påverkan från ben

Hur många gemensamma verex-influenser kommer att exporteras. Modeller kan visas felaktigt i många tittare med ett värde som skiljer sig från 4 eller 8.

Inkludera alla beninfluenser

Exportera alla gemensamma vertexinflytanden. Modeller kan visas felaktigt i många visare.

Data - Belysning

Belysningsläge

Valfri bakåtkompatibilitet för renderingsmotorer som inte är standard. Gäller för ljus. Standard: Fysiskt baserade glTF-belysningsenheter (cd, lx, nt). Enhetslös: Icke-fysisk, enhetslös belysning. Användbart när exponeringskontroller inte är tillgängliga Raw (Föråldrad): Blender-belysningsstyrkor utan konvertering

Data - Komprimering

Komprimera maskor med hjälp av Google Draco.

Kompressionsnivå

Högre komprimering resulterar i långsammare kodning och avkodning.

Kvantiseringsposition

Högre värden ger bättre komprimeringsgrad.

Normal

Högre värden ger bättre komprimeringsgrad.

Koordinater för textur

Högre värden ger bättre komprimeringsgrad.

Färg

Högre värden ger bättre komprimeringsgrad.

Allmänt

Högre värden ger bättre komprimeringsgrad.

Animering

Animeringsläge

Animationsläge som används för export (Se Animations)

Animation - Bake & Merge

Baka alla objekt Animationer

Användbart när vissa objekt begränsas utan att själva animeras.

Merge Animation

Läge för sammanslagning av animering. Kan vara efter Action (med slot), efter NLA Track Name eller ingen sammanfogning. Vid sammanslagning med NLA Track Name kommer alla animationer med samma NLA Track-namn att slås samman. Vid sammanfogning efter Action kommer alla animationer med samma action att sammanfogas. Om ingen sammanslagning görs exporteras alla animationer som separata animationer.

Animation - Rest & Ranges

Använd aktuell bildram som objekt Resttransformationer

Exporterar scenen i den aktuella animationsramen. När funktionen är avstängd används frame 0 som resttransformation för objekt.

Begränsa till uppspelningsintervall

Klipper animationer till valt uppspelningsområde.

Ställ in alla glTF-animationer med början på 0

Ställ in alla glTF-animationer med början på 0. Kan vara användbart för loopande animationer

Negativa ramar

Om vissa bildrutor är i negativt intervall, flytta eller beskär animationen.

Animation - Armatur

Exportera alla armaturåtgärder

Exportera alla åtgärder, knutna till en enda armatur. Varning för detta: Alternativet stöder inte export som omfattar flera armaturer.

Återställ poseben mellan åtgärder

Återställ poseringsben mellan varje exporterad åtgärd. Detta behövs när vissa ben inte är keyade i vissa animationer.

Animering - Formnycklar

Animationer av formnycklar

Exportera animering av Shape Keys. Behöver Shape Keys för att exporteras (se Data - Shape Keys)

Återställ Shape Keys mellan åtgärder

Återställ Shape Keys mellan varje exporterad åtgärd. Detta behövs när vissa shape keys inte är keyade på vissa animationer.

Animation - Provtagning

Tillämpa sampling på alla animationer. Om du inte samplar animationer kan det leda till felaktig export av animationer.

Samplingsfrekvens

Hur ofta ska man utvärdera animerade värden (i bildrutor).

Sampling Interpolation Fallback

Val av interpolation för egenskaper som inte är nycklade (LINEAR eller STEP/CONSTANT)

Animering - Optimera

Optimera animeringens storlek

Minska storleken på den exporterade filen genom att ta bort duplicerade keyframes när alla är identiska.

Krafthållningskanal för armatur/ben

om alla keyframes är identiska i en rigg, tvinga fram en minimal animation.

Krafthållande kanal för objekt

om alla keyframes är identiska för objekttransformationer, tvingar du fram en minimal animation.

Inaktivera vyport för andra objekt

När du exporterar animationer ska du av prestandaskäl inaktivera vyport för andra objekt när det är möjligt.

Animation - Filter

Begränsa de åtgärder som ska exporteras till de som matchar filtret.

Exportörer av kollektioner

Denna exportör kan användas som en samlingsexportör. Se Samlingar för mer information om samlingar och deras exportörer.

Här är alternativen och specificiteten för export av samlingar:

  • Inkludera en del av alternativen är inte tillgängliga för samlingsexportören (som alla andra exportörer).

  • Möjlighet att exportera vid samlingens centrum (vid masscentrum för alla rotobjekt i samlingen).

  • Custom Properties för samlingen exporteras som Scene glTF-extramaterial.

Bidragande

Denna importör/exportör utvecklas genom glTF-Blender-IO repository, där du kan lämna in felrapporter, skicka in funktionsförfrågningar eller bidra med kod.

Diskussion och utveckling av själva glTF 2.0-formatet sker på Khronos Group glTF GitHub repository, och feedback där är välkommen.