Dostali jste barevný model ve formátu OBJ, na počítači vypadal skvěle, ale v telefonu je celý šedý. Nebo vám prohlížeč hlásí, že chybí materiály. Hledáte OBJ prohlížeč, který ukáže i barvy. Problém skoro nikdy není v samotném modelu, ale v tom, že barvy nejsou v souboru OBJ. Jsou v druhém souboru, který se jmenuje MTL.
Stručně: OBJ obsahuje tvar, barvy jsou v doprovodném souboru .mtl. V Androidu vyberte při otevírání oba soubory najednou (OBJ i MTL), pak prohlížeč barvy zobrazí. Textury z obrázků (JPG, PNG) bývají vázané na cesty k souborům. Pro samotný tisk je jednobarevné STL nebo 3MF často praktičtější.
Jak funguje OBJ a MTL
OBJ je textový formát starý několik desetiletí, rozšířený hlavně v grafice a 3D modelování. Soubor obsahuje vrcholy (v), plochy (f) a odkazy na materiály. Na začátku bývá řádek jako:
mtllib vaza.mtl
Ten říká: „barvy hledej v souboru vaza.mtl“. Dále v souboru jsou řádky usemtl glazura, které určují, jaký materiál mají následující plochy. A v MTL je pak definice, například Kd 0.80 0.35 0.20, což je difuzní barva v hodnotách RGB od 0 do 1, tady cihlově oranžová.
OBJ i MTL jsou tedy dva samostatné soubory, které musí cestovat spolu. Když pošlete jen OBJ, příjemce uvidí šedý model.
Proč barvy mizí: nejčastější příčiny
| Příznak | Příčina | Řešení |
|---|---|---|
| Model je celý šedý | Chybí soubor MTL | Vyžádejte si MTL a otevřete oba soubory |
| Šedý, i když MTL máte | Otevřeli jste jen OBJ | Ve výběru souborů označte OBJ i MTL |
| Barvy sedí jen zčásti | Název v mtllib neodpovídá skutečnému názvu | Přejmenujte MTL podle řádku v OBJ |
| Chybí textura (vzor, fotka) | Obrázek textury chybí nebo má cestu z cizího počítače | Zkontrolujte cesty v MTL, např. map_Kd C:\Users\... |
| Hlášení o souboru materiálů | Otevřeli jste jen MTL | Vyberte i model .obj |
Pozor na posílání přes chat: některé aplikace soubory přejmenují nebo pošlou jen jeden z nich. Nejjistější je zabalit OBJ, MTL a textury do jednoho ZIP archivu a ten v telefonu rozbalit.
OBJ prohlížeč v Androidu: otevření i s barvami
Postup v aplikaci STL Viewer:
- Uložte oba soubory (např.
vaza.objavaza.mtl) do stejné složky v telefonu, třeba do Stažených. - V aplikaci klepněte na „Otevřít soubor“.
- Ve výběru souborů dlouze podržte první soubor, pak klepněte na druhý, aby byly označené oba. Potvrďte výběr.
- Model se otevře s barvami. Pokud ne, klepněte na panelu nástrojů na Barva a zvolte Barvy ze souboru.
Pokud otevřete OBJ bez MTL, aplikace model zobrazí ve vámi zvolené barvě a upozorní, že barvy chybí a je třeba otevřít MTL spolu s OBJ. A pokud omylem otevřete jen MTL, dozvíte se, že jde o soubor materiálů a máte ho vybrat spolu s modelem. Vyzkoušet si to můžete na ukázkovém modelu vázy, který je právě OBJ + MTL. Více v návodu k otevírání souborů.
Poznámka: STL Viewer zobrazuje barvy materiálů z MTL. Fotorealistické textury a složité materiály (lesk, průhlednost, mapy normál) jsou doménou grafických programů; pro kontrolu tvaru a rozměrů před tiskem je ale nepotřebujete.
OBJ a jednotky: pozor na metry
Stejně jako STL, ani OBJ neukládá jednotky. Prohlížeč předpokládá milimetry. Grafické programy ale často pracují v metrech nebo „jednotkách scény“. Model sošky vysoké 15 cm pak může přijít s výškou 0,15 a v milimetrech vypadá jako zrnko prachu. Opačně model z programu v centimetrech bude desetkrát menší, než čekáte.
Prohlížeč umí soubor přepnout jen mezi milimetry a palci. Pokud je OBJ v metrech nebo centimetrech, upravte měřítko při exportu nebo ve sliceru (×1000 pro metry, ×10 pro centimetry). S Premium můžete v aplikaci použít Měřítko a export, zadat cílový rozměr, třeba výšku 150 mm, a uložit výsledek jako binární STL; aplikace přitom ohlídá povolený rozsah měřítka. Postup popisuje článek změna měřítka STL.
Kdy pro tisk raději použít STL nebo 3MF
OBJ je skvělý pro prohlížení barevných modelů, ale pro tisk má slabiny:
- Modely z grafiky často nejsou uzavřené (vodotěsné), protože pro vykreslení to není potřeba. Před tiskem zkontrolujte stav „Vodotěsný“, víc v článku o uzavřené síti.
- Bývají v nevhodných jednotkách.
- Barvy z MTL slicer pro vícebarevný tisk obvykle nepřevezme tak, jak potřebujete.
Pro jednobarevný tisk proto stačí STL. Pro vícebarevný tisk je lepší 3MF, který nese barvy i jednotky v jednom souboru; viz článek co je 3MF soubor.
Příklad z praxe
Grafička vám pošle e-mailem logo firmy jako logo3d.obj a logo3d.mtl, chcete ho vytisknout jako stojánek. V telefonu otevřete oba soubory a zjistíte: rozměry 0,12 × 0,03 × 0,01 (metry!), Vodotěsný: Ne. Hned víte, že je potřeba požádat o export v milimetrech a s uzavřenou sítí, ještě než model otevřete ve sliceru. Úspora času: jedna zbytečná zpráva tam a zpět místo nepovedeného tisku. Až dorazí opravená verze, porovnejte čísla znovu: výška by teď měla odpovídat skutečnému rozměru stojánku a řádek Vodotěsný by měl ukázat „Ano“.
Na tyhle rychlé kontroly si nainstalujte STL Viewer z Google Play; OBJ, MTL i ostatní formáty otevře offline a nikam je nenahrává. Další podrobnosti najdete na webu STL Vieweru.
Časté otázky
Proč je můj OBJ model šedý?
Barvy jsou v samostatném souboru MTL. Pokud chybí nebo ho neotevřete spolu s OBJ, prohlížeč ukáže model bez barev.
Jak otevřu OBJ i MTL najednou?
Uložte oba soubory do jedné složky a ve výběru souborů označte oba. STL Viewer pak barvy z MTL zobrazí.
Můžu OBJ rovnou tisknout?
Mnoho slicerů OBJ načte, ale modely z grafiky často nejsou vodotěsné a bývají v jiných jednotkách. Zkontrolujte rozměry a uzavřenost sítě.