案例研究 - HoloTour
適用于Microsoft HoloLens的 HoloTour 提供世界各地圖示位置的沉浸式 3D 個人導覽。 身為設計工具、作者、製作人、音訊設計工具,以及負責此專案的開發人員所發現,建立知名位置的實用 3D 轉譯,採用獨特的創意和技術精靈。 此案例研究將逐步解說擷取和建立用於 HoloTour 的內容的程式。
技術
透過 HoloTour,我們想要讓人們能夠直接從自己的生活室造訪一些世界最令人讚歎的目的地,例如在巴西的 Machu Picchu 或義大利新一天的新一天 貝 裡布達文。 我們的小組將 HoloTour 的目標設為「讓您覺得您真的在那裡」。 體驗不只是圖片或影片。 藉由利用 HoloLens 的獨特顯示、追蹤和音訊技術,我們相信我們可以將您幾乎傳輸至另一個位置。 我們需要擷取我們所流覽之每個位置的擷取、音效和三維幾何,然後在應用程式內重新建立。
為了這樣做,我們需要具有方向音訊擷取的 360° 相機設備。 它需要以極高解析度擷取,如此一來,當在 HoloLens 上播放時,畫面看起來會清晰明瞭,而且相機必須放在一起,才能將接合成品降到最低。 我們也想要完整球面涵蓋範圍,不只是沿著水平線,而是在上方和下方。 此鑽機也需要可攜式裝置,才能將它帶到世界各地。 我們已評估可用的現成選項,併發現它們只是不足以實現我們的願景,可能是因為解決方案、成本或大小。 如果我們找不到滿足需求的相機設備,就必須自行建置相機。
建置鑽機
第一個版本是從卡片板、Velcro、管道磁帶和 14 GoPro 相機所建立,是 MacGyver 會很令人信氣。 在檢閱從低階解決方案到自訂製造設備的所有專案之後,GoPro 相機最終是最佳選項,因為它們很小、價格便宜,而且具有便於使用的記憶體儲存體。 小型尺寸規格特別重要,因為它可讓我們將相機放在一起相當接近的位置—相機之間的距離越小,接合成品越小。 我們獨特的相機相片順序可讓我們取得完整的球面涵蓋範圍 ,加上 足夠的重迭,以智慧方式對齊相機,並在接合過程中將某些成品平滑化。
利用 HoloLens 上的 空間音效 功能,對於建立令人信服的沉浸式體驗非常重要。 我們使用位於三腳相機底下的四個麥克風陣列,以四個方向從相機的位置擷取音效,讓我們有足夠的資訊在場景中建立空間音效。
我們的 360° 相機鑽機設定為在 Pantheon 外部進行電影。
我們藉由將它擷取到西雅圖附近的 Rattlesnake 在西雅圖附近,擷取登山客頂端的山水,來測試我們的熱氣。 結果雖然明顯比您今天在 HoloTour 中看到的位置更完善,但讓我們確信我們的實心設計夠好,讓您覺得您真的在那裡。
我們已將鑽機從 Velcro 和卡片板升級為 3D 列印的相機,並購買 GoPro 相機的外部電池套件,以簡化電池管理。 然後,我們進行了更廣泛的測試,並前往 San Francisco,以建立城市海道和圖示 Golden Gate 橋的小型導覽。 此相機鑽機是我們用來擷取 HoloTour 中大部分位置的擷取專案。
Machu Picchu 中的 360° 攝影機攝影機攝影。
在幕後
在進行電影之前,我們需要找出要在虛擬導覽中包含哪些位置。 Rome 是我們打算寄送的第一個位置,我們想要讓它正確,因此我們決定事先進行 Scouting 旅程。 我們傳送了六個人小組,包括藝術師、設計師和製作人,以親自造訪我們考慮的網站。 旅行大約需要 9 天 – 2.5 個旅遊,其餘部分用於電影。 (針對 Machu Picchu,我們選擇不進行 Scout 旅行,事先研究並預約數天的緩衝區以進行電影。)
在 Rome 中,小組會拍攝每一個區域的相片,並記下有趣的事實和實際考慮,例如移動至每個地點有多困難,以及因為大眾或限制而電影有多困難。 這聽起來像是假期,但很多工作。 天從早上提早開始,而且會在晚上之前不停止。 每天晚上,影片都會上傳給西雅圖的小組檢閱。
我們在 Rome 中的擷取小組。
Scout 旅程完成之後,會針對實際電影進行最終計畫。 這需要一份詳細的清單,說明我們要在哪一天、哪一天和哪一天進行電影。 每天的旅行成本很高,因此這些旅行需要有效率。 我們已在 Rome 中預訂指南和處理常式,以協助我們每天完整使用,從早到終止之後。 我們需要獲得最佳的影片,才能讓您覺得您真的在那裡。
擷取影片
在擷取期間執行一些簡單的動作,可讓後續處理變得更容易。 例如,每當您將多個相機的影像結合在一起時,最終都會有視覺成品,因為每個相機都有稍微不同的檢視。 更接近相機的物件,檢視之間的差異愈大,接合成品就越大。 以下是將問題視覺化的簡單方式:將您的拇指放在臉部前面,並只用一眼查看。 現在切換眼睛。 您會看到您的指紋似乎相對於背景移動。 如果您將指紋與臉部更遠,並重複實驗,則您的指紋看起來會比較少。 該明顯的移動類似于我們所面對的結合問題:您的眼睛,例如相機,不會看到完全相同的影像,因為它們會以一些距離隔開。
由於在電影中防止最差的成品比在後置處理中更正成品更容易,因此我們嘗試讓人員和事物遠離相機的距離,我們不需要將特寫物件結合在一起。 在相機周圍維持大型清除,可能是我們在拍攝期間遇到的最大挑戰之一,而且必須有創意才能讓它運作。 使用當地指南是管理大眾的一大説明,但我們也發現使用標誌,有時使用小圓錐或帛包來標記我們的電影空間相當有效,特別是因為我們只需要在每個位置取得簡短的影片。 取得良好擷取的最佳方式通常是在大部分人顯示之前,只到早上非常早抵達。
一些其他實用的擷取技術來自傳統的電影做法。 例如,我們在所有的相機上使用色彩校正卡片,並擷取紋理和物件稍後可能需要的參考相片。
擷取前的 Pantheon 畫面粗略剪下。
處理影片
擷取 360° 內容只是第一個步驟—需要大量處理,才能將我們擷取的原始相機畫面轉換成您在 HoloTour 中看到的最終資產。 一旦回到家,我們需要從 14 個不同的相機摘要取得視訊,並將它轉換成具有最少成品的單一連續視訊。 我們的藝術團隊使用一些工具來結合和波蘭擷取的畫面,並開發管線以盡可能優化處理。 畫面必須結合在一起、更正色彩,然後複合以移除干擾的元素和成品,或新增補充的生活和動作區,全部都是為了增強實際存在感的目標。
擷取前的 Pantheon 畫面粗略剪下。
為了將影片結合在一起,我們使用稱為 PTGui 的工具,並將其整合到處理管線中。 在後置處理過程中,我們擷取了影片中的仍然畫面,併發現適合其中一個畫面格的結合模式。 接著,我們會將該模式套用至我們撰寫的自訂外掛程式,讓影片作者能夠直接微調並調整接合模式,同時在 After Effects 中撰寫。
PTGui 的螢幕擷取畫面,其中顯示已結合的 Pantheon 畫面。
影片播放
完成影片處理之後,我們有順暢的視訊,但非常龐大,大約 8K 解析度。 解碼視訊的成本很高,而且只有少數電腦可以處理 8K 視訊,因此下一個挑戰是尋找在 HoloLens 上播放此影片的方法。 我們開發了一些策略來避免解碼的成本,同時仍讓使用者覺得他們正在觀看整個影片。
最簡單的優化是避免解碼不會變更太多影片的部分。 我們撰寫了一個工具來識別每個場景中幾乎沒有動作的區域。 針對這些區域,我們會顯示靜態影像,而不是解碼每個畫面的視訊。 為了達成此情況,我們將大型視訊分割成較小的區塊。
我們也確定我們解碼的每個圖元都最有效率地使用。 我們試驗了壓縮技術來降低視訊的大小;我們會根據投影到的幾何多邊形來分割視訊區域;我們已調整 UV,並根據包含多少詳細資料來重新封裝影片。 這項工作的結果是,從單一 8k 視訊開始的結果會變成許多區塊,這些區塊看起來幾乎無法理解,直到它們正確地重新投影到場景中為止。 對於瞭解紋理對應和 UV 封裝的遊戲開發人員,這看起來可能很熟悉。
優化之前 Pantheon 的完整檢視。
Pantheon 的右半部,用於視訊播放。
優化和封裝之後的單一視訊區域範例。
我們所使用的另一個訣竅是避免您未主動檢視的解碼視訊。 在 HoloTour 中,您隨時只能看到完整場景的一部分。 我們只會將視訊解碼 (FOV) (或短時間內。 當您旋轉頭部時,我們會開始播放現在在 FOV 中的影片區域,並停止播放不再在其中的影片。 大部分的人甚至不會注意到這種情況發生,但如果您快速切換,您會看到影片需要第二次開始,同時您會看到靜態影像,然後在影片準備就緒後淡回視訊。
為了讓此策略能夠運作,我們開發了廣泛的視訊播放系統。 我們已優化低階播放程式碼,讓視訊切換非常有效率。 此外,我們必須以特殊方式編碼影片,以便隨時快速切換至任何視訊。 此播放管線花費大量開發時間,因此我們會分階段實作。 我們從較不有效率的較簡單系統開始,但允許設計人員和藝術師處理體驗,並緩時改善為更強固的播放系統,讓我們能夠在最終品質列寄送。 此最終系統具有我們在 Unity 內建立的自訂工具,可在場景中設定影片並監視播放引擎。
在 3D 中重新建立近空間物件
影片構成您在 HoloTour 中看到的大部分內容,但有數個 3D 物件看起來很接近您,例如在[貝氏] Navona 中繪製、Pantheon 外部的空調,或您為空照場景所擔任的熱空氣球。 這些 3D 物件很重要,因為人類深度感知非常接近,但不是非常遠的地方。 我們可以在距離中離開視訊,但讓使用者可以四處走動其空間,並覺得他們真的在那裡,附近的物件需要深度。 這項技術類似于您在自然歷程記錄中可能看到的一些事物,圖片是一個在前景具有實體陸地擷取、植物和動物植物的恐龍,但在背景中倒轉成聰明遮罩的 matte 繪製。
有些物件只是我們建立並新增至場景的 3D 資產,可增強體驗。 繪製和熱空氣球落在這個類別中,因為它們在電影時不存在。 類似于遊戲資產,它們是由小組上的 3D 藝術師所建立,並適當地紋理。 我們會將這些專案放在您所在的附近,而遊戲引擎可以將它們轉譯成兩個 HoloLens 顯示器,使其顯示為 3D 物件。
Pantheon 外部的其他資產是存在於我們拍攝視訊的位置中的實際物件,但為了將這些物件從影片中取出並放入 3D,我們必須執行一些動作。
首先,我們需要有關每個物件的其他資訊。 在進行電影的位置時,我們的小組會擷取這些物件的許多參考畫面,讓我們有足夠的詳細影像來精確地重新建立紋理。 小組也執行 了相片攝影攝影 掃描,此掃描會從數十個 2D 影像建構 3D 模型,以完美比例提供物件的粗略模型。
當我們處理影片時,稍後會以 3D 標記法取代的物件會從影片中移除。 3D 資產是以相片測量模型為基礎,但由我們的藝術師清理和簡化。 對於某些物件,我們可以使用影片的一些部分,例如水紋上的水紋,但大部分的元素現在是 3D 物件,可讓使用者在體驗中的有限空間中察覺深度並逐步流覽。 擁有類似這樣的近空間物件可大幅增加真實感,並協助將使用者放在虛擬位置。
移除了擷取的 Pantheon 畫面。 它會取代為 3D 資產。
最後的想法
很明顯地,建立此內容比我們在這裡討論的內容還多。 有一些場景—我們想要將其稱為「不可能的觀點」,包括熱空氣球車程,以及 Colosseum 中的快樂者對抗,其採用更具創意的方法。 我們將在未來的案例研究中解決這些問題。
我們希望將解決方案分享到我們在生產期間遇到的一些較大挑戰,對其他開發人員很有説明,而且您受到啟發,想要使用這些技術來建立自己的 HoloLens 沉浸式體驗。 (如果您這麼做,請務必在 HoloLens 應用程式開發論壇與我們分享!)
關於作者
![]() |
David Haley 是資深開發人員,其深入瞭解相機設備與視訊播放,比他認為在 HoloTour 上工作可能還要多。 |
![]() |
Danny Askew 是一位影片藝術師,可確保您透過 Rome 的旅程盡可能無瑕疵。 |
![]() |
Jason Syltebo是一種音訊Designer,可確保您可以體驗您所造訪的每個目的地音效,即使您回到時間也一定。 |
![]() |
Travis Actorser 是設計主管,負責研究及探索地點、建立旅行計畫,並在現場製作電影。 |