Analiza przypadku — HoloTour
HoloTour dla Microsoft HoloLens oferuje wciągające osobiste wycieczki 3D kultowych lokalizacji na całym świecie. Jak dowiedzieli się projektanci, artyści, producenci, projektanci audio i deweloperzy pracujący nad tym projektem, tworząc przekonująco prawdziwe renderowanie 3D dobrze znanej lokalizacji ma wyjątkową mieszankę twórczego i technologicznego kreatora. Ta analiza przypadku przeprowadzi cię przez proces przechwytywania i tworzenia zawartości używanej dla urządzenia HoloTour.
Technologia
Z HoloTour chcieliśmy umożliwić ludziom zwiedzanie niektórych z najbardziej niesamowitych miejsc na świecie — takich jak ruiny Machu Picchu w Peru lub współczesny Piazza Navona we Włoszech — bezpośrednio z własnych salonów. Nasz zespół uczynił go celem HoloTour, aby "sprawić, że czujesz się tam naprawdę". Środowisko musi być nie tylko obrazami lub filmami. Dzięki wykorzystaniu unikatowej technologii wyświetlania, śledzenia i audio urządzenia HoloLens wierzyliśmy, że możemy praktycznie przetransportować Cię do innego miejsca. Musimy przechwycić zabytki, dźwięki i trójwymiarową geometrię każdej odwiedzonej lokalizacji, a następnie odtworzyć ją w naszej aplikacji.
Aby to zrobić, potrzebowaliśmy platformy kamer 360° z kierunkowym przechwytywaniem dźwięku. Potrzebne do przechwytywania w bardzo wysokiej rozdzielczości, aby materiał wyglądało na ostry podczas odtwarzania z powrotem na urządzeniu HoloLens, a aparaty musiałyby być umieszczone blisko siebie, aby zminimalizować szwy artefaktów. Chcieliśmy pełny zasięg kulisy, nie tylko wzdłuż horyzontu, ale także nad tobą i pod tobą. Platforma musiała być również przenośna, abyśmy mogli ją przejąć na całym świecie. Oceniliśmy dostępne opcje gotowe i zdaliśmy sobie sprawę, że po prostu nie są wystarczająco dobre, aby zrealizować naszą wizję – albo z powodu rozwiązania, kosztów lub rozmiaru. Gdybyśmy nie mogli znaleźć platformy aparatu, która spełnia nasze potrzeby, musielibyśmy zbudować siebie.
Budowa platformy
Pierwsza wersja — wykonana z kartonu, Velcro, taśmy przewodowej i 14 kamer GoPro — była czymś, czego MacGyver byłby dumny. Po przejrzeniu wszystkiego, od rozwiązań low-end po niestandardowe platformy produkcyjne, kamery GoPro były ostatecznie najlepszą opcją dla nas, ponieważ były małe, niedrogie i miały łatwy w użyciu magazyn pamięci. Mały kształt był szczególnie ważny, ponieważ pozwolił nam umieścić kamery dość blisko siebie — im mniejsza jest odległość między kamerami, tym mniejsze będą artefakty szwów. Nasz unikalny układ kamery pozwolił nam uzyskać pełne pokrycie sferą plus wystarczająco dużo nakładać się, aby inteligentnie wyrównać kamery i wygładzić niektóre artefakty podczas procesu szwów.
Korzystanie z możliwości dźwięku przestrzennego na urządzeniu HoloLens ma kluczowe znaczenie dla utworzenia przekonująco rzeczywistego immersywnego środowiska. Użyliśmy tablicy z czterema mikrofonami znajdującymi się pod kamerami na statywie, która przechwyciłaby dźwięk z lokalizacji naszego aparatu w czterech kierunkach, dając nam wystarczająco dużo informacji, aby stworzyć dźwięki przestrzenne w naszych scenach.
Nasza platforma kamery 360° skonfigurowana do kręcenia poza Panteonem.
Przetestowaliśmy naszą domową platformę, zabierając ją do Rattlesnake Ridge w pobliżu Seattle, uchwycając scenerię na szczycie wędrówki. Wynik, choć znacznie mniej dopracowany niż lokalizacje, które widzisz na urządzeniu HoloTour dzisiaj, dał nam pewność, że nasz projekt platformy był wystarczająco dobry, aby poczuć się tak naprawdę tam.
Uaktualniliśmy naszą platformę z Velcro i kartonu do obudowy kamery drukowanej 3D i kupiliśmy zewnętrzne pakiety baterii dla aparatów GoPro, aby uprościć zarządzanie bateriami. Następnie przeprowadziliśmy bardziej rozległy test, podróżując do San Francisco, aby stworzyć miniaturową wycieczkę po wybrzeżu miasta i kultowy most Golden Gate. Ta platforma aparatu jest tym, co użyliśmy w większości naszych przechwytywania lokalizacji odwiedzanych na urządzeniu HoloTour.
360° kamery filmowanie w Machu Picchu.
Za kulisami
Przed nakręceniem musieliśmy dowiedzieć się, które lokalizacje chcemy uwzględnić na naszej wirtualnej trasie. Rzym był pierwszą lokalizacją, do którego zamierzaliśmy wysłać i chcieliśmy to zrobić z wyprzedzeniem, więc postanowiliśmy zrobić podróż skautową z wyprzedzeniem. Wysłaliśmy zespół sześciu osób, w tym artystów, projektantów i producentów, na wizytę osobiście w miejscach, które rozważaliśmy. Podróż trwała około 9 dni – 2,5 na podróż, reszta do kręcenia. (Dla Machu Picchu zdecydowaliśmy się nie robić podróży skautowej, badania z wyprzedzeniem i rezerwacji kilka dni buforu do kręcenia.)
Podczas pobytu w Rzymie zespół zrobił zdjęcia z każdego obszaru i zauważył interesujące fakty, a także praktyczne zagadnienia, takie jak trudno jest podróżować do każdego miejsca i jak trudno byłoby filmować z powodu tłumów lub ograniczeń. Może to brzmieć jak wakacje, ale to dużo pracy. Dni zaczęły się wcześnie rano i idą non-stop do wieczora. Każdego wieczoru nagrania zostały przekazane zespołowi z powrotem w Seattle do przeglądu.
Nasza załoga przechwytywania w Rzymie.
Po zakończeniu podróży zwiadowczej, ostatni plan został wykonany do rzeczywistego kręcenia. Wymagało to szczegółowej listy miejsc, w których będziemy filmować, w jakim dniu i w jakim czasie. Każdy dzień za granicą jest kosztowny, więc te podróże musiały być skuteczne. Zarezerwowaliśmy przewodniki i osoby obsługujące w Rzymie, aby pomóc nam i w pełni używane codziennie z przed wschodem słońca do po zachodzie słońca. Musimy uzyskać najlepszy możliwy materiał, aby sprawić, że czujesz się tam naprawdę.
Przechwytywanie wideo
Wykonanie kilku prostych czynności podczas przechwytywania może znacznie ułatwić przetwarzanie końcowe. Na przykład za każdym razem, gdy łączysz obrazy z wielu aparatów, kończysz się artefaktami wizualnymi, ponieważ każdy aparat ma nieco inny widok. Bliżej obiektów są do aparatu, im większa różnica między widokami, a im większe będą artefakty szwów. Oto prosty sposób wizualizacji problemu: przytrzymuj kciuk przed twarzą i spójrz na nią tylko jednym okiem. Teraz przełączaj oczy. Zobaczysz, że kciuk wygląda tak, aby przesuwał się względem tła. Jeśli trzymasz kciuk dalej od twarzy i powtarzasz eksperyment, kciuk będzie wyglądać mniej. Ten pozorny ruch jest podobny do problemu szwów, z którym się spotkaliśmy: Twoje oczy, jak nasze kamery, nie widzą dokładnie tego samego obrazu, ponieważ są oddzielone niewielką odległością.
Ponieważ znacznie łatwiej jest zapobiec najgorszym artefaktom podczas kręcenia niż jest skorygowanie ich w przetwarzaniu po przetworzeniu, staraliśmy się utrzymać ludzi i rzeczy daleko od kamery w nadziei, że możemy wyeliminować potrzebę zszywania obiektów zbliżenia. Utrzymanie dużej polany wokół naszej kamery było prawdopodobnie jednym z największych wyzwań, jakie mieliśmy podczas fotografowania i musieliśmy stworzyć, aby to działało. Praca z lokalnymi przewodnikami była ogromną pomocą w zarządzaniu tłumami, ale odkryliśmy również, że używanie znaków — a czasami małych rożków lub worków fasoli — oznaczanie naszej przestrzeni filmowej było dość skuteczne, zwłaszcza że musieliśmy uzyskać tylko niewielką ilość materiału w każdej lokalizacji. Często najlepszym sposobem na uzyskanie dobrego schwytania było po prostu przyjechać bardzo wcześnie rano, zanim większość ludzi pojawiła się.
Niektóre inne przydatne techniki przechwytywania pochodzą prosto z tradycyjnych praktyk filmowych. Na przykład użyliśmy karty korekty kolorów na wszystkich naszych aparatach i przechwyciliśmy zdjęcia referencyjne tekstur i obiektów, których możemy potrzebować później.
Szorstki krój materiału Panteon przed szwami.
Przetwarzanie wideo
Przechwytywanie zawartości 360° jest tylko pierwszym krokiem — do przekonwertowania nieprzetworzonego materiału fotograficznego przechwyconego do końcowych zasobów widocznych na urządzeniu HoloTour jest potrzebny wiele przetwarzania. Gdy wróciliśmy do domu, musieliśmy zabrać film z 14 różnych kanałów kamer i przekształcić go w jeden ciągły film z minimalnymi artefaktami. Nasz zespół artystyczny użył wielu narzędzi do łączenia i polerowania przechwyconego materiału, a my opracowaliśmy potok, aby zoptymalizować przetwarzanie w możliwie największym stopniu. Materiał musiał być zeszyty razem, kolor poprawiony, a następnie złożony, aby usunąć rozpraszające elementy i artefakty lub dodać dodatkowe kieszenie życia i ruchu, wszystko z celem, aby poprawić to uczucie rzeczywiście tam.
Szorstki krój materiału Panteon przed szwami.
Aby połączyć filmy wideo, użyliśmy narzędzia o nazwie PTGui i zintegrowaliśmy je z potokiem przetwarzania. W ramach przetwarzania końcowego wyodrębniliśmy jeszcze ramki z naszych filmów i znaleźliśmy wzorzec szwów, który wyglądał dobrze dla jednej z tych ramek. Następnie zastosowaliśmy ten wzorzec do niestandardowej wtyczki, którą napisaliśmy, że pozwoliliśmy naszym artystom wideo dostroić i dostosować wzór szwów bezpośrednio podczas komposiowania w after effects.
Zrzut ekranu ptGui przedstawiający zszyte nagrania Panteon.
Odtwarzanie wideo
Po zakończeniu przetwarzania materiału mamy bezproblemowy film wideo, ale jest niezwykle duży — około 8K rozdzielczości. Dekodowanie wideo jest kosztowne i istnieje bardzo niewiele komputerów, które mogą obsłużyć wideo 8K, więc następnym wyzwaniem było znalezienie sposobu odtwarzania tego wideo z powrotem na HoloLens. Opracowaliśmy szereg strategii, aby uniknąć kosztów dekodowania, jednocześnie sprawiając, że użytkownik czuje się tak, jakby oglądał cały film wideo.
Najprostszą optymalizacją jest uniknięcie dekodowania części filmu wideo, które nie zmieniają się zbytnio. Napisaliśmy narzędzie do identyfikowania obszarów w każdej scenie, które mają niewielki lub żaden ruch. W przypadku tych regionów przedstawiamy obraz statyczny, a nie dekodowanie ramki wideo. Aby to możliwe, podzieliliśmy ogromny film na znacznie mniejsze fragmenty.
Upewniliśmy się również, że każdy dekodowany piksel był używany najbardziej efektywnie. Eksperymentowaliśmy z technikami kompresji, aby zmniejszyć rozmiar wideo; Podzieliliśmy regiony wideo zgodnie z wielokątami geometrii, na które będzie rzutowany; Dostosowaliśmy UV i ponownie pakowaliśmy filmy na podstawie tego, ile szczegółów zawierało różne wielokąty. Wynikiem tej pracy jest to, że to, co zaczęło się jako pojedynczy film 8k, przekształciło się w wiele fragmentów, które wyglądają prawie nieinteligentne, dopóki nie zostaną prawidłowo ponownie przewidywane w scenie. Dla dewelopera gry, który rozumie mapowanie tekstur i pakowanie UV, prawdopodobnie będzie to wyglądać znajomo.
Pełny widok panteonu przed optymalizacjami.
Prawa połowa Panteonu, przetworzona do odtwarzania wideo.
Przykład pojedynczego regionu wideo po optymalizacji i pakowaniu.
Kolejną sztuczką, której użyliśmy, było uniknięcie dekodowania wideo, którego nie oglądasz aktywnie. Na urządzeniu HoloTour w danym momencie można zobaczyć tylko część pełnej sceny. Dekodujemy tylko klipy wideo w obrębie lub wkrótce poza twoim polem wyświetlania (FOV). Gdy obracasz głowę, zaczynamy odtwarzać regiony wideo, które znajdują się teraz w FOV i przestać odtwarzać te, które nie są już w nim zawarte. Większość osób nawet nie zauważy, że tak się dzieje, ale jeśli szybko się odwrócisz, zobaczysz, że film zajmie sekundę, aby rozpocząć — w międzyczasie zobaczysz statyczny obraz, który następnie zanika z powrotem do wideo, gdy będzie gotowy.
Aby ta strategia działała, opracowaliśmy rozbudowany system odtwarzania wideo. Zoptymalizowaliśmy kod odtwarzania niskiego poziomu, aby przełączanie wideo było niezwykle wydajne. Ponadto musieliśmy zakodować nasze filmy w specjalny sposób, aby umożliwić szybkie przełączenie się na dowolne wideo w dowolnym momencie. Ten potok odtwarzania trwał znaczną ilość czasu programowania, więc zaimplementowaliśmy go na etapach. Zaczęliśmy od prostszego systemu, który był mniej wydajny, ale pozwolił projektantom i artystom pracować nad środowiskiem i powoli ulepszyliśmy go do bardziej niezawodnego systemu odtwarzania, który pozwolił nam wysłać na końcowy pasek jakości. W tym ostatnim systemie utworzyliśmy niestandardowe narzędzia aparatu Unity, aby skonfigurować film wideo w scenie i monitorować aparat odtwarzania.
Ponowne tworzenie obiektów w pobliżu miejsca w 3D
Filmy składają się na większość tego, co widzisz na HoloTour, ale istnieje wiele obiektów 3D, które pojawiają się blisko Ciebie, takich jak obraz w Piazza Navona, fontanna poza Panteonem lub balon gorącego powietrza stoisz na scenach lotniczych. Te obiekty 3D są ważne, ponieważ postrzeganie głębi człowieka jest bardzo dobre blisko, ale nie bardzo dobre daleko. Możemy uciec z wideo w odległości, ale aby umożliwić użytkownikom poruszanie się po swojej przestrzeni i czuć się jak oni naprawdę tam, pobliskie obiekty potrzebują głębokości. Ta technika jest podobna do rodzaju rzeczy, które można zobaczyć w muzeum historii naturalnej — obraz diorama, który ma fizyczne krajobrazy, rośliny i okazy zwierząt na pierwszym planie, ale cofa się w sprytnie zamaskowany matowy obraz w tle.
Niektóre obiekty są po prostu zasobami 3D, które utworzyliśmy i dodaliśmy do sceny w celu ulepszenia środowiska. Obraz i balon gorącego powietrza należą do tej kategorii, ponieważ nie były obecne, gdy nakręcono. Podobnie jak w przypadku zasobów gry, zostały one utworzone przez artystę 3D w naszym zespole i teksturowane odpowiednio. Umieszczamy je w naszych scenach w pobliżu miejsca, w którym stoisz, a aparat gry może renderować je na dwóch ekranach HoloLens, aby były wyświetlane jako obiekt 3D.
Inne zasoby, takie jak fontanna poza Panteonem, są prawdziwymi obiektami, które istnieją w miejscach, w których kręcimy film, ale aby wydobyć te obiekty z filmu i do 3D, musimy zrobić wiele rzeczy.
Najpierw potrzebujemy dodatkowych informacji o każdym obiekcie. Podczas pobytu na potrzeby filmowania nasz zespół uchwycił wiele materiałów referencyjnych z tych obiektów, abyśmy mieli wystarczająco dużo szczegółowych obrazów, aby dokładnie odtworzyć tekstury. Zespół wykonał również skanowanie fotogramów , które tworzy model 3D z kilkudziesięciu obrazów 2D, dając nam szorstki model obiektu na doskonałą skalę.
Podczas przetwarzania materiału obiekty, które zostaną później zastąpione reprezentacją 3D, zostaną usunięte z wideo. Zasób 3D opiera się na modelu fotogramów, ale oczyszczony i uproszczony przez naszych artystów. W przypadku niektórych obiektów możemy użyć części wideo , takich jak tekstura wody na fontannie, ale większość fontanny jest teraz obiektem 3D, który pozwala użytkownikom postrzegać głębokość i chodzić wokół niej w ograniczonej przestrzeni w środowisku. Posiadanie obiektów niemal kosmicznych, takich jak to znacznie zwiększa poczucie realizmu i pomaga uziemić użytkowników w lokalizacji wirtualnej.
Nagrania z panteonu z fontanną usunięte. Zostanie on zastąpiony elementem zawartości 3D.
Ostatnie myśli
Oczywiście było więcej do tworzenia tej zawartości niż to, co omówiliśmy tutaj. Istnieje kilka scen — lubimy nazywać je "niemożliwymi perspektywami", w tym przejażdżką balonem gorącego powietrza i walką gladiatora w Koloseum, która przyjęła bardziej kreatywne podejście. Zajmiemy się tym w przyszłej analizie przypadku.
Mamy nadzieję, że udostępnianie rozwiązań niektórym z większych wyzwań, jakie mieliśmy podczas produkcji, jest pomocne dla innych deweloperów i że zainspirowaliśmy Cię do korzystania z niektórych z tych technik w celu utworzenia własnych immersywnych środowisk dla urządzenia HoloLens. (Jeśli to zrobisz, upewnij się, że udostępnisz go nam na forum programowania aplikacji HoloLens!)
Informacje o autorach
![]() |
David Haley jest starszym deweloperem, który nauczył się więcej o platformach fotograficznych i odtwarzaniu wideo, niż myślał, że jest to możliwe z pracy na HoloTour. |
![]() |
Danny Askew jest artystą wideo, który upewnił się, że twoja podróż przez Rzym była tak bezbłędna, jak to możliwe. |
![]() |
Jason Syltebo jest audio Projektant, który upewnił się, że możesz doświadczyć dźwięku każdego miejsca, który odwiedzasz, nawet gdy wracasz w czasie. |
![]() |
Travis Steiner jest dyrektorem projektowym, który badał i skautował lokalizacje, tworzył plany podróży i reżyserował filmowanie na miejscu. |