Kas yra OBJ failas?
OBJ failus naudoja Wavefront Advanced Visualizer programa geometriniams objektams apibrėžti ir saugoti. Per OBJ failus galima perduoti geometrinius duomenis atgal ir pirmyn. OBJ formatu palaiko tiek daugiakampę geometriją, kaip taškai, linijos, tekstūros viršūnės, paviršiai ir laisvos formos geometrija (kreivės ir paviršiai). Šis formatas nepalaiko animacijos ar informacijos, susijusios su šviesa ir scenų padėtimi.
OBJ failas paprastai yra galutinis 3D modeliavimo proceso produktas, sugeneruotas naudojant CAD (kompiuterinį projektavimą). Numatytoji viršūnių saugojimo tvarka yra prieš laikrodžio rodyklę, vengiant aiškaus veido normalių deklaravimo. Nors OBJ failai komentarų eilutėje deklaruoja mastelio informaciją, OBJ koordinatėms nebuvo deklaruoti jokie vienetai.
3D OBJ formato istorija
Wavefront Technologies created OBJ file format for its Advanced Visualizer application to store geometric objects and 3D data. Its version 2.11 is superseded by a newly documented version 3. Failo formatas yra atviras ir jį įdiegė kiti pardavėjai savo 3D grafikos programai. Wavefront Technologies išlaikė šį failo formatą atviro kodo ir neutralų.
OBJ failo formatas
3D objektuose paviršiaus geometrijos kodavimas yra sudėtingas darbas, kurį labai gerai atliko OBJ failo formatas. Šis formatas yra gana universalus, nes siūlo daugybę pasirinkimų, kaip koduoti paviršiaus geometriją. Toliau pateikiami trys leidžiami formatai, turintys savo privalumų ir trūkumų:
Teseliacija su daugiakampiais paviršiais
OBJ failo formatas leidžia vartotojui sudaryti 3D modelio paviršių, naudojant paprastas arba sudėtingas geometrines figūras. Modelio paviršiaus geometrijos koduotėje faile saugomos kiekvieno daugiakampio viršūnės ir normaliosios. Nors teseliacija padidina modelio šiurkštumą, tačiau būtina atrasti teisingą failo dydžio ir spausdinimo kokybės pusiausvyrą.
Laisvos formos kreivė
OBJ failo formatas leidžia vartotojo apibrėžtoms laisvos formos paviršiaus kreivėms nurodyti modelio paviršiaus geometriją. Kadangi laisvos formos kreivės yra sudėtingesnės nei daugiakampiai paviršiai, nes, turint keletą matematinių parametrų, lenktas linijas geriausiai galima apibrėžti laisvos formos kreivėmis. Todėl naudojant mažiau duomenų, palyginti su daugiakampiais teseliacijomis, laisvos formos kreivės naudojamos aukštos kokybės bet kokio 3D modelio kodavimui nedidinant failo dydžio.
Laisvos formos paviršiai
OBJ failo formatas taip pat nurodo paviršiaus geometrijos plyteles su laisvos formos paviršiaus lopais. Tokio tipo laisvos formos paviršiaus lopai (NURBS) labai tinka paviršiams be standžių radialinių matmenų, pavyzdžiui, sunkvežimio kėbului, sraigtasparnio sparnams ar valties korpusui. Laisvos formos paviršių naudojimas yra labai naudingas, nes jie yra tikslesni, kad failų dydis būtų mažesnis ir didesnis tikslumas. Šie paviršiai yra svarbi aviacijos ir automobilių pramonės dalis, kur mažas tikslumas yra negailestingas.
Šie raktiniai žodžiai yra išdėstyti pagal duomenų tipą, siekiant apibrėžti paviršiaus geometriją.
Elementai | Laisvos formos kreivės / paviršiaus korpuso teiginiai | Laisvos formos kreivės / paviršiaus atributai |
---|---|---|
p | Taškas | parm |
l | Line | trim |
f | Veidelis | skylė |
kreivė | kreivė | scrv |
curv2 | 2D curve | sp |
surf | Paviršius | pabaiga |
Rodyti / pateikti atributus | g | Grupės pavadinimas |
nuožulnis | Kūgio interpoliacija | shadow_obj |
lod | Išsamumo lygis | trace_obj |
d_interp | Išspręskite interpoliaciją | ctech |
c_interp | Spalvų interpoliacija | stech |
usemtl | Medžiagos pavadinimas | mtllib |
Geometrinės viršūnės | ||
v | Geometrinės viršūnės | vn |
vt | Tekstūros viršūnės | vp |
Spalva ir tekstūra
OBJ failas leidžia išsaugoti informaciją apie spalvą ir tekstūrą susijusiu failo formatu, vadinamu Medžiagos šablonų biblioteka (MTL). Daugiaspalviai geometriniai modeliai atvaizduojami naudojant šiuos du failus kartu. MTL failai yra pagrįsti ASCII ir palengvina kompiuterinį atvaizdavimą, aprašydami paviršiaus šviesą atspindinčias savybes naudojant Phong atspindžio modelį. Standartą priėmė daug programinės įrangos pardavėjų, kurie naudojasi jo pranašumais keičiantis medžiagomis. MTL formatas yra šiek tiek pasenęs, nes nepalaiko naujausių technologijų, tokių kaip veidrodiniai ir paralaksiniai žemėlapiai.