Recording

是否可以錄製任何遊戲的影片、深度圖和 6D 姿勢?

  • March 30, 2021

我是一名研究人員,致力於在各種情況下提高影片質量。對於我目前的問題,我需要收集既有 RGB 數據又有深度數據的影片。影片可以是單目或立體的。但是,如果有自我運動,我也需要相機姿勢(旋轉和平移)。有沒有辦法在任何類型的遊戲中記錄所有這些資訊?遊戲可以在任何平台上進行:PC 遊戲、手機遊戲或 VR 遊戲。

簡而言之,我想記錄遊戲過程,但需要附加深度圖和相機姿勢等資訊。

帶有 3D 攝影機的遊戲當然可以為您提供位置資訊(每幀攝影機的 X、Y、Z 座標和角度(偏航、俯仰、滾動))。如何儲存(格式)計算並用於將場景呈現給玩家將因遊戲引擎而異。因此,如果您想在研究中包含多個遊戲,您可能必須將數據轉換為不變單位。

例如,對於支持通過控制台命令向玩家公開此數據的遊戲, counter-strike-global-offensive將是一個很好的候選getpos,您可以將其程式為每幀在私有伺服器上下文中在後台執行,這給出您需要相機位置和旋轉所需的 X、Y、Z、phi、psi 數據。

另一個不錯的候選者是一般的開源遊戲。看看Super Tux Kart(賽車遊戲)或Xonotic (FPS)。由於原始碼是開放的,您可以簡單地對遊戲進行重新程式,例如在遊戲執行時將您想要的資訊輸出到日誌文件。Fork 或 Clone 遊戲的 github,修改程式碼以執行您想要的操作,然後執行您的測試。

大多數遊戲不太可能提供完整的深度圖,因為建構一張圖基本上會涉及光線追踪。光線追踪是非常新的1,並且支持只是最近才添加到 GPU 中。我不知道有多少標題符合您的標準。當然 GTA V 和 CS:GO 沒有支持,它們太舊了。大多數開源遊戲缺乏實現這一點的人力,因為它被認為是不錯的選擇。

然而,ID 軟體和 NVidia 為最近發布的 GeForce-2000 系列顯卡進行了示範性合作,其中對quake-2進行了光線跟踪大修。原始碼修改甚至是公開的,使其更加合適。


腳註

開源遊戲總體上更有助於研究,因為沒有任何公司實體可能有興趣為遊戲的內部運作保密,並且可以不遺餘力地這樣做。特別是,您想要的資訊可能以各種方式對作弊有用,因此任何 AAA 遊戲都不太可能將其暴露在私人伺服器或單人遊戲環境之外。

1:雖然這項技術早已為人所知並被證明了很長時間,但台式電腦上的硬體功能還不足以讓實時光線追踪達到可接受的高解析度遊戲性能水平,使其成為替代直到最近才使用傳統的渲染模型。

引用自:https://gaming.stackexchange.com/questions/383972