這適用於虛幻引擎4.9UE4:輸出遊戲幀到文件
每個幀,我想將它保存到文件(覆蓋現有之一)。
對於我做了一個簡單的演示D3D11,我已經能夠用做到這一點:
void Engine::CaptureFrame(D3DX11_IMAGE_FILE_FORMAT format, const LPCTSTR fileName){
backbuffer->GetResource(&resource);
ID3D11Texture2D* texture;
HRESULT hResult = resource->QueryInterface(__uuidof(ID3D11Texture2D), reinterpret_cast<LPVOID*>(&texture));
D3DX11SaveTextureToFile(deviceContext, texture, format, fileName);
//Clean up
texture->Release();
resource->Release();
}
我已經這樣做了OpenGL的,也用一種叫做「FreeImage」庫。
我不想修改UE4信號源,並且正在尋找一種方法來「掛機」進入UE4並「捕獲」幀。
我已經設法做到這一點與Open Broadcasting Software,但我想這樣做本身,在UE4內,通過c + +或藍圖。
我也知道I can do this from the editor,但那不是我想要做的。我想在運行時自動執行此操作。
我該怎麼辦?它甚至有可能嗎?
從我的問題中應該很明顯我已經Google了這個。如果你已經找到更具體的東西來展示如何用代碼或藍圖做到這一點,那麼請分享它,而不是張貼諷刺意見。 – pookie