HTC論壇
標題: 如何透過HTC Vive拍攝Mixed Reality (混合實境)影片(更新) [打印本頁]
作者: ec068e62-6022-4fea-b6b8-59b5ec1c0552 時間: 2016-7-20 12:35
標題: 如何透過HTC Vive拍攝Mixed Reality (混合實境)影片(更新)
也許你是一位開發者,想為自己的HTC Vive遊戲製作酷炫的宣傳片;或者你是遊戲主播,想為觀眾帶來高品質的VR直播體驗;甚至你是一位VR的愛好者。無論如何,如果你對Mixed Reality(混合實境)感興趣,請繼續看下去。本文將介紹如何用HTC Vive拍攝高品質MR視頻。
========================================================
什麼是Mixed Reality(混合實境)影片? 【最後更新 2017/06/16】
========================================================
Mixed Reality影片就是透過VR中的影像+人像合成的影片。相較一般方法錄製的VR影片,Mixed Reality視頻更適合用來做遊戲直播和製作宣傳影片。
如果還是不清楚,可以看看以下這支影片,就是透過Mixed Reality所製作的影片效果。
https://www.youtube.com/watch?v=qYfNzhLXYGc
========================================================
製作Mixed Reality影片需要準備的道具
========================================================
器材清單
下表列出拍攝混合實境時需要的器材清單,並非所有項目皆須採購,請考量成本預算、是否有能力操作該器材以及拍攝的對象與目的,再決定刪減部分器材或者採用替代品。重點不在於越昂貴的器材越好,而是如何透過創意及巧思去呈現體驗者在虛擬實境中的互動。
*以上列出之型號並非推薦產品,亦無品牌偏好,請依個人喜好與需求購買。
--------------------------------------------------------------------------------------------
硬體配置圖
下圖是在拍攝混合實境時的器材架設圖,如討論器材清單所說明,並非所有器材皆需要,主要還是依拍攝目的為主,依本案為例:
• 即時合成虛實影像,並錄製或直播影片
• 將合成之影像投射給現場觀眾觀看
• 移動式鏡頭,跟隨體驗者移動(因此需要回放合成影像給攝影師來取景)
為達到此目的,在架設時有以下考量:
1. 影像擷取卡
影像擷取卡的目的是將相機或攝影機之影像擷取至電腦,透過影像擷取盒也能達到此目的。若你是採用網路攝影機直接將影像訊號輸入至電腦,則不需要此裝置。
2. 4K螢幕
由於在錄製混合實境影片時,我們只能擷取四分之一的螢幕畫面(稍後解釋),因此為了取得1080P影片,建議採用4K螢幕(解析度:3840 x 2160)。若採用FHD螢幕,僅能錄製 960 x 540的影片或是必須犧牲畫質將540P拉高至720P解析度。
3. 螢幕(攝影師觀看用途)
為了讓混合實境影片更加豐富,跟隨著體驗者的移動式取景會比固定式取景更有趣。因此需要回放合成後的結果,協助攝影師取景。若採用固定式取景,如網路直播,則不需此設備。
4. 螢幕(觀眾觀看用途)
透過此螢幕即時播放混合實境畫面能讓觀眾更有參與感,適用於公開展示等活動。
========================================================
混合實境畫面輸出
========================================================
一般而言,當VR遊戲執行時,螢幕視窗會顯示頭盔顯示器的視角,而在啟動混合實境畫面輸出時,螢幕視窗會顯示四個象限的畫面供使用者去合成,此四象限畫面分別為:
• 前景(左上)
前景畫面顯示虛擬攝影機的視角,在遊戲場景中,凡是介於頭盔顯示器與虛擬攝影機之間的物體皆會顯示在此畫面中。
• 前景 alpha 遮罩(右上)
此畫面是前景的alpha遮罩,主要是用於影片後製時可當作前景去背的材料。
• 背景(左下)
背景畫面顯示虛擬攝影機的視角,在遊戲場景中,凡是介於頭盔顯示器與遠方背景的物體皆會顯示在此畫面中。
• 遊戲畫面(右下)
此畫面呈現頭盔顯示器的視角,為一般的VR遊戲畫面。
========================================================
啟動混合實境畫面輸出
========================================================
若使用三支控制器啟動混合實境畫面輸出,須達到以下三個條件:
A. 內容程式必須是由Unity 引擎 SteamVR 插件版本 v1.0.8 (或是更新的版本) 所開發。
B. 在內容程式執行檔目錄下放置檔案 externalcamera.cfg(純文字檔,副檔名為.cfg)。
C. 連結第三把手柄控制器。
當使用Vive Tracker作為混合實境的輸出,則以下條件需要滿足:
A. 內容程式必須是由 Unity 引擎 SteamVR 插件版本 v1.2.0 (或是更新的版本) 所開發。
B. 在內容程式執行檔目錄下放置檔案 externalcamera.cfg(純文字檔,副檔名為.cfg)。
C. 連結兩把手柄控制器和Vive Tracker。
以下是檔案 externalcamera.cfg 的範例:
當以上三個條件皆成立時,內容程式會在場景中建立一個虛擬相機,而檔案 externalcamera.cfg 即是定義了此虛擬相機的相關參數:
• x, y, z(單位:公尺):虛擬相機與第三把手柄控制器之間的三維距離。
• rx, ry, rz(單位:度):虛擬相機相對於第三把手柄控制器的翻轉角度。
• fov: 虛擬相機的垂直 FOV。(此 FOV 需與實體相機的 FOV 相同)
除了定義虛擬相機的參數之外,此檔案亦定義了一些畫面參數:
• far(單位:公尺):背景畫面顯示的最遠距離,若遊戲場景很大,建議調高此參數。
• sceneResolutionScale:遊戲畫面的品質,降低畫質可減少電腦資源使用。
請依以下步驟使用Vive Tracker Role Changer
• 拔除HTCVive和電腦的連接
• 利用USB線將Vive Tracker和電腦連接
• 執行工具並按步驟操作
• 工具將會報告現在角色和即將變化的角色
• 完成後將ViveTracker從電腦上卸除、重新連接器材與SteamVR
========================================================
將第三隻手柄控制器固定於相機上的方式
========================================================
接下來,我們嘗試計算出第三隻手柄控制器與實體相機的距離。計算的難易度取決於將手柄控制器固定於相機的方式,而且相對位置一有改變,便需要修改檔案 externalcamera.cfg,因此建議找一個固定且穩定的方式,例如將手柄控制器固定在熱靴上,拆卸安裝快速,且相對位置容易固定。
將Vive Tracker固定於相機上的方式
當固定Vive Tracker 時,你可以輕易的另用標準的相機螺絲,將Vive Tracker固定於相機上。
【校正Vive Tracker/第三把控制器與相機的位置與角度】
一旦順利地將第三隻控制器固定於腳架、相機支架或熱靴上後,接下來便是計算出檔案 externalcamera.cfg 裡需要的位移(x, y, z) 以及旋轉(rz, ry, rz)。我們建議以下兩種方式:
方案A (僅適用於控制器):
若你採用HTC Vive 控制器托架並且將其固定於相機熱靴上,此時控制器與相機鏡頭應該在同一個水平上,所有的相對旋轉 (rx, ry, rz) 接近於零,因此我們只需要將精力放在計算位移即可:
1. 找出控制器的中心
控制器的中心點位於圓盤追蹤器的上緣,下圖中,矩形的位置即代表著控制器的中心點。
2. 計算位移 (x, y, z)
透過捲尺等工具計算出控制器中心點與相機鏡頭成像位置的三度空間距離,上圖右下方即為x, y, z 軸與控制器的相對位置。
方案 B
1. 安裝
在開啟SteamVR後,將MRCameraConfigTool_v0.56資料夾解壓縮,並點選MR_Config.exe。開啟前,確認三把控制器(兩把控制器和Tracker)皆順利連接至電腦,在SteamVR的視窗上,三個器材皆顯示恆綠的訊號。若有任一裝置未連線,你會在畫面上看到預設畫面。
2. 設定MR_Config.exe
l 按下Alt + Enter兩次,使視窗和導入畫面呈現正常比例。.
l 按下F2並選擇你所使用的影像擷取裝置,並選擇相對應的解析度。
3. 熱鍵介紹
使用以下熱鍵,可以協助校正動作。
l Zero Position: 重設 (x, y, z) to0
l Zero Rotation: 重設 (Rx, Ry,Rz) to 0
l 方向鍵: 設定(x,y)
l PageUp/Page Down: 設定 (z)
l W/S key: 設定 (Rx)
l A/D key: 設定 (Ry)
l Q/E key: 設定 (Rz)
l +/- key: 設定 FOV
l F5: 清理所有標記
l M: 使用 HMD進行大角度旋轉
其他熱鍵功能:
l F1: 虛擬相機設定
l F2: 影像擷取設定
l F3: 色度鍵設定(若在綠幕使用時)
4. 從設定(Rx, Ry, Rz)開始
為了做更好的混合實境合成,虛擬相機和真實相機必須完全相同,包括位置、旋轉、FOV等參數。在最初將位置和旋轉等參數都設為零進行設定時,虛擬相機會在第三支控制器/ViveTracker的位置上,並正面對Z軸。
若使用第三把控制器,並安裝如同第七頁圖上所示,可以將(Rx, Ry, Rz)從 (0,0,0)開始設定;若使用Vive Tracker,則建議將Vive Tracker的指示燈和鏡頭呈現垂直方向,由(0,90,90)的參數開始校正(Rx, Ry, Rz)。
設定完以上步驟後,將攝像機對準有兩個控制器的場景。當相機的畫面和虛擬畫面疊合,會出現類似下面的畫面,兩個虛擬控制器和兩個真實的控制器。
若在畫面中沒有找到虛擬控制器,你可以按下M鍵並轉動Vive頭戴顯示器,直到虛擬控制器出現道畫面為止。其後再按照下面步驟調整(X, Y, Z)和(Rx, Ry, Rz)。
5. 校正相機中心 (X, Y, Z)
首先將控制器的USB 孔放置於鏡頭的正中央,使USB 孔正對電腦畫面中間的十字。在按下控制器上的板機鍵,在VR 中標記紅色的點。隨後再利用方向鍵和Page up / Page down 調整上下左右,直到將紅色的標記和十字記號位置一致。完成後按下F5 清除所有標記。
6. 校正旋轉 (Rx, Ry, Rz) 和FOV
調整完中心點後,以下提供兩個方式,協助校正其餘變數的校正,包括Rx、Ry、Rz 和FOV。
方式一:
將控制器放置於畫面十字中心點上,並距離實體相機至少1.5 尺處。藉由QWEASD 按鍵調整中心軸。其後,將兩支控制器放置在畫面的兩端,以調整FOV 和旋轉。
可以藉由拿取控制器做以下動作,方便校正相關參數。
方法二:
控制器在四個選定的實際點上進行標記。標記時,控制器的USB 孔放置於實際點上。標記後調整相關參數,直到相疊合為止。
7. 完成後點選「Save settings」儲存參數。
8. 離開工具程式,將資料夾內的 「externalcamera.cfg」複製到VR 內容檔案夾內。
========================================================
透過 OBS Studio 合成影像
========================================================
接下來,我們將透過 OBS Studio軟體來合成影像,在開始之前,需要先決定輸出影片的品質,而品質取決於你的對象與目的,以下是此案例的設定,必要時可做調整:
• 解析度:1080P, 30FPS
• 影片大小:100~200MB (三至五分鐘)
在OBS Studio > 設定> 輸出 >標籤“錄影”:
• 輸出模式:進階
• 類型:標準
• 錄影格式:mp4
• 流量:6000
在 OBSStudio > 設定 > 影像:
• 來源(全畫面)解析度:1920x1080
• 輸出(縮放)解析度:1920x1080
• 常用 FPS:29.97
為了取得解析度為 1080P的影片,必須在 4K螢幕上以全螢幕的方式打開遊戲:
• 按著 Shift 鍵,執行遊戲執行檔 (.exe)。
• 取消選取“Windowed”。
• 螢幕解析度:3840x 2160
在 OBS Studio 中,必須依照以下順序新增三個來源,分別為前景、影像擷取以及背景:
• 前景
前景畫面顯示虛擬攝影機的視角,在遊戲場景中,凡是介於頭盔顯示器與虛擬攝影機之間的物體皆會顯示在此畫面中。由於前景物體需要疊在玩家上方,因此前景層需至於最上方。
• 新增一個來源“視窗擷取”。
• 視窗:指定遊戲的執行檔名稱。
• 取消“捕捉游標”。
在前景層新增兩個特效濾鏡:
• Crop(右:1920,下:1080)
• ColorKey (Black) 將前景層的黑色部分去背處理。
• 影像擷取[解析度:1920x1080]
此來源主要是擷取來自於相機的影像,因此新增一個影像擷取裝置:
• 裝置:選取網路攝影機或是影像擷取卡。
• 解析度/FPS 類型:自訂
• 解析度:1920 x 1080
新增一個特效濾鏡:
• ChromaKey (Green) 將玩家背後的綠幕做去背處理,可以調整 “Similarity” 及 “Smoothness” 來取得較好的去背效果。
• 背景
背景畫面顯示虛擬攝影機的視角,在遊戲場景中,凡是介於頭盔顯示器與遠方背景的物體皆會顯示在此畫面中。
在背景層新增一個特效濾鏡:
• Crop(右:1920,上:1080)
----------------------------------------------------------------------------------------------------------------------
現在就開始製作自己的HTC Vive Mixed Reality (混合實境)影片吧!!
-
122937msaqmusu4b5xsso4.png
(387.01 KB, 下載次數: 10)
-
123149bvue7efkgk3ypk61.png
(128.28 KB, 下載次數: 7)
-
123221pofps9lqp9ss2pss.png
(317.08 KB, 下載次數: 12)
-
123447bov33giktgtyc3bd.png
(73.33 KB, 下載次數: 11)
-
124259etuivt1mj1vknz1b.png
(623.78 KB, 下載次數: 6)
-
124416gq1g0zvqxilw4zql.png
(632.96 KB, 下載次數: 3)
-
124454r9u0qlu9ubuoccj0.png
(207.08 KB, 下載次數: 6)
-
124625izgdfidkbtqeagzg.png
(1.46 MB, 下載次數: 5)
-
125113dmjpjyttzfbtgfcb.png
(914.83 KB, 下載次數: 9)
-
125534udj055qvpek00mbw.png
(838.05 KB, 下載次數: 10)
-
125745u4hjgkok65tz7zzd.png
(1.5 MB, 下載次數: 7)
-
130011u3c266l6wc66c65n.png
(52.54 KB, 下載次數: 3)
-
130026cmhfl0od0zd9g3ho.png
(21.42 KB, 下載次數: 10)
-
130142cbxk8iiaug44zglg.png
(378.47 KB, 下載次數: 5)
-
130322b4t6yw6qmy7969yz.png
(44.23 KB, 下載次數: 6)
-
130405nb8bnqnq1nvvlaqj.png
(69.13 KB, 下載次數: 12)
作者: b3e27158-2b92-455c-b6ed-81c0f4bf1248 時間: 2016-7-24 12:09
這個真的蠻實用的,推實用教學,感謝大大分享
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2016-8-22 13:37
這篇文章不錯,解決了我的一些疑惑,在我的實踐操作中存在一些問題,前景視頻影像進行color key(色值)進行去除黑色,遊戲中的前景模型會存在大量的黑邊,而HTC VIVE的官方宣傳視頻中並不會有這種情況,請問該現象要怎麼去進行解決?
作者: f0d80773-687c-400e-988d-e9f0780bdba6 時間: 2016-8-22 22:16
請問有試著調整黑色 Color key 的相似度 (Similarity) 嗎?
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2016-8-23 09:21
是的,有調整過,但會導致接近黑色的物體模型也會被去除,或者是不完整。HTC VIVE的官方視頻是很完美的。還有請問alpha通道是拿來幹什麼用的,裡面具備了alpha通道透明信息,可以通過OBS直接透明,不需要去進行color key 去除黑色。
作者: f0d80773-687c-400e-988d-e9f0780bdba6 時間: 2016-8-25 16:25
Alpha mask是後製時可以使用的素材,當成遮罩去背用的,會比較乾淨。但因為OBS沒有提供遮罩的filter,所以不能透過alpha mask去背。如果遊戲是自己開發的,可以考慮修改 Unity 專案目錄的 Assets\SteamVR\Resources\SteamVR_ColorOut.shader:
// return float4(color.rgb, 1);
return float4(color.rgb, color.a);
再透過 OBS "Game Capture" 裡的 allow transparency,就能達到較好的即時去背效果。 本文章最後由( Hanson )於 2016-8-25 16:47 編輯
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2016-8-26 09:49
非常感謝,我自己開發的unity3D 應用已經實現,最近換了個4K顯示屏 為了錄製1920x1080的視頻,debug 和 運行VR緩慢,目前配置是 i7 4790 16G RAM GTX1060 ,請問有什麼推薦的開發配置?
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2016-9-25 13:53
13.) 按下任一控制器的 Trigger 按鈕,產生檔案 externalcamera00.cfg 為什麼我沒有反應,檔案在哪裡位置
此工具亦提供 ”地板校正功能“,當你發現地板有些微傾斜時(控制器無法與藍色控制器吻合),可能會影響計算結果,請透過此功能先行校準地板高度。
請問怎麼校正
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2016-10-14 16:19
請問控制器托架的3D列印檔案還能夠授予存取權嗎?
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2017-2-19 15:34
位移计算工具是啥?我没有找到相关路径文件夹
作者: c389224b-7617-41d3-8b33-213fcec1e33d 時間: 2017-2-21 21:31
哇 太厲害了 這樣影片可以即時直播嗎?
作者: 37511335-1b55-42ab-9e7d-6b3e049692aa 時間: 2017-3-3 09:58
您指的是方案 B 的 3.) 將校準後產生的檔案 camera_para.bytes 複製到位移計算工具 externalcamera_cfg_gen 中嗎?
這邊指的是前面提供地計算位移的工具,$PATH則是對應到您下載後解壓縮的電腦路徑
$PATH\externalcamera_cfg_gen\
externalcamera_cfg_gen_Data\
StreamingAssets\
ardata\
若您未能成功下載也請再告知我們
感謝您的回應,我們將會修改該部分的描述讓步驟能夠更淺顯易懂!
作者: 37511335-1b55-42ab-9e7d-6b3e049692aa 時間: 2017-3-3 10:48
可以的唷
若您的電腦能夠負載同時直播 及擁有穩定的網路訊號
您可以參考另一篇OBS的使用教學:[教程] OBS Studio | 錄製遊戲的神兵利器
及Youtube上的簡易直播教學,https://www.youtube.com/watch?v=T8n0eWRYsV4
其他平台的直播若您有興趣也可以反映給我們知道,我們會再為您蒐集或是製作相關教學文章^^
作者: e6bf7978-48fa-4fea-a213-35ee31f273c9 時間: 2017-3-30 03:47
你好,
Vive Tracker無法取代第三支手把嗎??
作者: e6bf7978-48fa-4fea-a213-35ee31f273c9 時間: 2017-4-4 18:02
我自己也很明白現在對於一般消費者只有MR的用途,
就買了"一個"回來嘗試做MR影片,
一路上遇上蠻多問題的....
首先是Unity引擎尚不能接受定位器做為相機定位,
再者是相機的FOV太小畫面會被人擋住,
經過一連串的摸索終於讓MR畫面有個初步的樣子了
官方教學
https://www.vive.com/tw/forum/995
個人補充
https://youtu.be/CmYE78zHSvE
第一次測試
https://youtu.be/NR2toOdrs20
第二次測試(廣角測試)
https://youtu.be/HDfVQiuaQVs
第三次測試(配置調整)
https://youtu.be/YXQ7C6QOX3Q?t=24m14s
其他連結
定位器模擬手把工具
https://community.viveport.com/t5/Developer-Discussion/Vive-Tracker-Role-Changer-current-version-0-8/td-p/6602
免綠幕去背工具
https://www.tridef.com/products/smartcam
作者: e6bf7978-48fa-4fea-a213-35ee31f273c9 時間: 2017-4-9 02:07
另一個校正工具
網站
http://www.tribalinstincts.com/mixedrealityconfigurator/
教學影片
https://youtu.be/OlwqAYKR_nc
先把三支手把的設定處理好
用定位器就先模擬成手把
在現實環境上做幾個記號
啟動MixedRealityConfigurator
選好相機
對著現實環境在虛擬空間裡做記號
再將兩組記號調整在一起
由程式左下角將資訊複製到externalcamera.cfg
聽起來蠻輕鬆愜意的
正在架設MR的玩家可以嘗試看看
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2017-4-10 18:04
你好,请教您一个问题,关于FOV镜头校准的第三步 执行指令 > calib_camera.exe --vconf "-devNum=1 -flipV -showDialog” 如何使用,这个指令是干嘛左右,如何使用的,还有我生成的camera_para文件为啥没有后缀名,而且打开都是乱码,原因是什么,感谢59303264@qq.com是我邮箱,非常感谢 本文章最後由( 贾石磊 )於 2017-4-10 18:07 編輯
作者: e6bf7978-48fa-4fea-a213-35ee31f273c9 時間: 2017-4-10 20:21
指令是讓你定義開啟第幾個連接電腦的相機用的
副檔名要自己修改
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2017-4-21 16:22
請問各位大大有人是用擷取卡(圓剛GL310)的嗎?
相機定位那步驟-執行程式 calib_camera.exe
我確定有選到擷取卡
但是他無法正常顯示擷取畫面視窗都會直接跳掉無法運行
請問有人用擷取卡接相機後能正常定位的嗎
麻煩各位前輩們幫幫忙卡這部好久
還是有規定用哪張擷取卡嗎?
還是要灌特定的啟動程式呢
還是我還缺甚麼指令呢?
作者: e148a051-e734-4bdd-a4ac-fbd3bcedcf1d 時間: 2017-7-14 20:52
那有綠幕的話,也算是混合虛擬實境對嗎?
作者: 7d9db559-3019-448b-a252-1ada8c246d46 時間: 2017-8-9 10:29
MRCameraConfigTool_V0.56, https://goo.gl/Kbk25X
作者: 7d9db559-3019-448b-a252-1ada8c246d46 時間: 2017-8-9 10:33
混合實境(Mixed Reality)現在有很多解釋,綠幕具有虛擬+真實影像,我覺得稱之為Mixed Reality是沒有問題的
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2017-8-18 12:38
影像截取卡能用SDI吗?还是只能用HDMI?
作者: 7d9db559-3019-448b-a252-1ada8c246d46 時間: 2017-9-13 16:51
可以阿你看文章裡的連結還可以用吧
作者: 84ffa6b3-2990-40ed-92a6-96dcf5e9f711 時間: 2017-11-21 17:02
請問MRCameraConfigTool_V0.56是如何讓我的背景過濾我選定的顏色的?有用什麼插件之類的嗎?
歡迎光臨 HTC論壇 (https://community.htc.com/tw/) |
Powered by Discuz! X3.1 |