Uvoz 3D modela za ARKit

ARKit je nova tehnologija u iOS-u 11 koja omogućuje pregled i interakciju s virtualnim objektima u stvarnom prostoru.

Nije teško pokrenuti i pokrenuti projekt ARKit, ali ubacivanje 3D umjetnosti u njega može predstavljati neke izazove. Srećom, nakon što se vaša umjetnost uvozi, možete izvršiti niz prilagodbi u Xcode-ovom SceneKit Editoru - SceneKit je 3D grafički okvir koji ARKit koristi.

Mi ćemo gledati kako pripremiti vašu umjetnost za ARKit, ući je u SceneKit Editor i izvršiti konačne prilagodbe. Za nastavak ćete trebati iOS uređaj koji podržava ARKit. Ako pokrenete aplikaciju ARKit na simulatoru Xcode, nećete dobiti ništa korisno.

Izradite ARKit projekt

U Xcodeu 9 kreirajte novi projekt. Odaberite iOS> Augmented Reality App.

Xcode će postaviti sve za vas, uključujući mapu art.scnassets koja sadrži primjer SceneKit datoteke: ship.scn.

Sve što dodate na ship.scn prikazat će se u proširenoj stvarnosti kada pokrenete aplikaciju na svom uređaju.

Kliknite na ship.scn da biste vidjeli uređivač SceneKit.

Razumijevanje SceneKit uređivača

Ako ste koristili aplikacije za 3D modeliranje, SceneKit Editor će se činiti pomalo poznatim. Prvo što biste trebali učiniti je sakriti graf scena. Ovdje su navedeni svi predmeti ili "čvorovi" sadržani u sceni. Grafikon vam omogućuje sljedeće:

  • Klikom na čvor u grafikonu scene odabire se taj čvor.
  • Dvaput klikom na čvor zumira kameru na taj čvor.
  • Klikanjem na odabrani čvor omogućit ćete preimenovanje tog čvora.

Na desnoj strani vidjet ćete razne nadzorne ploče. Nas najviše zanimaju kartice Čvor, Materijal i Scena.

  • Čvor je čvor kojim nazivate i transformirate (položaj, razmjera i rotacija). Također možete postaviti vidljivost i sjenčanje.
  • Materijal je taj koji prilagođavate i organizirate teksture čvora.
  • Scena vam omogućuje postavljanje određenih globalnih značajki, poput magle i mapiranja okoline.

U donjem desnom dijelu je okno Knjižnica. Treća kartica ovdje je Knjižnica objekata koja nudi različite korisne stavke poput svjetla i oblika primitiva.

Kretanje po vidikovcu

3D prikazom možete se kretati na sljedeći način:

  • Kliknite i povucite prazan dio okvira za prikaz da biste rotirali prikaz.
  • Pomaknite se da biste pomicali vidik.
  • Držite opcijsku tipku i pomaknite se za povećavanje i smanjivanje.

Izbrišite zadani model i dodajte svoj

U datoteci art.scnassets ship.scn otvorite graf Scena i odaberite nadređeni brod čvora. Pritisnite tipku za uklanjanje da biste je uklonili.

Preuzmite ovu arhivu i pronađite dvije datoteke: rocket.dae i pločicu na šahovnici. Povucite ih u mapu art.scnassets unutar Xcode-a.

Odaberite rocket.dae u Xcode-u i pronađite nadređeni raketni čvor. Odaberite ga i kopirajte (naredba-C). Prebacite se na ship.scn i tamo zalijepite čvor (naredba-V).

Sada možete izbrisati rocket.dae iz Xcode.

Xcode može podnijeti nekoliko različitih 3D datoteka, ali COLLADA (ili .dae) je ono što ćete vidjeti najviše preporučiti. Može sadržavati podatke o modelu, svjetla, materijale, pa čak i animaciju.
Ako vam je ponuđen izbor, odaberite COLLADA verzija 1.4 umjesto 1.5.

Razumijevanje ravnine poda scene

Beskonačna mreža koja prolazi kroz vidokrug sigurno izgleda kao podna ravnina, zar ne? Zapravo, ispostavit će se da je to nešto više kao "razina očiju". To je zato što će ARKit zadati položaj kamere - i virtualni položaj vašeg uređaja - koordinate 0, 0, 0. Dakle, bilo koji čvorovi koje postavite iznad ovoga Čini se da će podrijetlo lebdjeti iznad vas u proširenoj stvarnosti.

Prava AR aplikacija periodično bi ponovno izračunala prizemnu ravninu i usidrila objekte umjesto izvornika kamere. Za sada je dovoljno da možemo svoje radove pregledati negdje u stvarnom prostoru. Samo postavite svoj model malo ispod i ispred centra za scenu - oko 0, –0,5, –1.

Dimenzioniranje vašeg modela

Proširena stvarnost je velika - kako ćete saznati kad ispustite svoj prvi model u ARKit i otkrijete da je prevelik da bi mogao stati u sobu.

Da biste svoje modele smanjili na razumnu veličinu, želite ciljati na SceneKit ograničavajući okvir od oko 1 do 1 jedinice; mislite na to kao na nešto poput brojila. U svojoj 3D aplikaciji možete raditi bez obzira na veličinu koju želite, ali samo budite sigurni da izvozite u dovoljnoj mjeri da biste mogli raditi. U Cinema 4D možete skalirati cijeli projekt odjednom koristeći Edit> Project Scale.

Čekaj,

Morat ćete eksperimentirati da biste pronašli metodu koja vam je najbliža tom 1, 1, 1 cilju.

Rasvjeta vašeg modela

Svjetla možete uvesti zajedno sa svojim modelom, ali lako ih je dodati i u Xcode. U biblioteci Objekta pronađite omni lampicu i povucite je u prikazni okvir. Namjestite ga gdje god želite pomoću strelica osi ili samo povlačenjem.

Povlačenjem jedne od tri strelice osi ograničava kretanje duž te osi, povlačenjem četvrtastog kruga između dviju osi ograničava kretanje duž obje osi, a povlačenjem ruba četvrtine kruga rotira objekt.

tekstura

SceneKit će pokušati prevesti materijale vašeg modela u vlastiti plan, ali vjerovatno ćete ga htjeti prilagoditi. Srećom, SceneKit je i ovdje ovdje bio pokriven.

U inspektoru materijala vidjet ćete popis materijala priključenih na trenutni čvor, kao i svojstva za svaki.

Možete izbrisati materijale iz čvora pomoću gumba delete (-) pri dnu popisa, ali imajte na umu da su materijali koji nisu povezani s bilo kojim čvorom u potpunosti izbrisani iz "biblioteke materijala".

Pomoću gumba add (+) možete povezati postojeći materijal ili stvoriti potpuno novi.

Sve promjene koje unesete u neki materijal prenose u bilo koji čvor koristeći taj materijal. Ako trebate stvoriti kopiju s njezinim svojstvima, možete pritisnuti gumb Unshare (Dijeljenje) na dnu inspektora. Također biste trebali preimenovati materijal (u polju Identitet) da se ne biste zbunili.

Algoritmi osvjetljenja

Prvo svojstvo povezano s materijalom je njegov model rasvjete. Ne brkajte to s „osvjetljenjem vašeg modela“, iako je povezano. Model osvjetljenja ovdje znači algoritam koji će SceneKit koristiti za iscrtavanje vašeg objekta. Navedeni su u redoslijedu od najmanje najsloženijih, s fizički utemeljenim osobinama koje predstavljaju posebnu vrstu o kojoj ćemo u trenu pričati. Primjere različitih modela rasvjete možete vidjeti u Appleovoj dokumentaciji.

Mapiranje slika

Da biste vidjeli nešto od toga u akciji, odaberite čvor Tijelo rakete. U Inspektoru materijala odaberite materijal na ploči. Zamijenite svoj model rasvjete na "Phong." Za svojstvo Diffuse odaberite sliku na pločici-pločica.png. (Ako nije na popisu, možda ćete morati povući sliku u art.scnassets.) Za svojstvo Specular odaberite bijelu boju.

Teksture slike u SceneKitu mapiraju se na čvor prema njegovim koordinatama teksture UVW.

U Cinema 4D možete generirati UVW koordinate za teksturu vašeg objekta u bilo kojem trenutku klikom desne tipke miša na teksturu i odabirom opcije "Stvori UVW koordinate." To znači da možete koristiti ono što projekcija ima najviše smisla za vaš objekt (sferno, cilindrično). itd.), precizno ga prilagodite, a zatim pretvorite u UVW projekciju za SceneKit neposredno prije izvoza.

Fizički utemeljeni materijali

Pronaći ćete neke značajke SceneKita koji će samo dobro pregledati ako je vaš Mac kompatibilan s Appleovim metalnim grafičkim okvirom. (Možda ćete moći nadograditi metalnu kompatibilnost na starijoj Maci nadogradnjom svoje video kartice.) To se posebno odnosi na rad s fizički utemeljenim materijalima.

Čak i na starijim računalima Mac, i dalje možete koristiti ove materijale. Jednostavno ih nećete vidjeti dok isprobate stvari na svom iOS uređaju.

Prikazani fizički prikaz ili PBR pomaže u pojednostavljivanju načina na koji umjetnici misle na površine u stvarnom svijetu. Sadrži sve materijale u tri glavne kategorije: difuznu (ili albedo), metalnost (ili reflektivnost) i hrapavost (ili mikro površinu). Koristeći ova tri svojstva možete predstaviti sve, od satena do zahrđalog metala.

Ponovno odaberite čvor Body, a zatim odaberite inspektor RedPaint u inspektoru materijala. Prebacite model osvjetljenja na "Fizički zasnovan". Ostavite svojstvo Diffuse kao jednostavnu crvenu boju, ali Metalnost promijenite u opciju "Metallic" i ostavite njezinu vrijednost na maksimalnih 1,0. Promijenite hrapavost u Float vrijednost i postavite je na 0,15.

Varanje malo - nećete dobiti isti pregled do sljedećeg koraka.

Nećete u potpunosti iskoristiti PBR osim ako postoji nešto što bi materijal mogao odražavati. Umjetnici će često koristiti HDR mape okoline u tu svrhu (na internetu ih je mnogo slobodno). SceneKit vam to omogućuje, ali u naše svrhe možemo jednostavno raditi s ugrađenim Proceduralnim nebom.

Prebacite se na inspektora scena i odaberite Proceduralno nebo za okoliš. Nemojte prilagoditi nijednu postavku.

Sada odaberite čvor Rocket / Window / Rim i napravite slične promjene na svom ljubičastom materijalu: promijenite model na fizički zasnovan, ostavite Diffuse kakav je, metalnost postavite na 1,0 i hrapavost na 0,15.

To je dobra izgleda raketa! U bilo kojem trenutku možete nadograditi na svoj ARKit uređaj i vidjeti kako stvari izgledaju u "stvarnom svijetu".

Dvostrani materijali

Nakon toga, vrlo brzo ćete primijetiti da postoji problem sa potisnicima naše rakete. Oni su iznutra nevidljivi! Ovo je nazor kako računala prikazuju 3D modele; oni zadaju tretirati samo jednu stranu kao vidljivu.

To nije u redu!

Za ovo u SceneKitu možete jednostavno ispraviti. U Inspektoru materijala odaberite materijal koji prikazuje ovo ponašanje (redPaint, u našem slučaju) i potražite potvrdni okvir "Dvostrani". Uključite to i izgradite ponovo.

S tim što vam ovi "gotchasi" pomažu, spremni ste za izgradnju vlastite čudesne proširene stvarnosti.

(Trebate dodatnu pomoć za SceneKit? Pogledajte članak o nastavku, Rad s 3D modelima u SceneKit.)

Black Pixel kreativna je agencija za digitalne proizvode. Pretplatite se na BPXL obrt i pratite nas na Twitteru.