【发布时间】:2016-02-02 23:44:41
【问题描述】:
这适用于虚幻引擎 4.9
每一帧,我都想将它保存到文件中(覆盖现有的)。
对于我制作的一个简单的 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,但这不是我想做的。我想在运行时自动执行此操作。
我该怎么办?有没有可能?
【问题讨论】:
-
从我的问题中应该很明显我已经用谷歌搜索过了。如果您发现了一些更具体的东西来展示如何使用代码或蓝图做到这一点,那么请分享它而不是发布讽刺的 cmets。
标签: c++ unreal-engine4