Kiedy zostanie wydany jesienią iOS 7, otrzymamy wiele nowych funkcji w naszych urządzeniach Apple. Oprócz całkowicie przeprojektowanego, czasem nawet kontrowersyjnego wyglądu, Apple oferuje nam zupełnie nowy paradygmat przyjemności użytkowania. Wygląda na to, że Apple chce tym drastycznym krokiem przygotować swój system mobilny na następną dekadę.
Wśród nowości znajduje się tzw. efekt paralaksy. Jeśli mam zacytować Wikipedii, paralaksa (z greckiego παράλλαξις (paralaksa), co oznacza „zmiana”) to kąt wyznaczony przez linie proste poprowadzone z dwóch różnych miejsc w przestrzeni do obserwowanego punktu. Paralaksę określa się także jako widoczną różnicę w położeniu punktu względem tła, patrząc z dwóch różnych miejsc. Im dalej obserwowany obiekt znajduje się od punktów obserwacyjnych, tym mniejsza jest paralaksa. Większość z Was zapewne dostaje gęsiej skórki na wspomnienie szkolnych ławek i nudnych zajęć z fizyki.
W praktyce oznacza to po prostu, że przy odrobinie sprytnego programowania wyświetlacz zamienia się w coś więcej. Nagle nie jest to już tylko dwuwymiarowa powierzchnia z matrycami ikon i innymi elementami otoczenia użytkownika, ale szklany panel, przez który użytkownik podczas filmowania urządzenia może oglądać trójwymiarowy świat.
Perspektywa i paralaksa
Podstawowa zasada tworzenia funkcjonalnego efektu paralaksy na dwuwymiarowym wyświetlaczu jest dość prosta. Ponieważ światło przechodzi przez oko do jednego punktu, mózg musiał nauczyć się rozpoznawać wielkość obiektów w stosunku do kąta między ich krawędziami. W rezultacie bliższe obiekty wydają się duże, a odległe obiekty wydają się małe.
To podstawy percepcji perspektywicznej, o której na pewno każdy z Was choć raz słyszał. Paralaksa, w kontekście iOS, to widoczny ruch pomiędzy tymi obiektami podczas poruszania się wokół nich. Na przykład, gdy prowadzisz samochód, obiekty bliższe (drzewa przy drodze) poruszają się szybciej niż te bardziej odległe (wzgórza w oddali), mimo że wszystkie stoją w miejscu. Wszystko zmienia swoje miejsce inaczej, przy tej samej prędkości.
Oprócz kilku innych sztuczek fizyki, perspektywa i paralaksa odgrywają bardzo ważną rolę w naszym postrzeganiu otaczającego nas świata, umożliwiając nam sortowanie i zrozumienie różnych wrażeń wzrokowych rejestrowanych przez nasze oczy. Poza tym fotografowie z wyczuciem perspektywy lubią się bawić.
Od rakiet po telefony
W systemie iOS efekt paralaksy jest w pełni symulowany przez sam system operacyjny, z niewielką pomocą technologii pierwotnie opracowanej dla pojazdów nośnych. Wewnątrz najnowszych urządzeń z systemem iOS znajdują się wibrujące żyroskopy, urządzenia mniejsze od ludzkiego włosa, które oscylują z określoną częstotliwością pod wpływem ładunku elektrycznego.
Gdy tylko zaczniesz przesuwać urządzenie wzdłuż którejkolwiek z trzech osi, cały mechanizm zacznie stawiać opór zmianie orientacji zgodnie z pierwszą zasadą Newtona, czyli zasadą bezwładności. Zjawisko to pozwala sprzętowi zmierzyć prędkość i kierunek obrotu urządzenia.
Dodajmy do tego akcelerometr potrafiący wykryć orientację urządzenia, a otrzymamy idealne współdziałanie czujników, które bardzo precyzyjnie wykrywają dane niezbędne do wytworzenia efektu paralaksy. Za ich pomocą iOS może łatwo obliczyć względny ruch poszczególnych warstw środowiska użytkownika.
Paralaksa dla każdego
Problem paralaksy i iluzji głębi można w prosty sposób rozwiązać dzięki matematyce. Jedyne, co oprogramowanie musi wiedzieć, to uporządkować zawartość w zestaw płaszczyzn, a następnie przesuwać je w zależności od postrzeganej odległości od oczu. Rezultatem będzie realistyczne odwzorowanie głębi.
Jeśli oglądałeś WWDC 2013 lub Film wprowadzający do iOS 7, efekt paralaksy był wyraźnie widoczny na głównym ekranie ikon. Podczas przenoszenia iPhone'a zdają się unosić nad tłem, co stwarza sztuczne wrażenie przestrzeni. Innym przykładem jest subtelny ruch otwartych kart w przeglądarce Safari.
Dokładne szczegóły są jednak na razie owiane tajemnicą. Jedno jest pewne – Apple zamierza wplecić paralaksę w cały system. Może to jednak być powód, dla którego iOS 7 nie będzie obsługiwany na iPhonie 3GS i iPadzie pierwszej generacji, gdyż oba urządzenia nie mają żyroskopu. Można się spodziewać, że Apple udostępni interfejs API dla zewnętrznych programistów, aby mogli również korzystać z trzeciego wymiaru, a wszystko to bez większego zużycia energii.
Geniusz czy blichtr?
Chociaż większość efektów wizualnych iOS 7 można kompleksowo opisać zastępczo, paralaksa wymaga własnego doświadczenia. Możesz obejrzeć dziesiątki filmów, zarówno oficjalnych, jak i nie, ale zdecydowanie nie oceniaj efektu paralaksy bez samodzielnego wypróbowania. W przeciwnym razie będziesz miał wrażenie, że to tylko efekt „na oko”.
Ale gdy już zdobędziesz urządzenie z systemem iOS 7, za wyświetlaczem zobaczysz inny wymiar. Jest to coś, co bardzo trudno opisać słowami. Wyświetlacz nie jest już tylko płótnem, na którym renderowane są aplikacje wyświetlające imitacje prawdziwych materiałów. Zastępują je efekty wizualne, które będą jednocześnie syntetyczne i realistyczne.
Najprawdopodobniej, gdy programiści zaczną używać efektu paralaksy, aplikacje będą nim przytłoczone, ponieważ każdy będzie próbował znaleźć właściwy sposób jego wykorzystania. Jednak sytuacja wkrótce się ustabilizuje, podobnie jak w przypadku poprzednich wersji iOS. Jednocześnie jednak światło dzienne ujrzą zupełnie nowe aplikacje, o których możliwościach możemy dziś jedynie marzyć.
pytanie brzmi, czy jeśli wypuszczą API dla zewnętrznych programistów, nie będzie ono szybko wykorzystywane przez konkurencję…. ?! To byłby wstyd! :(
Animowana tapeta Paralax została wydana na Androida kilka dni po wprowadzeniu iOS7. Centrum sterowania chyba po około tygodniu.
Tapeta Paralax Live została wydana na długo przed iOS 7 :-) Kiedy miałem LG Optimus 3D, było mi przykro, że używał 3D tylko w niektórych sytuacjach, więc umieściłem animowaną tapetę, która symulowała efekt 3D :-) Parallax Barrier skrywa także technologię, którą posiadały LG Optimus 3D i HTC EVO 3D, a teraz nawet kilka nowych telewizorów. Oryginalnym producentem tej technologii 3D bez okularów było BMW w komputerach pokładowych, dzięki którym kierowca mógł oglądać nawigację, a pasażer film. W przeciwnym razie w iOS 7 efekt ten pojawia się dość często - na pulpicie, w Safari, na zablokowanym pulpicie podczas korzystania ze zdjęć panoramicznych, a także przy zmniejszeniu głośności. Po prostu denerwuje mnie, że usuwają stosunkowo fajne funkcje w poszczególnych wersjach beta. Zniknęła przezroczysta klawiatura w wiadomościach, zniknął przezroczysty pasek powiadomień….
Interfejs API dla zewnętrznych programistów nie ma na to większego wpływu. Konkurencyjne systemy nie mogą korzystać z tego interfejsu API, więc jedyne, co pozostało, to i tak przeprowadzić inżynierię wsteczną. A to nie ma większego sensu przy tak dobrze udokumentowanym* efekcie.
*teraz nie sądzę, że znajdziesz gdziekolwiek dokładny kod z iOS, ale paralaksa, podobnie jak perspektywa, jest zjawiskiem dość dobrze znanym i zbadanym.
Jako programista związany umową NDA nie mogę powiedzieć, że iOS 7 zawiera API Motion Effects. I nie mogę powiedzieć, że użyłem go od razu po wydaniu pierwszej bety i że jest świetny.
:D
W każdym razie twórcy zawsze mieli dostęp do akcelerometru i żyroskopu, dlatego właśnie tam są. Zaletą jest to, że Apple… hm… może po prostu podłączyć efekty do każdego UIView, który może mieć dowolny parametr (rozmiar, położenie itp.) zmienny w zależności od obrotu i ruchu urządzenia.
Pełne API dla tych efektów zostało wydane dawno temu... To właśnie powiedziałbym, gdybym mógł o tym porozmawiać :)
Pamiętam, że w jakiejś becie iOS6 suwak głośności zmieniał odbicia w zależności od nachylenia urządzenia, a w wersji ostrej nie było nic.
Od kilku miesięcy mam iOS 7 beta, ale jeśli dobrze pamiętam, ten efekt występuje normalnie w wersji ostrej iOS 6.1. Ale mogę się mylić, naprawdę nie mogę tego nigdzie sprawdzić, wszędzie mam iOS 7.
Przepraszam, że piszę cały artykuł o ruchomym tle - biorąc pod uwagę sezon na ogórki.
Bardziej widać, że nie wiadomo o co chodzi, że nie jest to zwykłe poruszające się tło.
Fajny artykuł, pełen konkretnych informacji.
Świetny artykuł. Długo czekałem na coś o paralaksy, kiedy Apple z niej korzystało. Może dać wiele nowych możliwości.
Niezły artykuł
Już na filmie wygląda pięknie i nie mogę sobie wyobrazić, jak wspaniale będzie, gdy będę go mieć na swoim iPhonie. Splendor!
Fakt jest taki, że Android ma to już od dawna w formie aplikacji i nikomu to specjalnie nie przeszkadza.
To nie będzie działać na iPhonie 4…
Obawiam się, co powie na to latarka, to niezła porcja dodatkowych obliczeń.
Co może być nudne na lekcjach fizyki?
W końcu fizyka to jedna z najciekawszych nauk!!!
Artykuł jest bardzo ciekawy, jednak pewne rzeczy nie zostały dokładnie wyjaśnione. Po pierwsze, paralaksa to raczej kąt pomiędzy odcinkami linii łączącymi dwa różne punkty obserwacji a obiektem, który jest zawsze mniejszy od kąta prostego (Wiki jest w tej kwestii dość nieprecyzyjne - trudno określić, jaki jest kąt dla kąt dwóch prostych). A potem do prawa Newtona: jeśli zaczniemy poruszać telefonem, nadajemy mu przyspieszenie. Jednak prawo bezwładności w ogóle nie omawia przyspieszenia. Zasada, na której opiera się ta funkcja, wywodzi się raczej z właściwości nieinercjalnych układów odniesienia, którymi Newton również się zajmował, ale nie w ramach swojej pierwszej zasady ruchu.
„A potem do prawa Newtona: jeśli zaczniemy poruszać telefonem, nadajemy mu przyspieszenie. Jednak prawo bezwładności w ogóle nie omawia przyspieszenia.
Nie rozumiem, w jaki sposób ta argumentacja dowodzi, że nie jest to zasada bezwładności.
O ile pamiętam, żyroskop działa na zasadzie zmiany momentu pędu, który generuje siłę. A to zależy od momentu bezwładności. Zatem moim zdaniem jest to zarówno prawo bezwładności, jak i prawo siły dla układu wirującego.
Nie myl akcelerometru z żyroskopem. Akcelerometr rejestruje przyspieszenie obiektu na skutek bezwładności. Żyroskop to koło zamachowe umieszczone w trójosiowym wirniku, dzięki czemu koło to nie zmienia swojego położenia względem podłoża podczas jakiegokolwiek obrotu całego urządzenia.
Konkluzja – akcelerometr rejestruje ruch, podczas gdy żyroskop rejestruje położenie (obrót). ;)
Dziękuję za informację, ale naprawdę nie mylę tych dwóch kwestii. Paralaksa nie ma nic wspólnego z akcelerometrem, steruje żyroskopem.
Żyroskopu, który opisujesz, tak naprawdę nie ma w iPhonie. Istnieje siatka mechaniczna, która odkształca się wraz z obrotem, więc nic tam nie obraca się samoczynnie (tak działa klasyczny żyroskop, np. opisany na Wikipedii).
Jednak to odkształcenie tak naprawdę jest spowodowane bezwładnością obrotową, więc... jakoś nie rozumiem, skąd wziąłeś pomysł, że mylisz akcelerometr z żyroskopem (o akcelerometrze w ogóle nie było mowy).
Nie sugeruję, że paralaksa ma coś wspólnego z akcelerometrem ;). Żyroskop nie działa na zasadzie zmiany pędu - oznaczałoby to, że reaguje jedynie na przyspieszenie (p=m*v). Zmiana pędu oznaczałaby więc (przy założeniu stałej masy) zmianę prędkości – przyspieszenia. Jednak żyroskop reaguje również na zmianę położenia podczas jednolitego ruchu prostoliniowego. Jednakże bezwładność jest przyłożona do korpusu koła zamachowego (niezależnie od tego, czy jest ono reprezentowane przez klasyczne ciężkie koło, czy siatkę).
Poza tym oczywiście zgodzę się z Tobą, że stwierdzenie Martina Hájka o pierwszej zasadzie ruchu jest w jakiś sposób bezzębne. Chociaż wielkość przyspieszenia nie pojawia się bezpośrednio w tym prawie, zasadniczo odpowiada ono na pytanie: dlaczego przyspieszenie jest wykrywalne nawet w inercjalnym układzie odniesienia...
Na zakończenie zaznaczę, że fizyka jest piękna i nigdy mi się nie znudziła :D
„Niemniej jednak żyroskop reaguje również na zmianę położenia podczas jednolitego ruchu prostoliniowego”.
Zupełnie tego nie rozumiem :) Jak cokolwiek może reagować na ruch za pomocą równania. ruch pierwotny? Czy nie byłoby to sprzeczne z równością wszystkich inercjalnych układów odniesienia?
Ale jest już po północy :D Więc może nie myśl już o tym.
Tyle że jeśli jest gdziekolwiek w iOS 7, to tylko na ekranie startowym. Właściwie to gdzie indziej tego nie zauważyłem. Więc nie widziałbym tego czarnego w związku ze zużyciem baterii. Przecież wytrzymałość iOS 7 w porównaniu z iOS 6 jest prawie taka sama, jeśli nie lepsza (beta5)
Następnie na przykład w zakładkach Safari.
nawet na ekranie blokady animowana tapeta porusza się przy użyciu tej „technologii” lub jakkolwiek to nazwiesz
Świetny artykuł!
Aplikacja aero jest teraz bezpłatna
Zawiera wspomniany efekt :)