Örnek olay incelemesi - HoloTour

Microsoft HoloLens için HoloTour, dünyanın her yanındaki ikonik konumların çevreleyici 3B kişisel turlarını sunar. Tasarımcılar, sanatçılar, yapımcılar, ses tasarımcıları ve bu proje üzerinde çalışan geliştiriciler fark ettikçe, iyi bilinen bir konumda ikna edici gerçek bir 3B işleme oluşturmak yaratıcı ve teknolojik sihirbazlık benzersiz bir karışımını alır. Bu örnek olay incelemesi, HoloTour için kullanılan içeriği yakalama ve oluşturma işleminde yol gösterir.

Teknoloji

HoloTour ile, insanların kendi oturma odalarından Peru'daki Machu Picchu kalıntıları veya İtalya'daki modern gün Piazza Navona gibi dünyanın en şaşırtıcı yerlerinden bazılarını ziyaret etmelerini sağlamak istedik. Ekibimiz HoloTour'un hedefi olarak "gerçekten oradaymış gibi hissetmenizi" sağladı. Deneyimin yalnızca resim veya videolardan fazlası olması gerekiyordu. HoloLens'in benzersiz ekranı, izleme ve ses teknolojisinden yararlanarak sizi neredeyse başka bir yere taşıyacağımıza inanıyorduk. Ziyaret ettiğimiz her konumun manzaralarını, seslerini ve üç boyutlu geometrisini yakalamamız ve ardından bunu uygulamamızda yeniden oluşturmamız gerekir.

Bunu yapmak için, yönlü ses yakalama özelliğine sahip 360° kamera donanımına ihtiyacımız vardı. Görüntülerin HoloLens'te oynatıldığında net görünmesi ve dikiş yapıtlarını en aza indirmek için kameraların birbirine yakın konumlandırılması için son derece yüksek çözünürlükte yakalaması gerekiyordu. Yalnızca ufuk boyunca değil, sizin de üzeriniz ve altınız için tam küresel kapsam istedik. Ayrıca platformun tüm dünyaya götürebilmemiz için taşınabilir olması gerekiyordu. Kullanıma hazır seçenekleri değerlendirdik ve çözünürlük, maliyet veya boyut nedeniyle vizyonumuzu gerçekleştirmek için yeterli olmadıklarını fark ettik. İhtiyaçlarımızı karşılayan bir kamera donanımı bulamazsak, kendimiz inşa etmek zorunda olurduk.

Sondaj makinesinin inşası

Karton, Velcro, koli bandı ve 14 GoPro kameradan üretilen ilk sürüm, MacGyver'ın gurur duyacağı bir şeydi. Düşük uç çözümlerden özel üretim makinelerine kadar her şeyi gözden geçirdikten sonra, GoPro kameraları bizim için en iyi seçenekti çünkü küçük, uygun fiyatlı ve kullanımı kolay bellek depolamaya sahiptiler. Küçük form faktörü özellikle önemliydi çünkü kameraları birbirine oldukça yakın yerleştirmemize izin verdi; kameralar arasındaki mesafe ne kadar küçük olursa, dikiş yapıtları o kadar küçük olur. Benzersiz kamera düzenlememiz, tam küre kapsamına ek olarak kameraları akıllıca hizalamak ve dikiş işlemi sırasında bazı yapıtları düzeltmek için yeterli örtüşme elde etmemizi sağladı.

HoloLens'te uzamsal ses özelliklerinden yararlanmak, ikna edici derecede gerçek bir çevreleyici deneyim oluşturmak için kritik öneme sahiptir. Tripod üzerindeki kameraların altında yer alan dört mikrofonlu bir dizi kullandık. Bu dizi, kameramızın bulunduğu konumdan dört yönde ses yakalayarak bize sahnelerimizde uzamsal sesler oluşturmak için yeterli bilgiyi verdi.

360° kamera donanımımız Pantheon'un dışında çekim için ayarlandı.

360° kamera donanımımız Pantheon'un dışında çekim için ayarlandı.

Ev yapımı makinemizi Seattle yakınlarındaki Rattlesnake Ridge'e götürerek, yürüyüşte manzarayı yakalayarak test ettik. Sonuç, bugün HoloTour'da gördüğünüz konumlardan önemli ölçüde daha az şık olsa da, makine tasarımımızın gerçekten orada olduğunuzu hissetmenizi sağlayacak kadar iyi olduğuna güven verdi.

Donanımımızı Velcro ve kartondan 3B baskılı kamera muhafazasına yükselttik ve pil yönetimini basitleştirmek amacıyla GoPro kameraları için harici pil paketleri satın aldık. Daha sonra daha kapsamlı bir test yaptık, şehir kıyısında ve ikonik Golden Gate köprüsünde minyatür bir tur oluşturmak için San Francisco'ya indik. Bu kamera donanımı, HoloTour'da ziyaret ettiğiniz konumların çoğu için kullandığımız kamera donanımıdır.

Machu Picchu'da 360° kameralı film çekme.

Machu Picchu'da 360° kameralı film çekme.

Arka planda

Filme almadan önce sanal turumuza hangi konumları eklemek istediğimizi bulmamız gerekiyordu. Roma göndermeyi amaçladığımız ilk yerdi ve bunu doğru yapmak istedik, bu yüzden önceden bir keşif gezisi yapmaya karar verdik. Sanatçılar, tasarımcılar ve yapımcılar dahil olmak üzere altı kişiden oluşan bir ekibi, düşündüğümüz sitelere bizzat ziyaret için gönderdik. Yolculuk yaklaşık 9 gün sürdü - 2.5 seyahat için, geri kalanı film için. (Machu Picchu için önceden araştırma yaparak ve film çekmek için birkaç gün arabelleğe rezervasyon yaparak bir keşif gezisi yapmamayı tercih ettik.)

Roma'dayken, ekip her alanın fotoğraflarını çekti ve ilginç olguların yanı sıra her noktaya seyahat etmek için ne kadar zor olduğu ve kalabalıklar veya kısıtlamalar nedeniyle film çekmenin ne kadar zor olacağı gibi pratik konulara dikkat çekti. Bu bir tatil gibi gelebilir, ama çok fazla iş. Günler sabahın erken saatlerinde başladı ve akşama kadar kesintisiz devam etti. Her gece, Seattle'daki ekibin incelemesi için çekimler karşıya yüklendi.

Roma'daki yakalama ekibimiz.

Roma'daki yakalama ekibimiz.

Keşif gezisi tamamlandıktan sonra, gerçek çekim için son bir plan yapıldı. Bu, nereye, hangi gün ve hangi saatte film çekeceğimize ilişkin ayrıntılı bir liste gerektiriyordu. Denizaşırı her gün pahalıdır, bu yüzden bu gezilerin verimli olması gerekiyordu. Bize yardımcı olmak için Roma'da rehberler ve işleyiciler rezervasyonu ve gün doğumundan sonra gün batımından sonra her gün tam olarak kullanıldı. Gerçekten orada olduğunu hissetmen için mümkün olan en iyi görüntüleri almalıyız.

Videoyu yakalama

Yakalama sırasında birkaç basit işlem yapmak, işlem sonrası işlemleri çok daha kolay hale getirir. Örneğin, birden çok kameradan görüntüleri her birleştirdiğinizde görsel yapıtlarla sonuçlanırsınız çünkü her kamera biraz farklı bir görünüme sahiptir. Nesneler kameraya ne kadar yakın olursa, görünümler arasındaki fark o kadar büyük olur ve dikiş yapıtları o kadar büyük olur. İşte sorunu görselleştirmenin kolay bir yolu: baş parmağınızı yüzünüzün önünde yukarı doğru tutun ve tek gözle bakın. Şimdi gözlerini değiştir. Parmağınızın arka plana göre hareket ettiğini görürsünüz. Parmağınızı yüzünüzden daha uzak tutar ve denemeyi tekrarlarsanız, başparmağınız daha az hareket eder gibi görünür. Bu görünen hareket, karşılaştığımız dikiş sorununa benzer: Kameralarımız gibi gözleriniz de biraz uzaklık ile ayrıldığından tam olarak aynı görüntüyü görmez.

Film çekerken en kötü yapıtları önlemek, post-processing'de düzeltmekten çok daha kolay olduğundan, yakın çekim nesneleri birleştirme ihtiyacını ortadan kaldırma umuduyla kişileri ve nesneleri kameradan uzak tutmaya çalıştık. Kameramızın etrafında büyük bir açıklık sağlamak muhtemelen çekim sırasında karşılaştığımız en büyük zorluklardan biriydi ve çalışması için yaratıcı olmamız gerekiyordu. Yerel kılavuzlarla çalışmak kalabalıkları yönetmede büyük bir yardımdı, ancak ayrıca film alanımızı işaretlemek için işaretlerin (ve bazen küçük külahların veya fasulye torbalarının) kullanılmasının, özellikle de her konumda yalnızca kısa bir çekim yapmamız gerektiğinden makul ölçüde etkili olduğunu bulduk. Genellikle iyi bir yakalama elde etmenin en iyi yolu, çoğu insan gelmeden önce sabahın çok erken saatlerinde varmaktı.

Diğer bazı yararlı yakalama teknikleri doğrudan geleneksel film uygulamalarından gelir. Örneğin, tüm kameralarımızda bir renk düzeltme kartı kullandık ve daha sonra ihtiyacımız olabilecek dokuların ve nesnelerin referans fotoğraflarını çektik.

Renk düzeltme kartını gösteren kaba bir Machu Picchu kesimi.

Dikiş atmadan önce kabaca bir Pantheon görüntüsü.

Videoyu işleme

360° içeriği yakalamak yalnızca ilk adımdır; yakaladığımız ham kamera görüntülerini HoloTour'da gördüğünüz son varlıklara dönüştürmek için çok fazla işlem yapılması gerekir. Eve döndüğünüzde 14 farklı kamera akışından videoyu alıp en az yapıtla tek bir sürekli videoya dönüştürmemiz gerekiyordu. Sanat ekibimiz, yakalanan görüntüleri birleştirmek ve iyileştirmek için bir dizi araç kullandı ve işlemeyi mümkün olduğunca iyileştirmek için bir işlem hattı geliştirdik. Çekimlerin bir araya toplanması, renk düzeltmesi ve ardından dikkat dağıtıcı öğeleri ve yapıtları kaldırmak ya da yaşam ve hareket ek cepleri eklemek için bir araya getirilmiş olması gerekiyordu, hepsi de orada olma hissini geliştirmeyi amaçlıydı.

Dikiş atmadan önce kabaca bir Pantheon görüntüsü.

Dikiş atmadan önce kabaca bir Pantheon görüntüsü.

Videoları bir araya getirmek için PTGui adlı bir araç kullandık ve bunu işlem hattımıza entegre ettik. İşlem sonrası videolarımızdan hala kareler ayıkladık ve bu karelerden biri için iyi görünen bir dikiş deseni bulduk. Ardından bu deseni, video sanatçılarımızın After Effects'te birleştirme sırasında doğrudan dikiş deseninde ince ayar yapmalarına ve ayarlamalarına izin veren özel bir eklentiye uyguladık.

Dikişli Pantheon görüntüsünü gösteren PTGui'nin ekran görüntüsü.

Dikişli Pantheon görüntüsünü gösteren PTGui'nin ekran görüntüsü.

Video kayıttan yürütme

Görüntülerin işlenmesi tamamlandıktan sonra, sorunsuz bir videomuz var, ancak olağanüstü büyük ve yaklaşık 8K çözünürlükte. Video kodunu çözme pahalıdır ve 8K videoyu işleyebilen çok az bilgisayar olduğundan, bir sonraki zorluk bu videoyu HoloLens'te oynatmanın bir yolunu bulmaktı. Kullanıcının videonun tamamını görüntülediğini hissetmesini sağlarken kod çözme maliyetini önlemek için bir dizi strateji geliştirdik.

En kolay iyileştirme, videonun çok fazla değişmeyen bölümlerinin kodunun çözülmesini önlemektir. Her sahnedeki çok az hareket içeren veya hiç hareket etmeyen alanları tanımlamak için bir araç yazdık. Bu bölgeler için her karenin kodunu çözmek yerine statik bir görüntü gösteririz. Bunu mümkün kılmak için büyük videoyu çok daha küçük parçalara ayırdık.

Ayrıca kodu çözdiğimiz her pikselin en etkili şekilde kullanıldığından emin olduk. Videonun boyutunu küçültmek için sıkıştırma tekniklerini denedik; video bölgelerini yansıtılacak geometrinin çokgenlerine göre böleriz; UV'leri ayarladık ve farklı çokgenlerin ne kadar ayrıntı içerdiğine göre videoları yeniden paketledik. Bu çalışmanın sonucu, tek bir 8k video olarak başlayan videonun, sahneye düzgün bir şekilde yeniden yansıtılana kadar neredeyse anlaşılmaz görünen birçok öbek haline gelmiş olmasıdır. Doku eşleme ve UV paketlemeyi anlayan bir oyun geliştiricisi için bu muhtemelen tanıdık görünecektir.

İyileştirmelerden önce Pantheon'un tam görünümü.

İyileştirmelerden önce Pantheon'un tam görünümü.

Video kayıttan yürütme için işlenen Pantheon'un sağ yarısı.

Video kayıttan yürütme için işlenen Pantheon'un sağ yarısı.

İyileştirme ve paketleme sonrasında tek bir video bölgesi örneği.

İyileştirme ve paketleme sonrasında tek bir video bölgesi örneği.

Kullandığımız bir diğer püf noktası da, etkin olarak görüntülemediğiniz video kodunu çözmekten kaçınmaktı. HoloTour'dayken, herhangi bir anda sahnenin tamamının yalnızca bir bölümünü görebilirsiniz. Videoların kodunu yalnızca görüş alanınızın (FOV) içinde veya dışında çözeriz. Siz başınızı döndürdükçe, videonun şu anda FOV'nizde olan bölgelerini oynatmaya başlarız ve artık içinde olmayanları oynatmayı durdururuz. Çoğu kişi bunun gerçekleştiğini fark etmez, ancak hızlı bir şekilde geri dönerseniz videonun başlatılmasının birkaç saniye sürdüğünü görürsünüz. Bu sırada, hazır olduğunda videoya geri dönen statik bir görüntü görürsünüz.

Bu stratejinin çalışmasını sağlamak için kapsamlı bir video kayıttan yürütme sistemi geliştirdik. Video geçişinin son derece verimli olması için düşük düzey kayıttan yürütme kodunu iyileştirdik. Ayrıca, videolarımızı herhangi bir anda herhangi bir videoya hızlı bir şekilde geçmeyi mümkün kılmak için özel bir şekilde kodlamamız gerekiyordu. Bu kayıttan yürütme işlem hattı önemli miktarda geliştirme süresine sahip olduğundan bunu aşamalar halinde uyguladık. Daha az verimli olan, ancak tasarımcıların ve sanatçıların deneyim üzerinde çalışmasına izin veren daha basit bir sistemle başladık ve bunu, son kalite çubuğunda göndermemize izin veren daha sağlam bir kayıttan yürütme sistemine yavaşça geliştirdik. Bu son sistemde, videoyu sahne içinde ayarlamak ve kayıttan yürütme motorunu izlemek için Unity'de oluşturduğumuz özel araçlar vardı.

3B'de yakın uzay nesnelerini yeniden oluşturma

HoloTour'da gördüklerinin çoğunu videolar oluşturur, ancak Piazza Navona'daki tablo, Pantheon'un dışındaki çeşme veya havadan manzaralar için durduğun sıcak hava balonu gibi size yakın görünen bir dizi 3B nesne vardır. Bu 3B nesneler önemlidir, çünkü insan derinliği algısı çok yakından iyidir, ancak çok uzakta değildir. Uzaktan videodan kurtulabiliriz, ancak kullanıcıların kendi alanında gezinmelerine ve gerçekten orada olduklarını hissetmelerine izin vermek için yakındaki nesnelerin derinliğe ihtiyacı vardır. Bu teknik, bir doğa tarihi müzesinde görebileceğiniz şeye benzer; ön planda fiziksel peyzaj, bitkiler ve hayvan örnekleri bulunan ancak arka planda akıllıca maskelenmiş mat bir tabloya dönüşen bir diorama çizin.

Bazı nesneler, deneyimi geliştirmek için oluşturduğumuz ve sahneye eklediğimiz 3B varlıklardır. Resim ve sıcak hava balonu bu kategoriye giriyor, çünkü filme aldığımızda yoktular. Oyun varlıklarına benzer şekilde, ekibimizdeki bir 3B sanatçı tarafından oluşturuldular ve uygun şekilde dokulandılar. Bunları sizin durduğumuz yere yakın sahnelerimize yerleştiririz ve oyun motoru bunları iki HoloLens ekranına işleyerek 3B nesne olarak görünmelerini sağlayabilir.

Pantheon'un dışındaki çeşme gibi diğer varlıklar, video çektiğimiz konumlarda var olan gerçek nesnelerdir, ancak bu nesneleri videodan ve 3B'ye getirmek için bir dizi şey yapmamız gerekir.

İlk olarak, her nesne hakkında ek bilgilere ihtiyacımız var. Film çekme sırasında ekibimiz, dokuları doğru bir şekilde yeniden oluşturmak için yeterli ayrıntılı görüntüye sahip olabilmemiz için bu nesnelerin çok sayıda referans görüntüsünü çekti. Ekip ayrıca onlarca 2B görüntüden 3B model oluşturan ve nesnenin kaba bir modelini mükemmel ölçekte sunan bir fotogrametri taraması gerçekleştirdi.

Çekimlerimizi işlerken, daha sonra 3B gösterimle değiştirilecek nesneler videodan kaldırılır. 3B varlık, fotogrametri modelini temel alır ancak sanatçılarımız tarafından temizlenir ve basitleştirilir. Bazı nesneler için, videonun çeşmedeki su dokusu gibi bölümlerini kullanabiliriz, ancak çeşmenin çoğu artık kullanıcıların derinliği algılamasını ve deneyimde sınırlı bir alanda gezinmesini sağlayan bir 3B nesnedir. Bunun gibi uzaya yakın nesnelere sahip olmak gerçekçilik duygusunu büyük ölçüde artırır ve kullanıcıları sanal konuma topraklamalarına yardımcı olur.

Çeşmenin kaldırıldığı Pantheon görüntüleri. 3B varlıkla değiştirilir.

Çeşmenin kaldırıldığı Pantheon görüntüleri. 3B varlıkla değiştirilir.

Son düşünceler

Açıkçası, bu içeriği oluşturmak için burada tartıştığımızdan daha fazlası vardı. Sıcak hava balonu yolculuğu ve Colosseum'daki gladyatör kavgası gibi daha yaratıcı bir yaklaşım benimseyen birkaç sahne vardır. Bunları gelecekteki bir örnek olay incelemesinde ele alacağız.

Üretim sırasında karşılaştığımız büyük zorluklardan bazılarına çözüm paylaşmanın diğer geliştiriciler için yararlı olduğunu ve HoloLens için kendi çevreleyici deneyimlerinizi oluşturmak için bu tekniklerden bazılarını kullanmanıza ilham kaynağı olduğunuzu umuyoruz. (Bunu yaparsanız lütfen HoloLens Uygulama Geliştirme forumu'nda bizimle paylaştığınızdan emin olun!)

Yazarlar hakkında

David Haley David Haley , HoloTour'da çalışmaktan mümkün olduğunu düşündüğünden daha fazla kamera donanımı ve video kayıttan yürütme hakkında daha fazla bilgi edinen kıdemli bir Geliştiricidir. Danny Askew Danny Askew , Roma'daki yolculuğunuzun mümkün olduğunca kusursuz olduğundan emin olan bir Video Sanatçısıdır.
Jason Syltebo Jason Syltebo, zamanda geri döndüğünüzde bile ziyaret ettiğiniz her hedefin ses manzarasını yaşayabildiğinizden emin olan bir Ses Tasarım Aracı. Travis Steiner Travis Steiner , yerleri araştıran ve araştıran, gezi planları oluşturan ve sitede film çekmeyi yöneten bir Tasarım Direktörüdür.

Ayrıca bkz.