Kai jis bus išleistas rudenį "iOS 7, savo „Apple“ įrenginiuose turėsime daugybę naujų funkcijų. Be visiškai pertvarkytos, kartais net prieštaringos išvaizdos, „Apple“ mums siūlo visiškai naują vartotojo malonumo paradigmą. Panašu, kad šiuo drastišku žingsniu „Apple“ nori paruošti savo mobiliąją sistemą ateinančiam dešimtmečiui.
Tarp naujovių yra vadinamasis paralakso efektas. Jei turėčiau cituoti Vikipedija, paralaksas (iš graikų παράλλαξις (paralaksė), reiškiantis „pokytis“) yra kampas, kurį sudaro tiesios linijos, nubrėžtos iš dviejų skirtingų erdvės vietų iki stebimo taško. Paralaksas taip pat vadinamas akivaizdžiu taško padėties skirtumu fono atžvilgiu, kai žiūrima iš dviejų skirtingų vietų. Kuo toliau nuo stebėjimo taškų yra stebimas objektas, tuo mažesnis paralaksas. Tikriausiai daugumai iš jūsų kyla žąsies oda prisiminus mokyklos suolus ir nuobodžius fizikos pamokas.
Praktiškai tai paprasčiausiai reiškia, kad šiek tiek sumaniai programuojant ekranas paverčiamas kažkuo daugiau. Staiga tai ne tik dvimatis paviršius su piktogramų ir kitų vartotojo aplinkos elementų matricomis, o stiklinė plokštė, per kurią vartotojas filmuodamas įrenginį geba matyti trimatį pasaulį.
Perspektyva ir paralaksas
Pagrindinis principas, kaip sukurti funkcinį paralakso efektą dvimačiame ekrane, yra gana paprastas. Kadangi šviesa pro akį patenka į vieną tašką, smegenys turėjo išmokti atpažinti objektų dydį, palyginti su kampu tarp jų kraštų. Rezultatas yra tai, kad arčiau esantys objektai atrodo dideli, o tolimi objektai atrodo maži.
Tai yra perspektyvinio suvokimo pagrindai, kuriuos, esu tikras, kiekvienas iš jūsų kada nors girdėjo. Paralaksas šiame iOS kontekste yra akivaizdus judėjimas tarp šių objektų judant aplink juos. Pavyzdžiui, kai važiuojate automobiliu, arčiau esantys objektai (medžiai prie pečių) juda greičiau nei tolimesni (kalvai tolumoje), nors jie visi stovi vietoje. Viskas tuo pačiu greičiu keičia savo vietas skirtingai.
Kartu su keletu kitų fizikos gudrybių, perspektyva ir paralaksas vaidina labai svarbų vaidmenį suvokiant mus supantį pasaulį, todėl galime rūšiuoti ir suprasti įvairius regėjimo pojūčius, kuriuos užfiksuoja mūsų akys. Be to, fotografai, turintys perspektyvos jausmą jiems patinka žaisti.
Nuo raketų iki telefonų
„IOS“ paralakso efektą visiškai imituoja pati operacinė sistema, šiek tiek padedant technologijoms, iš pradžių sukurtoms nešančiosioms raketoms. Naujausiuose iOS įrenginiuose yra vibruojantys giroskopai – prietaisai, mažesni už žmogaus plauką, kurie svyruoja tam tikru dažniu, kai juos veikia elektros krūvis.
Kai tik pradedate prietaisą judinti išilgai bet kurios iš trijų ašių, visas mechanizmas pradeda priešintis orientacijos pokyčiams dėl pirmojo Niutono dėsnio arba inercijos dėsnio. Šis reiškinys leidžia aparatūrai išmatuoti įrenginio sukimosi greitį ir kryptį.
Pridėkite akselerometrą, galintį aptikti įrenginio orientaciją, ir gausime idealią jutiklių sąveiką, kuri labai tiksliai aptiktų reikiamus duomenis, kad būtų sukurtas paralakso efektas. Naudodamiesi jais, iOS gali lengvai apskaičiuoti santykinį atskirų vartotojo aplinkos sluoksnių judėjimą.
Paralaksas visiems
Paralakso ir gylio iliuzijos problemą galima lengvai išspręsti matematikos dėka. Vienintelis dalykas, kurį programinė įranga turi žinoti, yra suskirstyti turinį į plokštumų rinkinį ir perkelti jas atsižvelgiant į suvokiamą atstumą nuo akių. Rezultatas bus tikroviškas gylio perteikimas.
Jei žiūrėjote WWDC 2013 arba iOS 7 įvadinis vaizdo įrašas, paralakso efektas buvo aiškiai parodytas pagrindiniame piktogramų ekrane. Perkeliant iPhone jie tarsi plaukia virš fono, o tai sukuria dirbtinį erdvės įspūdį. Kitas pavyzdys yra subtilus atidarytų skirtukų judėjimas „Safari“.
Tačiau tikslią informaciją kol kas gaubia paslaptis. Aišku tik viena – „Apple“ ketina įpinti paralaksą visoje sistemoje. Galų gale, tai gali būti priežastis, kodėl „iOS 7“ nebus palaikoma „iPhone 3GS“ ir pirmosios kartos „iPad“, nes nė vienas įrenginys neturi giroskopo. Galima tikėtis, kad „Apple“ išleis API, skirtą trečiųjų šalių kūrėjams, kad jie taip pat galėtų pasinaudoti trečiuoju aspektu, nenaudodami daug energijos.
Genijus ar blizgučiai?
Nors daugumą „iOS 7“ vaizdinių efektų galima išsamiai apibūdinti, paralaksui reikia savo patirties. Galite žiūrėti dešimtis oficialių ar kitokių vaizdo įrašų, tačiau tikrai neįvertinkite paralakso efekto neišbandę patys. Priešingu atveju susidarys įspūdis, kad tai tik „akių“ efektas.
Tačiau kai į rankas paimsite „iOS 7“ įrenginį, už ekrano pamatysite kitą dimensiją. Tai yra kažkas, ką labai sunku apibūdinti žodžiais. Ekranas nebėra tik drobė, ant kurios pateikiamos aplikacijos, vaizduojančios tikrų medžiagų imitacijas. Juos pakeičia vaizdiniai efektai, kurie bus sintetiniai ir tuo pat metu tikroviški.
Labiausiai tikėtina, kad kai kūrėjai pradės naudoti paralakso efektą, programos bus perpildytos juo, nes visi bandys rasti tinkamą būdą jį naudoti. Tačiau situacija greitai stabilizuosis, kaip ir su ankstesnėmis iOS versijomis. Tačiau tuo pačiu dienos šviesą išvys visiškai naujos aplikacijos, apie kurių galimybes šiandien galime tik pasvajoti.
Kyla klausimas, jei jie išleis API trečiųjų šalių kūrėjams, konkurencija jos greitai nepanaudos... ?! Tai būtų gėda! :(
„Paralax“ tiesioginis ekrano užsklanda buvo išleista „Android“ praėjus kelioms dienoms po „ios7“ pristatymo. Įtariu, kad maždaug po savaitės valdymo centras.
„Paralax Live“ ekrano užsklanda buvo išleista daug anksčiau nei „iOS 7“ :-) Kai turėjau LG Optimus 3D, gailėjausi, kad jis naudojo 3D tik kai kuriuose dalykuose, todėl įdėjau tiesioginį ekrano užsklandą, imituojantį 3D efektą :-) Parallax Barrier taip pat slepia technologiją, kurią turėjo LG Optimus 3D ir HTC EVO 3D, o dabar net kelis naujus televizorius. Originalus šios technologijos 3D be akinių gamintojas buvo BMW borto kompiuteriuose, kad vairuotojas galėtų žiūrėti navigaciją, o keleivis – filmą. Šiaip iOS 7 šis efektas pasirodo gana dažnai – darbalaukyje, Safari, užrakintame darbalaukyje naudojant panoramines nuotraukas, taip pat ir sumažinus garsumą. Mane tiesiog erzina, kad jie ištrina gana šaunias atskirų beta versijų funkcijas. Permatomos klaviatūros žinutėse nebėra, skaidrios pranešimų juostos nebėra...
Trečiųjų šalių kūrėjams skirta API tam neturi didelės įtakos. Konkuruojančios sistemos negali naudoti šios API, todėl belieka tik ją pakeisti. Ir tai neturi didelės prasmės su tokiu gerai dokumentuotu* efektu.
*dabar nemanau, kad niekur rasite tikslaus kodo iš iOS, bet paralaksas, kaip ir perspektyva, yra gana gerai žinomas ir ištirtas reiškinys.
Kaip kūrėjas, privalomas NDA, negaliu pasakyti, kad „iOS 7“ apima „Motion Effects“ API. Ir negaliu pasakyti, kad panaudojau iš karto po pirmosios beta versijos išleidimo ir kad jis yra puikus.
:D
Bet kokiu atveju kūrėjai visada turėjo prieigą prie akselerometro ir giroskopo, todėl jis ten yra. Privalumas čia yra tas, kad Apple ... erm ... gali tiesiog prijungti efektus prie kiekvieno UIView, kuris gali turėti bet kokį parametro (dydžio, padėties ir kt.) kintamąjį pagal įrenginio sukimąsi ir judėjimą.
Pilna API šiems efektams jau seniai išleista... Taip ir sakyčiau, jei galėčiau apie tai pakalbėti :)
Prisimenu, kad kai kuriose iOS6 beta versijose garsumo slankiklis keitė atspindžius priklausomai nuo įrenginio pakreipimo, o aštriame variante nieko nebuvo.
Jau keletą mėnesių turiu iOS 7 beta versiją, bet jei gerai prisimenu, šis efektas paprastai yra iOS 6.1 aštrioje versijoje. Bet galiu klysti, tikrai niekur negaliu patikrinti, visur turiu iOS 7.
Atsiprašau, kad parašiau visą straipsnį apie judantį foną, nes dabar agurkų sezonas.
Akivaizdu, kad tu nežinai, apie ką tai, kad tai ne tik eilinis judantis fonas.
Puikus straipsnis, pilnas konkrečios informacijos.
Puikus straipsnis. Aš ilgai laukiau kažko apie paralaksą, kai jį naudojo Apple. Tai gali turėti daug naujų galimybių.
Puikus straipsnis
Iš vaizdo įrašo jis jau atrodo gražiai ir neįsivaizduoju, koks nuostabus jis bus, kai turėsiu jį savo iPhone. Šlovė!
Faktas yra tas, kad Android jį turi jau seniai, aplikacijos pavidalu, ir tai niekam nerūpi.
Tai neveiks „iPhone 4“ ...
Bijau, ką apie tai pasakys žibintuvėlis, tai puiki papildomų skaičiavimų dalis.
Kas gali būti nuobodu fizikos pamokoje?
Juk fizika yra vienas įdomiausių mokslų!!!
Straipsnis labai įdomus, tačiau kai kurie dalykai nėra tiksliai paaiškinti. Visų pirma, paralaksas yra greičiau kampas tarp linijos atkarpų, jungiančių du skirtingus stebėjimo taškus ir objektą, kuris visada yra mažesnis nei tiesus kampas (Wiki yra gana netikslus - sunku nurodyti, koks yra kampas dviejų tiesių kampas). Ir tada prie Niutono dėsnio: jei pradedame judinti telefoną, suteikiame jam pagreitį. Tačiau inercijos dėsnis nekalba apie pagreitį. Principas, kuriuo grindžiama ši funkcija, greičiau kyla iš neinercinių atskaitos sistemų savybių, kurias taip pat nagrinėjo Niutonas, bet ne kaip savo pirmojo judėjimo dėsnio dalį.
„Ir tada prie Niutono dėsnio: jei pradedame judinti telefoną, suteikiame jam pagreitį. Tačiau inercijos dėsnis apie pagreitį visai nekalba“.
Nesuprantu, kaip šis argumentas įrodo, kad tai nėra inercijos dėsnis.
Kiek pamenu, giroskopas veikia impulso momento keitimo principu, kuris generuoja jėgą. Ir tai priklauso nuo inercijos momento. Taigi, mano nuomone, tai yra ir inercijos, ir jėgos dėsnis besisukančiai sistemai.
Nepainiokite akselerometro su giroskopu. Akselerometras fiksuoja objekto pagreitį dėl inercijos. Giroskopas yra smagratis, esantis trijų ašių rotoriuje, dėl kurio šis smagratis nekeičia savo padėties žemės atžvilgiu per bet kokį viso įrenginio sukimąsi.
Apatinė eilutė – akselerometras suvokia judėjimą, o giroskopas – padėtį (sukimąsi). ;)
Ačiū už pastabas, bet aš tikrai nepainioju šių dviejų dalykų. „Paralax“ neturi nieko bendra su akselerometru, jis valdo giroskopą.
Jūsų aprašyto giroskopo iš tikrųjų nėra „iPhone“. Yra mechaninis tinklelis, kuris deformuojasi sukant, todėl niekas ten nesisuka savaime (taip giroskopas veikia klasikiniu būdu, pvz., aprašyta Vikipedijoje).
Tačiau šią deformaciją tikrai sukelia sukimosi inercija, tad... kažkaip nesuprantu, iš kur tau kilo mintis, kad painiojai akselerometrą su giroskopu (apie akselerometrą išvis nebuvo užsiminta).
Nesakau, kad paralaksas turi ką nors bendro su akselerometru ;). Giroskopas neveikia impulso kaitos principu – tai reikštų, kad jis reaguoja tik į pagreitį (p=m*v). Todėl impulso pokytis (darant pastovią masę) reikštų greičio pokytį – pagreitį. Tačiau giroskopas taip pat reaguoja į padėties pasikeitimą vienodo tiesinio judėjimo metu. Tačiau smagračio korpusui taikoma inercija (nesvarbu, ar tai būtų klasikinis sunkus ratas, ar tinklelis).
Priešingu atveju, žinoma, sutinku su jumis, kad Martino Hajeko teiginys apie pirmąjį judėjimo dėsnį yra kažkaip be dantų. Nors pagreičio dydis šiame dėsnyje tiesiogiai neatsispindi, jis iš esmės atsako į klausimą: kodėl pagreitis aptinkamas net ir inercinėje atskaitos sistemoje...
Pabaigai noriu pastebėti, kad fizika yra graži ir man niekada nebuvo nuobodu :D
"Nepaisant to, giroskopas taip pat reaguoja į padėties pasikeitimą vienodo tiesinio judėjimo metu."
Aš to niekaip nesuprantu :) Kaip kas nors gali reaguoti į judėjimą su Eq. pirminis judėjimas? Ar tai neprieštaraus visų inercinių atskaitos sistemų lygybei?
Bet jau po vidurnakčio :D Tad gal daugiau apie tai negalvok.
Išskyrus tai, kad jei jis yra bet kurioje „iOS 7“, jis rodomas tik pradžios ekrane. Kitur to tikrai nepastebėjau. Taigi nematyčiau, kad jis būtų juodas dėl akumuliatoriaus suvartojimo. Galų gale, iOS 7 ištvermė, palyginti su iOS 6, yra beveik tokia pati, jei ne geresnė (beta5)
Tada, pavyzdžiui, „Safari“ skirtukuose.
net ir užrakinimo ekrane animacinis ekrano užsklanda juda naudojant šią „technologiją“ arba kaip ją pavadintumėte
Puikus straipsnis!
Aero programa dabar nemokama
Turi aukščiau paminėtą efektą :)