glTF 2.0¶
Referencia
- Kategória
Import-Export
- Ponuka
Použitie¶
glTF™ sa používa na prenos a načítanie 3D modelov vo webových a natívnych aplikáciách. glTF znižuje veľkosť 3D modelov a spracovanie počas behu potrebné na rozbalenie a prekreslenie týchto modelov. Tento formát sa bežne používa na webe a má podporu v rôznych 3D mechanizmoch, ako sú Unity3D, Unreal Engine 4 a Godot.
Tento importér/exportér podporuje nasledujúce funkcie glTF 2.0:
Povrchové siete
Materiály (Principiálne BSDF) a Beztieňové (neosvetlené)
Textúry
Kamery
Presné svetlá (bodové, smerové a plošné)
Rozšírenia (uvedené nižšie)
Doplnky (užívateľské vlastnosti)
Animácia (kľúčová snímka, kľúčový tvar a vytváranie pokožky)
Povrchové siete¶
Vnútorná štruktúra glTF napodobňuje pamäťové zásobníky, ktoré sa bežne používajú v grafických čipoch pri prekresľovaní v reálnom čase, takže aktíva sa môžu doručiť na počítač, web alebo mobilné zariadenia a okamžite sa zobraziť s minimálnym spracovaním. Výsledkom je, že štvorce a mnohouholníky sa pri exporte do glTF automaticky konvertujú na trojuholníky. Nespojité UV a hrany s plochým tieňovaním môžu mať za následok mierne vyšší počet vrcholov v glTF v porovnaní s Blenderom, pretože takéto vrcholy sú pri exporte oddelené. Podobne sa nezachovávajú ani krivky a iné údaje, ktoré nie sú povrchovými sieťami, a pred exportom sa musia previesť na povrchové siete.
Materiály¶
Základný materiálový systém v glTF podporuje Kovový/Zdrsnený PBR pracovný postup s nasledujúcimi informačnými kanálmi:
Základná farba
Metalizovaný
Zdrsnenie
Zapečené pohlcovanie okolím
Normálová mapa (priestor dotyčnice, +Y nahor)
Emisný
Some additional material properties or types of materials can be expressed using glTF extensions:
Clearcoat, Clearcoat Roughness, Clearcoat Normal (uses
KHR_materials_clearcoat)Transmission (uses
KHR_materials_transmission)„Shadeless“ materials (uses
KHR_materials_unlit)
Príklad rôznych obrazových máp dostupných v základnom formáte glTF 2.0. Toto je vzorka modelu vodnej fľaše zobrazená spolu s rezmi jej rôznych obrazových máp.¶
Importované materiály¶
Materiálový systém glTF sa líši od vlastných materiálov programu Blender. Keď sa importuje súbor glTF, doplnok vytvorí sadu uzlov programu Blender, aby čo najpresnejšie kopíroval každý materiál glTF.
The importer supports Metal/Rough PBR (core glTF), Spec/Gloss PBR (KHR_materials_pbrSpecularGlossiness)
and Shadeless (KHR_materials_unlit) materials.
Tip
Preskúmanie výsledku procesu importu materiálu je dobrým spôsobom, ako vidieť príklady typov uzlov a nastavení materiálu, ktoré možno exportovať do glTF.
Exportované materiály¶
Exportér podporuje materiály Kovový/Zdrsnený PBR (jadro glTF) a Beztieňový (KHR_materials_unlit). Vytvorí materiál glTF na základe uzlov, ktoré rozpozná v materiáli Blenderu. Proces exportu materiálu spracúva nastavenia opísané nižšie.
Poznámka
Ak sa v materiáloch používajú textúry obrázkov, glTF vyžaduje, aby boli obrázky vo formáte PNG alebo JPEG. Doplnok automaticky konvertuje obrázky z iných formátov, čím sa predĺži čas exportu.
Základná farba¶
Základná farba glTF sa určí vyhľadaním vstupu Základná farba v uzle Principiálne BSDF. Ak vstup nie je pripojený, ako Základná farba pre materiál glTF sa použije predvolená farba vstupu (pole farby vedľa nepripojeného zásuvného modulu).
Plnú základnú farbu možno zadať priamo na uzle.¶
Ak sa zistí, že uzol Obrázok textúry je pripojený k vstupu Základná farba, tento obrázok sa použije ako základná farba glTF.
Ako základná farba glTF sa používa obrázok.¶
Metalické a Zdrsnené¶
Tieto hodnoty sa načítajú z uzla Principiálne BSDF. Ak sú oba tieto vstupy nepripojené, uzol zobrazí posúvače na ovládanie ich príslušných hodnôt v rozsahu od 0,0 do 1,0 a tieto hodnoty sa skopírujú do glTF.
Pri použití obrázka glTF očakáva, že metalické hodnoty budú zakódované v modrom (B) kanáli a zdrsnenie bude zakódovaná v zelenom (G) kanáli toho istého obrázka. Ak sú obrázky pripojené k uzlu Blenderu spôsobom, ktorý nedodržiava túto konvenciu, doplnok sa môže počas exportu pokúsiť prispôsobiť obrázok správnej forme (s predĺženým časom exportu).
V strome uzlov Blenderu sa odporúča použiť uzol Oddeliť RGB na oddelenie kanálov od uzla Obrázok textúry a pripojiť zelený (G) kanál k uzlu Zdrsnený a modrý (B) ku uzlu Kovový. Exportér glTF rozpozná toto usporiadanie ako zodpovedajúce štandardu glTF, a to mu umožní jednoducho skopírovať textúru obrazu do súboru glTF počas exportu.
Uzol Obrázok textúry by mal mať nastavený Farebný priestor na možnosť Bezfarebný.
Kovový/Zdrsnený obrázok pripojený spôsobom, ktorý je v súlade so štandardom glTF, čo umožňuje jeho doslovné použitie v exportovanom súbore glTF.¶
Zapečené pohlcovanie okolím¶
glTF is capable of storing a baked ambient occlusion map.
Currently there is no arrangement of nodes that causes Blender
to use such a map in exactly the same way as intended in glTF.
However, if the exporter finds a custom node group by the name of glTF Settings, and
finds an input named Occlusion on that node group,
it will look for an Image Texture attached there to use as the occlusion map in glTF.
The effect need not be shown in Blender, as Blender has other ways of showing ambient occlusion,
but this method will allow the exporter to write an occlusion image to the glTF.
This can be useful to real-time glTF viewers, particularly on platforms where there
may not be spare power for computing such things at render time.
Predbežne zapečená mapa pohlcovania okolím pripojená k uzlu, ktorý sa neprekresľuje, ale exportuje sa do glTF.¶
Tip
Najjednoduchší spôsob vytvorenia vlastnej skupiny uzlov je importovať existujúci model glTF, ktorý obsahuje mapu pohlcovania, napríklad fľašu na vodu alebo iný existujúci model. Možno použiť aj ručne vytvorenú vlastnú skupinu uzlov.
glTF ukladá pohlcovanie v červenom (R) kanáli, čo umožňuje voliteľne zdieľať rovnaký obraz s kanálmi zdrsnenia a metalickosti.
Táto kombinácia uzlov napodobňuje spôsob, akým glTF spája hodnoty pohlcovania, zdrsnenia a metalickosti do jedného obrazu.¶
Tip
The Cycles render engine has a Bake panel that can be used to bake
ambient occlusion maps. The resulting image can be saved and connected
directly to the glTF Settings node.
Normálová mapa¶
Ak chcete použiť mapovanie normálu v glTF, pripojte farebný výstup uzla Obrázok textúry k farebnému vstupu uzla Mapovanie normálu a potom pripojte normálový výstup uzla Mapovanie normálu k normálovému vstupu uzla Principiálne BSDF. Uzol Obrázok textúry by mal mať na tento účel nastavenú vlastnosť Farebný priestor na hodnotu Bezfarebný.
Uzol Mapovanie normálu mapa musí zostať na svojej predvolenej vlastnosti Priestor dotyčnice, pretože je to jediný typ mapovania normálu, ktorý glTF v súčasnosti podporuje. Silu mapovania normálu možno v tomto uzle upraviť. Exportér neexportuje tieto uzly priamo, ale použije ich na vyhľadanie správneho obrazu a skopíruje nastavenie sily do glTF.
Obrázok mapovania normálu pripojený tak, aby ho exportér našiel a skopíroval do súboru glTF.¶
Tip
Prekresľovací mechanizmus Cykly má panel Zapiecť, ktorý možno použiť na prekresľovanie mapovania normálov v priestore dotyčnice z takmer akéhokoľvek iného usporiadania uzlov normálových vektorov. Prepnite typ Zapiecť na Normál. Pri použití tohto panela Zapiecť pre glTF zachovajte predvolené nastavenia priestoru (priestor: Dotyčnica, R: +X, G: +Y, B: +Z). Výsledný zapečený obrázok môžete uložiť a zapojiť do nového materiálu použitím uzla Mapovanie normálu, ako je opísané vyššie, čo umožní jeho správny export.
Pozrite si časť Cykly: Zapečenia prekreslenia
Emisný¶
Uzol Obrázok textúry možno pripojiť k vstupu Emisie na uzle Principiálne BSDF a zahrnúť tak mapu vyžarovania s materiálom glTF. Alternatívne môže byť uzol Obrázok textúry pripojený k uzlu Emisie a voliteľne kombinovaný s vlastnosťami z uzla Principiálne BSDF prostredníctvom uzla Pridať tieňovač.
Ak je mapa vyžarovania v materiáli sama, je najlepšie nastaviť predvolenú hodnotu Základná farba na čiernu a predvolenú hodnotu Zdrsnenie na 1,0. Tým sa minimalizuje vplyv ostatných kanálov, ak nie sú potrebné.
Toto usporiadanie je podporované kvôli spätnej kompatibilite. Jednoduchšie je použiť priamo uzol Principiálne BSDF.¶
Bezfarebný lak¶
When the Clearcoat input on the Principled BSDF node has a non-zero default value or
Image Texture node connected, the KHR_materials_clearcoat glTF extension will be
included in the export. This extension will also include a value or Image Texture
from the Clearcoat Roughness input if available.
Ak sa používajú textúry obrázkov, glTF vyžaduje, aby sa hodnoty bezfarebného laku zapísali do červeného (R) kanála a Zdrsnenie bezfarebného laku do zeleného (G) kanála. Ak sú pripojené monochromatické obrázky, exportér ich premapuje na tieto farebné kanály.
Vstup Normál bezfarebného laku prijíma rovnaké druhy vstupov ako základný vstup Normál, konkrétne mapovanie normálov v priestore dotyčnice s +Y nahor a užívateľom definovanej sily. Tento vstup môže opätovne použiť rovnaké mapovanie normálov, akú používa základný materiál, alebo mu môže byť priradená vlastné mapovanie normálov, prípadne môže zostať odpojený pre vyhladený lak.
Všetky uzly textúry obrazu používané na tieňovanie bezfarebného laku by mali mať Farebný priestor nastavený na možnosť Bezfarebný.
Príklad komplexnej aplikácie bezfarebného náteru, ktorá sa správne exportuje do glTF. Oveľa jednoduchší vyhladený lak možno aplikovať len zo samotného uzla Principiálne BSDF.¶
Prestup¶
When the Transmission input on the Principled BSDF node has a non-zero default value or
Image Texture node connected, the KHR_materials_transmission glTF extension will be
included in the export. When a texture is used, glTF stores the values in the red (R) channel.
The Color Space should be set to Non-Color.
Prenos sa líši od alfa prelínania, pretože prenos umožňuje zrkadlové odrazy v plnej sile. V glTF je alpha prelínanie určené na reprezentáciu fyzikálnych materiálov, ktoré čiastočne chýbajú v zadanej geometrii, ako napríklad lekársky gázový obväz. Prenos je určený na reprezentáciu fyzikálnych materiálov, ktoré sú plné, ale umožňujú, aby cez materiál prechádzalo nespektrálne odrazené svetlo, ako napríklad sklo.
glTF neponúka samostatný „Zdrsnenie prenosu“, ale základná zdrsnenie materiálu sa môže použiť na rozostrenie prenosu, podobne ako matné sklo.
Tip
Typicky by mal režim alfa prelínania priepustného materiálu zostať „Nepriehľadný“, čo je predvolené nastavenie, pokiaľ materiál nepokrýva zadanú geometriu len čiastočne.
Poznámka
V mexganizmoch reálneho času, ktoré podporujú prenos, môžu rôzne technické obmedzenia v mecchanizme určovať, ktoré časti scény sú viditeľné cez prenášaný povrch. Najmä materiály prenosu nemusia byť viditeľné za inými materiálmi prenosu. Tieto obmedzenia ovplyvňujú fyzikálne založený prenos, ale nie materiály s alfou, ktoré nie sú prenosové.
Varovanie
Implementácia prenosu je pre mechanizmy prekresľovania v reálnom čase zložitá a podpora rozšírenia glTF KHR_materials_transmission ešte nie je rozšírená.
Vyradenie Obojstranné / Zadnej plôšky¶
V prípade materiálov, pri ktorých budú viditeľné len predné strany, zapnite funkciu Vyradenie zadnej plôšky na paneli Nastavenia materiálu Eevee. Keď používate iné mechanizmy (Cykly, Pracovný stôl), môžete dočasne prepnúť na Eevee, aby ste nakonfigurovali toto nastavenie, a potom sa prepnúť späť.
V prípade obojstranných materiálov ponechajte toto políčko neškrtnuté.
Inverzné nastavenie ovláda príznak Obojstranné glTF.¶
Režimy prelínania¶
Vstup Základná farba môže voliteľne poskytovať hodnoty alfa. Spôsob spracovania týchto hodnôt v glTF závisí od zvoleného režimu prelínania.
Keď je vybratý mechanizmus prekresľovania Eevee, každý materiál má na paneli nastavení materiálu režim prelínania. Použitím tohto nastavenia môžete definovať, ako sa v glTF spracujú hodnoty alfa z kanála Základná farba. GlTF podporuje tri nastavenia:
- Nepriehľadné
Hodnoty alfa sa ignorujú.
- Alfa prelínanie
Nižšie hodnoty alfa spôsobujú prelínanie s objektmi na pozadí.
- Strih alfa
Hodnoty alfa pod nastavením Prah strihu spôsobia, že časti materiálu sa vôbec nebudú prekresľovať. Všetko ostatné sa prekreslí ako nepriehľadné.
Po výbere mechanizmu Eevee je možné konfigurovať režimy prelínania materiálu.¶
Poznámka
Uvedomte si, že priehľadnosť (alebo režim Alfa prelínanie) je pre mechanizmy v reálnom čase zložitý na prekresľovanie a po exporte sa môže správať neočakávaným spôsobom. Ak je to možné, použite namiesto toho režim Strih alfa alebo umiestniť Nepriehľadné polygóny len za jednu vrstvu polygónov Alfa prelínania.
UV mapovanie¶
Ovládanie výberu a transformácie UV mapy je dostupné pripojením uzla UV mapovanie a uzla Mapovanie k ľubovoľnému uzlu Obrázok textúry.
Nastavenia z uzla Mapovanie sa exportujú použitím rozšírenia glTF s názvom KHR_texture_transform. V hornej časti sa nachádza výber typu mapovania. Odporúčaným typom na export je Bod. Podporované sú aj typy Textúra a Vektor. Podporované posuvy sú:
Poloha - X a Y
Rotácia - iba Z
Mierka - X a Y
Pre typ Textúra musia byť hodnoty Mierka X a Y rovnaké (rovnomerná zmena mierky).
Zámerný výber UV mapovania.¶
Tip
Tieto uzly sú voliteľné. Nie všetky čítačky glTF podporujú viacnásobné UV mapy alebo transformácie textúr.
Faktory¶
Všetky uzly Obrázok textúry môžu byť voliteľne vynásobené konštantnou farbou alebo skalárom. Tie sa zapíšu ako faktory do súboru glTF, čo sú čísla, ktoré sa vynásobia so zadanými textúrami obrazu. Tieto faktory nie sú bežné.
Rozšírenia¶
Základný formát glTF 2.0 možno rozšíriť o ďalšie informácie použitím rozšírení glTF. To umožňuje, aby formát súboru obsahoval podrobnosti, ktoré sa v čase prvého uverejnenia nepovažovali za univerzálne. Nie všetky čítačky glTF podporujú všetky rozšírenia, ale niektoré sú pomerne rozšírené.
Certain Blender features can only be exported to glTF via these extensions. The following glTF 2.0 extensions are supported directly by this add-on:
Import
KHR_materials_pbrSpecularGlossinessKHR_lights_punctualKHR_materials_unlitKHR_texture_transformKHR_materials_clearcoatKHR_mesh_quantization
Export
KHR_draco_mesh_compressionKHR_lights_punctualKHR_materials_clearcoatKHR_materials_transmissionKHR_materials_unlitKHR_texture_transform
Rozšírenia glTF tretích strán¶
It is possible for Python developers to add Blender support for additional glTF extensions by writing their own third-party add-on, without modifying this glTF add-on. For more information, see the example on GitHub and if needed, register an extension prefix.
Užívateľské vlastnosti¶
Užívateľské vlastnosti sú vždy importované a budú exportované z väčšiny objektov, ak je pred exportom zvolená možnosť . Tie sú uložené v poli extra na príslušnom objekte v súbore glTF.
Na rozdiel od rozšírení glTF nemajú vlastné vlastnosti (extra) definovaný priestor názvov a môžu sa používať na akékoľvek účely špecifické pre užívateľa alebo aplikáciu.
Animácia¶
glTF allows multiple animations per file, with animations targeted to particular objects at time of export. To ensure that an animation is included, either (a) make it the active Action on the object, (b) create a single-strip NLA track, or (c) stash the action.
Supported
Only certain types of animation are supported:
Keyframe (translation, rotation, scale)
Kľúčové tvary
Armatures / skinning
Animation of other properties, like lights or materials, will be ignored.
An NLA Strip animation consists of multiple actions on multiple objects that should play together. To create an NLA strip animation with the name „My Animation“, push the action that should play each object onto an NLA track for that object with the name „My Animation“.
Will be exported as an animation called „My Animation“ with ConeAction playing on the Cone and CubeAction playing on the Cube.¶
NLA Strip animations will be exported if the option is selected (on by default). All glTF animations are imported as NLA Strip animations.
If option is disabled, Blender NLA strip actions will be ignored. Only active action of each objects will be taken into account, and merged into a single glTF animation.
Poznámka
Aby bolo možné ukážky animácií kľúčových tvarov riadených ovládačmi použitím transformácií kostí, musia byť na povrchovej sieti objektu, ktorý je priamym potomkom armatúry kostí.
Varianty formátu súborov¶
Špecifikácia glTF určuje rôzne spôsoby ukladania údajov. Importér spracúva všetky tieto spôsoby. Exportér požiada užívateľa o výber jednej z týchto foriem:
Binárne glTF (.glb)¶
Tým sa vytvorí jeden súbor .glb so všetkými údajmi povrchovej siete, textúrami obrázkov a súvisiacimi informáciami zabalenými do jedného binárneho súboru.
Tip
Použitie jedného súboru uľahčuje zdieľanie alebo kopírovanie modelu do iných systémov a služieb.
Oddelené glTF (.gltf + .bin + textúry)¶
Vytvorí sa textový súbor .gltf vo formáte JSON, ktorý popisuje celkovú štruktúru, spolu so súborom .bin obsahujúcim údaje povrchových sietí a vektorov a voliteľne niekoľko súborov .png alebo .jpg obsahujúcich obrazové textúry, na ktoré odkazuje súbor .gltf.
Tip
Ak má užívateľ k dispozícii sortiment samostatných súborov, môže sa po dokončení exportu oveľa ľahšie vrátiť a upraviť JSON alebo obrázky.
Poznámka
Uvedomte si, že zdieľanie tohto formátu si vyžaduje zdieľanie všetkých týchto samostatných súborov spoločne ako skupiny.
Vnorený glTF (.gltf)¶
Vytvorí sa textový súbor .gltf vo formáte JSON so všetkými údajmi o povrchovej sieti a údajmi o obrázku zakódovanými (použitím Base64) v súbore. Táto forma je užitočná, ak sa aktívum musí zdieľať prostredníctvom spojenia, ktoré je len textové.
Varovanie
Táto forma je najmenej účinná z dostupných foriem a mala by sa používať len v prípade potreby.
Vlastnosti¶
Import¶
- Zbaliť obrázky
Zbalí všetky obrázky do blend súboru.
- Tieňovanie
Určuje, ako sa počas importu vypočítajú normály.
- Odhadnúť originálnu väzbu pózy
Určuje pózu pre kosti (a následne pre povrchovej siete s pokožkou) v režime editácie. Ak je zapnutá, pokúša sa odhadnúť pózu, ktorá bola použitá na výpočet inverzných matríc väzieb.
- Smer kostí
Mení heuristiku, ktorú importér používa pri rozhodovaní o umiestnení špičiek kostí. Upozorňujeme, že nastavenie Fortune môže spôsobiť nepresnosti v modeloch, ktoré používajú nerovnomernú zmenu mierky. V ostatných prípadoch je toto nastavenie čisto estetické.
Export¶
- Formát
Pozrite si časť: Varianty formátu súboru.
- Textúry
Folder to place texture files in. Relative to the gltf-file.
- Autorské práva
Zákonné práva a podmienky pre model.
- Zapamätať si nastavenia exportu
Uloží nastavenia exportu do blend súboru, aby sa vyvolali pri ďalšom otvorení súboru.
Zahrnuté¶
- Vybrané objekty
Exportuje len vybrané objekty.
- Užívateľské vlastnosti
Exportuje užívateľské vlastnosti ako extra glTF.
- Kamery
Exportuje kamery.
- Bodové svietidlá
Exportuje smerové, bodové a plošné svetlá. Používa rozšírenie glTF
KHR_lights_punctual.
Transformácia¶
- Y hore
Exportuje použitím konvencie glTF, +Y nahor.
Geometria¶
- Použiť modifikátory
Apply modifiers (excluding armatures) to mesh objects.
- UV
Exportuje UV (súradnice textúr) s povrchovými sieťami.
- Normály
Exportuje normály vrcholov s povrchovými sieťami.
- Dotyčnice
Exportuje dotyčnice vrcholov s povrchovými sieťami.
- Farby vrcholov
Export vertex colors with meshes.
- Materiály
Export materials.
- Obrázky
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size.
Kompresia¶
Kompresia povrchových sietí použitím aplikácie Google Draco.
- Úroveň kompresie
Vyššia kompresia má za následok pomalšie kódovanie a dekódovanie.
- Pozícia kvantizácie
Vyššie hodnoty vedú k lepším kompresným pomerom.
- Normál
Vyššie hodnoty vedú k lepším kompresným pomerom.
- Súradnice textúry
Vyššie hodnoty vedú k lepším kompresným pomerom.
- Všeobecné
Vyššie hodnoty vedú k lepším kompresným pomerom.
Animácia¶
- Use Current Frame
Export the scene in the current animation frame.
Animácia¶
Exports active actions and NLA tracks as glTF animations.
- Limit rozsahu prehrávania
Strihá animácie do vybraného rozsahu prehrávania.
- Snímková frekvencia
Určuje, ako často sa vyhodnotia hodnoty animácie (v snímkach).
- Always Sample Animations
Apply sampling to all animations.
- Group by NLA Track
Whether to export NLA strip animations.
- Export Deformation Bones Only
Export deformation bones only (and needed bones for hierarchy).
Kľúčové tvary¶
Exportuje kľúčové tvary (morfologické ciele).
- Normály kľúčového tvaru
Exportuje normály vrcholov s kľúčovými tvarmi (morfické ciele).
- Dotyčnice kľúčového tvaru
Exportuje dotyčnice vrcholov s kľúčovými tvarmi (morfologické ciele).
Vytvorenie pokožky¶
Export skinning (armature) data.
- Zahrnúť vplyvy všetkých kostí
Umožní viac ako 4 spoločné vrcholové vplyvy. Modely sa môžu v mnohých prehliadačoch zobrazovať nesprávne.
Prispievanie¶
Tento importér/exportér je vyvíjaný prostredníctvom úložiska glTF-Blender-IO, kde môžete podávať hlásenia o chybách, posielať požiadavky na funkcie alebo prispievať kódom.
Diskusia a vývoj samotného formátu glTF 2.0 prebieha na úložisku skupiny Khronos Group glTF GitHub a spätná väzba je vítaná.