Kui see sügisel ilmub iOS 7, saame oma Apple'i seadmetesse hunniku uusi funktsioone. Lisaks täielikult ümber kujundatud, kohati isegi vastuolulisele välimusele pakub Apple meile täiesti uut kasutajanaudingu paradigmat. Tundub, et Apple soovib selle drastilise sammuga oma mobiilisüsteemi järgmiseks kümnendiks ette valmistada.
Uudsuste hulgas on nn parallaksiefekt. Kui ma peaksin tsiteerima Vikipeedia, parallaks (kreeka keelest παράλλαξις (parallaksis), mis tähendab "muutust") on nurk, mis on piiratud kahest erinevast ruumikohast vaadeldava punktini tõmmatud sirgjoontega. Parallaksit nimetatakse ka näiliseks erinevuseks punkti asukohas tausta suhtes kahest erinevast kohast vaadatuna. Mida kaugemal on vaadeldav objekt vaatluspunktidest, seda väiksem on parallaks. Tõenäoliselt läheb enamikule koolipinkide ja igavate füüsikatundide mälestusest kananahk.
Praktikas tähendab see lihtsalt seda, et natuke nutika programmeerimisega muutub ekraan millekski enamaks. Järsku pole see lihtsalt kahemõõtmeline pind ikoonide ja muude kasutajakeskkonna elementidega maatriksitega, vaid klaaspaneel, mille kaudu on kasutajal võimalik seadet filmides näha ruumilist maailma.
Perspektiiv ja parallaks
Kahemõõtmelisel kuvaril funktsionaalse parallaksi efekti loomise põhiprintsiip on üsna lihtne. Kuna valgus läbib silma ühte punkti, pidi aju õppima ära tundma objektide suurust nende servade vahelise nurga suhtes. Tulemuseks on see, et lähemal asuvad objektid tunduvad suured, kaugemal asuvad objektid aga väikesed.
Need on perspektiivi tajumise põhitõed, millest olen kindel, et igaüks teist on mingil hetkel kuulnud. Parallaks on selles iOS-i kontekstis näiv liikumine nende objektide vahel, kui te nende ümber liigute. Näiteks autoga sõites liiguvad lähemal asuvad objektid (puud õlgade ääres) kiiremini kui kaugemal asuvad objektid (künkad kauguses), kuigi nad kõik seisavad paigal. Kõik vahetab sama kiirusega oma kohti erinevalt.
Lisaks mitmetele muudele füüsikatrikkidele mängivad perspektiiv ja parallaks meie ümbritseva maailma tajumisel väga olulist rolli, võimaldades meil sorteerida ja mõista erinevaid visuaalseid aistinguid, mida meie silmad tabavad. Lisaks perspektiivitundega fotograafid neile meeldib mängida.
Rakettidest telefonideni
IOS-is simuleerib parallaksiefekti täielikult operatsioonisüsteem ise, pisut abiks on algselt kanderakettide jaoks välja töötatud tehnoloogia. Uusimate iOS-i seadmete sees on vibreerivad güroskoobid, juuksekarvast väiksemad seadmed, mis elektrilaenguga kokku puutudes võnguvad etteantud sagedusel.
Niipea, kui hakkate seadet liigutama piki mõnda kolmest teljest, hakkab kogu mehhanism Newtoni esimesest seadusest ehk inertsiseadusest tulenevale orientatsioonimuutusele vastu pidama. See nähtus võimaldab riistvaral mõõta seadme pööramise kiirust ja suunda.
Lisage sellele kiirendusmõõtur, mis suudab tuvastada seadme orientatsiooni, ja saame ideaalse andurite koosmõju, et tuvastada väga täpselt parallaksiefekti tekitamiseks vajalikud andmed. Neid kasutades saab iOS hõlpsasti välja arvutada kasutajakeskkonna üksikute kihtide suhtelise liikumise.
Parallaks kõigile
Parallaksi ja sügavuse illusiooni probleemi saab lihtsal viisil lahendada tänu matemaatikale. Ainus, mida tarkvara teadma peab, on sisu korraldamine tasapindadeks ja seejärel liigutada neid sõltuvalt nende tajutavast kaugusest silmadest. Tulemuseks on sügavuse realistlik esitus.
Kui olete vaadanud WWDC 2013 või iOS 7 tutvustav video, näidati parallaksiefekti selgelt ikooni põhiekraanil. iPhone’i liigutades hõljuvad need justkui tausta kohal, mis loob kunstliku ruumimulje. Teine näide on avatud vahelehtede peen liikumine Safaris.
Täpsed üksikasjad on aga praegu varjatud saladustega. Ainult üks on selge – Apple kavatseb kogu süsteemis parallaksi põimida. See võib lõppude lõpuks olla põhjus, miks iOS 7 ei toetata iPhone 3GS-is ja esimese põlvkonna iPadis, kuna kummalgi seadmel pole güroskoopi. Võib eeldada, et Apple avaldab API kolmandate osapoolte arendajatele, et saada kasu ka kolmandast dimensioonist, ilma suurema energiatarbimiseta.
Geniaalne või pätt?
Kuigi enamikku iOS 7 visuaalsetest efektidest saab kõikehõlmavalt kirjeldada, nõuab parallaks oma kogemust. Saate vaadata kümneid videoid, olgu ametlikud või muud, kuid kindlasti ärge hinnake parallaksiefekti ilma seda ise proovimata. Vastasel juhul jääb mulje, et see on ainult "silma" efekt.
Kuid kui olete iOS 7 seadme kätte saanud, näete ekraani taga teist mõõdet. See on midagi, mida on väga raske sõnadega kirjeldada. Ekraan ei ole enam lihtsalt lõuend, millele renderdatakse päris materjalide imitatsioone kuvavad rakendused. Need on asendatud visuaalsete efektidega, mis on samal ajal sünteetilised ja realistlikud.
Enam kui tõenäoline, et kui arendajad hakkavad parallaksiefekti kasutama, on rakendused sellest ülekoormatud, kuna kõik püüavad leida õiget viisi selle kasutamiseks. Olukord stabiliseerub aga peagi, nagu ka eelmiste iOS-i versioonide puhul. Ent samal ajal näevad ilmavalgust täiesti uued rakendused, mille võimalustest võime täna vaid unistada.
küsimus on selles, et kui nad API kolmanda osapoole arendajatele välja annavad, ei kasuta konkurents seda kiiresti... ?! Sellest oleks kahju! :(
Paralaxi reaalajas taustpilt ilmus Androidile mõni päev pärast ios7 kasutuselevõttu. Juhtkeskus umbes nädala pärast.
Paralax Live tapeet ilmus tükk aega enne iOS 7 :-) Kui mul oli LG Optimus 3D, oli mul kahju, et see kasutas ainult teatud asjades 3D-d, nii et panin reaalajas taustapildi, mis simuleeris 3D-efekti :-) Parallax Barrier peidab endas ka LG Optimus 3D ja HTC EVO 3D tehnoloogiat ning nüüd isegi paar uut telerit. Selle prillideta 3D-tehnoloogia algne tootja oli pardaarvutites BMW, et juht saaks vaadata navigatsiooni ja kaasreisija filmi. Muidu iOS 7 puhul ilmneb see efekt päris tihti – töölaual, Safaris, lukustatud töölaual panoraamfotode kasutamisel ja ka helitugevuse vähendamisel. Mind häirib lihtsalt see, et nad kustutavad üksikutes beetates suhteliselt lahedaid funktsioone. Sõnumite läbipaistev klaviatuur on kadunud, läbipaistev teavitusriba on kadunud….
Kolmandate osapoolte arendajate API-l pole sellele erilist mõju. Konkureerivad süsteemid ei saa seda API-d kasutada, nii et ainus asi, mida teha jääb, on see pöördprojekteerida. Ja sellel pole nii hästi dokumenteeritud* efekti puhul erilist mõtet.
*nüüd ma arvan, et iOS-ist täpset koodi kuskilt ei leia, aga parallaks, nagu ka perspektiiv, on üsna tuntud ja uuritud nähtus.
NDA-ga seotud arendajana ei saa ma öelda, et iOS 7 sisaldab Motion Effects API-t. Ja ma ei saa öelda, et kasutasin seda kohe pärast esimese beetaversiooni ilmumist ja et see on suurepärane.
:D
Igal juhul oli arendajatel alati juurdepääs kiirendusmõõturile ja güroskoobile, sellepärast see seal on. Siin on eeliseks see, et Apple ... ee ... saab lihtsalt ühendada efektid iga UIView-ga, millel võib olla mis tahes parameeter (suurus, asend jne) seadme pöörlemise ja liikumise põhjal.
Nende efektide täielik API on juba ammu välja antud... Seda ma ütleks, kui saaksin sellest rääkida :)
Mäletan, et mingis iOS6 beetaversioonis muutis helitugevuse liugur peegeldusi olenevalt seadme kaldest ja teravas versioonis polnud midagi.
Mul on iOS 7 beetaversioon olnud juba paar kuud, kuid kui ma õigesti mäletan, on see efekt tavaliselt iOS 6.1 teravas versioonis olemas. Aga ma võin eksida, ma tõesti ei saa seda kuskil kontrollida, mul on iOS 7 igal pool.
Vabandust, et kirjutan terve artikli liikuvast taustast – kuna käes on kurgihooaeg.
Ilmsem on see, et sa ei tea, millest jutt, et see pole lihtsalt tavaline liikuv taust.
Hea artikkel, mis on täis konkreetset teavet.
Suurepärane artikkel. Ootasin juba ammu midagi parallaksi kohta, kui Apple seda kasutas. Sellel võib olla palju uusi võimalusi.
Tore artikkel
See näeb juba videost ilus välja ja ma ei kujuta ette, kui hämmastav see on, kui see minu iPhone'is on. Hiilgus!
Fakt on see, et Androidil on see juba ammu olemas, rakenduse kujul ja see ei häiri eriti kedagi.
See ei tööta iPhone 4-ga…
Ma kardan, mis taskulamp selle kohta ütleb, see on kena osa lisaarvutustest.
Mis saab füüsikatunnis igav olla?
Füüsika on ju üks huvitavamaid teadusi!!!
Artikkel on väga huvitav, kuid mõned asjad pole täpselt lahti seletatud. Esiteks on parallaks pigem kaht erinevat vaatluspunkti ja objekti ühendavate joonelõikude vaheline nurk, mis on alati väiksem kui sirgnurk (Wiki on selles osas üsna ebatäpne – raske on täpsustada, mis nurk on kahe sirge nurk). Ja siis Newtoni seaduse juurde: kui hakkame telefoni liigutama, anname sellele kiirenduse. Kuid inertsiseadus ei käsitle kiirendust üldse. Põhimõte, millel see funktsioon põhineb, tuleneb pigem mitteinertsiaalsete tugisüsteemide omadustest, mida käsitles ka Newton, kuid mitte osana oma esimesest liikumisseadusest.
“Ja siis Newtoni seaduse juurde: kui hakkame telefoni liigutama, anname sellele kiirenduse. Kuid inertsiseadus ei käsitle kiirendust üldse."
Ma ei saa aru, kuidas see argument tõestab, et see pole inertsiseadus.
Minu mäletamist mööda töötab güroskoop impulsi momendi muutmise põhimõttel, mis tekitab jõudu. Ja see sõltub inertsimomendist. Nii et minu arvates on see pöörleva süsteemi jaoks nii inertsi kui ka jõu seadus.
Ärge ajage kiirendusmõõturit güroskoobiga segi. Kiirendusmõõtur registreerib objekti kiirenduse inertsist. Güroskoop on kolmeteljelises rootoris asuv hooratas, mille tõttu ei muuda see hooratas kogu seadme pöörlemise ajal oma asendit maapinna suhtes.
Alumine rida – kiirendusmõõtur tajub liikumist, güroskoop aga asendit (pöörlemist). ;)
Tänan hoiatuse eest, aga ma tõesti ei aja neid kahte segamini. Parallaksil pole kiirendusmõõturiga midagi pistmist, see juhib güroskoopi.
Teie kirjeldatud güroskoop pole tegelikult iPhone'is. Seal on mehaaniline ruudustik, mis pöörlemisel deformeerub, nii et seal ei pöörle midagi iseenesest (nii töötab klassikaliselt güroskoop, nt Vikipeedias kirjeldatud).
See deformatsioon on aga tõesti põhjustatud pöörlemisinertsist, nii et... millegipärast ma ei saa aru, kust sa selle idee said, et ajad kiirendusmõõturi güroskoopiga segi (kiirendusmõõturist polnud üldse juttugi).
Ma ei väida, et parallaksil on midagi pistmist kiirendusmõõturiga ;). Güroskoop ei tööta impulsi muutumise põhimõttel – see tähendaks, et ta reageerib ainult kiirendusele (p=m*v). Impulsi muutus tähendaks seega (konstantse massi eeldusel) kiiruse muutumist – kiirendust. Kuid güroskoop reageerib ka asendi muutumisele ühtlase sirgjoonelise liikumise ajal. Hooratta kerele rakendatakse aga inerts (kas seda esindab klassikaline raske ratas või ruudustik).
Muidu olen sinuga muidugi nõus, et Martin Hájeki väide esimese liikumisseaduse kohta on kuidagi hambutu. Kuigi kiirenduse suurus selles seaduses otseselt ei ilmne, vastab see sisuliselt küsimusele: miks on kiirendus tuvastatav isegi inertsiaalses tugiraamistikus...
Kokkuvõtteks märgin ära, et füüsika on ilus ja mul ei hakanud sellest kunagi igav :D
"Sellele vaatamata reageerib güroskoop ühtlase sirgjoonelise liikumise ajal ka asendi muutumisele."
Ma ei saa sellest üldse aru :) Kuidas saab miski reageerida liikumisele Eq-ga. esmane liikumine? Kas see ei oleks vastuolus kõigi inertsiaalsete tugiraamistike võrdsusega?
Aga kell on juba üle südaöö :D Nii et ära enam mõtle.
Välja arvatud see, et kui see on iOS 7-s kuskil, on see ainult avakuval. Ma pole seda mujal eriti märganud. Nii et ma ei näeks seda aku tarbimisega mustana. Lõppude lõpuks on iOS 7 vastupidavus võrreldes iOS 6-ga peaaegu sama, kui mitte parem (beeta5)
Siis näiteks Safari vahekaartidel.
isegi lukustuskuval liigub animeeritud tapeet seda "tehnoloogiat" või kuidas iganes seda nimetada
Suurepärane artikkel!
Aerorakendus on nüüd tasuta
Sisaldab ülalmainitud efekti :)