========================================================
MR
畫面輸出說明(請(qǐng)參考圖一)
========================================================
一般而言痹仙,當(dāng)VR游戲執(zhí)行時(shí)掸屡,屏幕窗口會(huì)顯示頭顯的視角柒爵,而在啟動(dòng)MR畫面輸出時(shí)坷檩,屏幕窗口會(huì)顯示四個(gè)象限的畫面供使用者去合成抄腔,此四象限畫面分別為:.前景(左上)前景畫面顯示虛擬攝影機(jī)的視角,在游戲場(chǎng)景中伟众,凡是介于頭顯與虛擬攝影機(jī)之間的物體皆會(huì)顯示在此畫面中.前景alpha屏蔽(右上)此畫面是前景的alpha屏蔽析藕,主要是用于影片后制時(shí)可當(dāng)作前景去背的材料.背景(左下)背景畫面顯示虛擬攝影機(jī)的視角,在游戲場(chǎng)景中凳厢,凡是介于頭顯與遠(yuǎn)方背景的物體皆會(huì)顯示在此畫面中账胧。.游戲畫面(右下)
========================================================
如何錄制MR畫面
========================================================
為了啟動(dòng)混合現(xiàn)實(shí)畫面輸出,須達(dá)到以下三個(gè)條件:
A.)內(nèi)容程序必須是由Unity引擎SteamVR插件版本v1.0.8 (或是更新的版本)所開發(fā)
B.)在內(nèi)容程序執(zhí)行文件目錄下放置檔案externalcamera.cfg(純文本檔先紫,擴(kuò)展名為.cfg)
C.)連結(jié)第三把手柄(透過USB連接電腦)以下是檔案externalcamera.cfg的范例:
-------------------------------------------------------------------------------------
x=0
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
sceneResolutionScale=0.5
-------------------------------------------------------------------------------------
當(dāng)以上三個(gè)條件皆成立時(shí)治泥,內(nèi)容程序會(huì)在場(chǎng)景中建立一個(gè)虛擬相機(jī),而檔案externalcamera.cfg即是定義了此虛擬相機(jī)的相關(guān)參數(shù)(請(qǐng)參考圖三):
.x, y, z(單位:公尺):虛擬相機(jī)與第三把手柄之間的三維距離
.rx, ry, rz(單位:度):虛擬相機(jī)相對(duì)于第三把手柄的翻轉(zhuǎn)角度
.fov:虛擬相機(jī)的垂直FOV遮精。(此FOV需與實(shí)體相機(jī)的FOV相同)
除了定義虛擬相機(jī)的參數(shù)之外居夹,此檔案亦定義了一些畫面參數(shù):
.far(單位:公尺):背景畫面顯示的最遠(yuǎn)距離,若游戲場(chǎng)景很大,建議調(diào)高此參數(shù)
.sceneResolutionScale:游戲畫面的質(zhì)量吮播,降低畫質(zhì)可減少電腦資源使用
========================================================
如何校準(zhǔn)相機(jī)參數(shù)(計(jì)算垂直FOV)
========================================================
在拍攝混合現(xiàn)實(shí)影片時(shí)变屁,最重要的是取得FOV參數(shù)值以及取得第三只手柄與實(shí)體相機(jī)的距離,才能順利地將前景與實(shí)體對(duì)象合成意狠。此處我們采用AR的工具來計(jì)算相機(jī)與鏡頭的特性粟关,并取得正確的垂直FOV。(除非更換拍攝時(shí)的相機(jī)或鏡頭环戈,否則此步驟執(zhí)行一次即可)
1.)下載ARToolKit for Unity(http://artoolkit.org/dist/arunity5/5.3/ARUnity5-5.3.2-tools-win.zip)
2.)在ARToolKit for Unity中找到校準(zhǔn)樣板"Calibration chessboard (A4).pdf”并且依原尺寸打用瓢濉(路徑:[downloaded ARToolKit root
directory]/doc/patterns)
3.)從命令提示字符執(zhí)行程序calib_camera.exe(路徑:[downloaded ARToolKit root directory]/bin)指令如下:
-----------------------------------------------------------------------------------------------------
> calib_camera.exe --vconf "-devNum=1 -flipV -showDialog”
校準(zhǔn)工具必須取得實(shí)體相機(jī)的畫面,若抓取到頭顯的前置鏡頭院塞,請(qǐng)修改指令參數(shù)至1或2
-----------------------------------------------------------------------------------------------------
4.)依照在線教學(xué)步驟(http://artoolkit.org/documentation/doku.php?id=2_Configuration:config_camera_calibration
)產(chǎn)生相機(jī)的特性參數(shù)檔案camera_para.bytes(請(qǐng)參考圖四)
"
若校準(zhǔn)的結(jié)果是可采用的遮晚,則每個(gè)影像的誤差應(yīng)在一個(gè)像素以內(nèi),若誤差超過兩個(gè)像素拦止,表示此校準(zhǔn)結(jié)果未成功县遣,請(qǐng)重新校準(zhǔn)"
5.)
將校準(zhǔn)后產(chǎn)生的檔案camera_para.bytes復(fù)制到位移計(jì)算工具externalcamera_cfg_gen中
$PATH\externalcamera_cfg_gen\
externalcamera_cfg_gen_Data\
StreamingAssets\
ardata\
========================================================
將第三只手柄固定于相機(jī)上的方式
========================================================
接下來,我們嘗試計(jì)算出第三只手柄與實(shí)體相機(jī)的距離汹族。計(jì)算的難易度取決于將手柄固定于相機(jī)的方式萧求,而且相對(duì)位置一有改變,便需要修改檔案externalcamera.cfg顶瞒,因此建議找一個(gè)固定且穩(wěn)定的方式夸政,例如將手柄固定在熱靴上,拆卸安裝快速榴徐,且相對(duì)位置容易固定(請(qǐng)參考圖五)
為了讓手柄與實(shí)體相機(jī)呈現(xiàn)相同的水平守问,我們建立了一個(gè)手柄托架,透過此托架垂直立于相機(jī)上坑资,在檔案externalcamera.cfg中的三軸旋轉(zhuǎn)十分接近零度耗帕。目前可下載3D打印文件,并于打印后黏貼一至二個(gè)六角螺母(含1/4螺紋)(請(qǐng)參考圖六)
(3D打印文件下載連結(jié):https://drive.google.com/file/d/0B9XEEDfLPxmjTkc2RF85OVo4clk/view?pref=2&pli=1)
一旦順利地將第三只手柄固定于腳架盐茎、相機(jī)支架或熱靴上后兴垦,接下來便是計(jì)算出檔案externalcamera.cfg里需要的位移(x, y, z)以及旋轉(zhuǎn)(rz, ry, rz)。我們建議以下兩種方式:
方案A:
若你采用HTC Vive手柄托架并且將其固定于相機(jī)熱靴上字柠,此時(shí)手柄與相機(jī)鏡頭應(yīng)該在同一個(gè)水平上,所有的相對(duì)旋轉(zhuǎn)(rx, ry, rz)接近于零狡赐,因此我們只需要計(jì)算位移即可:
1.)找出手柄的中心(請(qǐng)參考圖七):手柄的中心點(diǎn)位于圓盤追蹤器的上緣窑业,下圖中,矩形的位置即代表著手柄的中心點(diǎn)枕屉。
2.)計(jì)算位移(x, y, z):透過卷尺等工具計(jì)算出手柄中心點(diǎn)與相機(jī)鏡頭成像位置的三度空間距離常柄,上圖右下方即為x, y, z軸與手柄的相對(duì)位置。
方案B:
若你的手柄與相機(jī)不在同一個(gè)水平上,這里提供一個(gè)計(jì)算位移的工具(下載連結(jié):https://drive.google.com/file/d/0B9XEEDfLPxmjZjhYaEZrNE9mLVE/view)
1.)下載ARToolKit for Unity(http://www.artoolkit.org/dist/arunity5/5.3/ARUnity5-5.3.2-tools-win.zip)
2.)在ARToolKit for Unity中找到校準(zhǔn)樣板“Multi pattern 4x3 (A4).pdf”并且依原尺寸打印西潘。(路徑:[downloaded ARToolKit root
directory]/doc/patterns)
3.)將校準(zhǔn)后產(chǎn)生的檔案camera_para.bytes復(fù)制到位移計(jì)算工具externalcamera_cfg_gen中
$PATH\externalcamera_cfg_gen\
externalcamera_cfg_gen_Data\
StreamingAssets\
ardata\
4.)將相機(jī)鏈接上電腦
5.)執(zhí)行$PATH\externalcamera_cfg_gen\externalcamera_cfg_gen.exe
----------------------------------------------------------------------------------------------------------------------
.請(qǐng)確認(rèn)計(jì)算工具抓取到正確的校準(zhǔn)參數(shù)文件名卷玉,你可以在檔案videopara.cfg中指定:
videoCParamName0 = camera_para
.校準(zhǔn)工具必須取得實(shí)體相機(jī)的畫面,若抓取到頭盔的前置鏡頭喷市,請(qǐng)修改檔案videopara.cfg中的參數(shù)至1或2:
videoConfigurationWindows0 = -devNum=1-showDialog -flipV
.請(qǐng)確認(rèn)實(shí)體相機(jī)的屏幕比例為16:9相种,例如:1920 x1080
----------------------------------------------------------------------------------------------------------------------
6.)戴上頭顯
7.)將兩只手柄置放于藍(lán)色虛擬手柄的位置上(請(qǐng)參考圖八)
8.)卸下頭顯
9.)將校準(zhǔn)樣板”Multi pattern 4x3 (A4).pdf”至于兩只手柄的中央,方向需與虛擬場(chǎng)景中的一致(請(qǐng)參考圖九)
10.)將相機(jī)對(duì)準(zhǔn)校準(zhǔn)樣板”Multi pattern 4x3 (A4).pdf”品姓。(最好透過腳架固定)(請(qǐng)參考圖十)
11.)戴上頭顯
12.)按下任一手柄側(cè)邊的Grip按鈕寝并,將虛擬的橘色手柄切換至第三把手柄所在位置。此時(shí)橘色手柄與虛擬相機(jī)的相對(duì)位置與實(shí)體狀況相同(請(qǐng)參考圖十一)
13.)按下任一手柄的Trigger按鈕腹备,產(chǎn)生檔案externalcamera00.cfg
14.)重新命名檔案至externalcamera.cfg衬潦,并且將其復(fù)制到游戲執(zhí)行檔文件夾
此工具亦提供”地板校正功能“,當(dāng)你發(fā)現(xiàn)地板有些微傾斜時(shí)(手柄無法與藍(lán)色手柄吻合)植酥,可能會(huì)影響計(jì)算結(jié)果镀岛,請(qǐng)透過此功能先行校準(zhǔn)地板高度。
========================================================
透過OBS Studio合成影像
========================================================
接下來友驮,我們將透過OBS Studio軟件來合成影像漂羊,在開始之前,需要先決定輸出影片的質(zhì)量喊儡,而質(zhì)量取決于你的對(duì)象與目的拨与,以下是此案例的設(shè)定,必要時(shí)可做調(diào)整:
.分辨率: 1080P, 30FPS
.影片大小: 100~200MB (三至五分鐘)
1.)在OBS Studio >設(shè)定>輸出>卷標(biāo)“錄像”(請(qǐng)參考圖十二):
.輸出模式:進(jìn)階
.類型:標(biāo)準(zhǔn)
.錄像格式:mp4
.流量:6000
2.)在OBS Studio >設(shè)定>影像(請(qǐng)參考圖十三):
.來源(全畫面)分辨率:1920x1080
.輸出(縮放)分辨率:1920x1080
.常用FPS:29.97
3.)為了取得分辨率為1080P的影片艾猜,必須在4K屏幕上以全屏幕的方式打開游戲(請(qǐng)參考圖十四):
.按著Shift鍵买喧,執(zhí)行游戲執(zhí)行檔(.exe)
.取消選取“Windowed”
.屏幕分辨率:3840 x 2160
4.)在OBS Studio中,必須依照以下順序新增三個(gè)來源匆赃,分別為”前景”淤毛、”影像采集”及”背景”(請(qǐng)參考圖十五):
a.)前景設(shè)定(請(qǐng)參考圖十五)
前景畫面顯示虛擬攝影機(jī)的視角,在游戲場(chǎng)景中算柳,凡是介于頭顯與虛擬攝影機(jī)之間的物體皆會(huì)顯示在此畫面中低淡。由于前景物體需要迭在玩家上方,因此前景層需至于最上方瞬项。
.新增一個(gè)來源“獲取窗口”
.窗口:指定游戲的執(zhí)行檔名稱
.取消“捕捉游標(biāo)”
在前景層新增兩個(gè)特效濾鏡:
.Crop(右:1920蔗蹋,下:1080)
.Color Key (Black)將前景層的黑色部分去背處理。
b.)影像采集設(shè)定[分辨率:1920x1080](請(qǐng)參考圖十七)
此來源主要是采集來自于相機(jī)的影像囱淋,因此新增一個(gè)影像捕獲設(shè)備:
.裝置:選取網(wǎng)絡(luò)攝影機(jī)或是視頻采集卡
.分辨率/FPS類型:自定義
.分辨率:1920 x 1080
新增一個(gè)特效濾鏡:
.Chroma Key (Green)將玩家背后的綠幕做去背處理猪杭,可以調(diào)整“Similarity”及“Smoothness”來取得較好的去背效果
c.)背景設(shè)定
背景畫面顯示虛擬攝影機(jī)的視角,在游戲場(chǎng)景中妥衣,凡是介于頭顯與遠(yuǎn)方背景的物體皆會(huì)顯示在此畫面中皂吮。
在背景層新增一個(gè)特效濾鏡:
?Crop(右:1920戒傻,上:1080)
----------------------------------------------------------------------------------------------------------------------
內(nèi)容轉(zhuǎn)載自HTC論壇,如有侵權(quán)蜂筹,請(qǐng)小窗需纳。