UE 蓝图节点 输出深度图
时间: 2025-02-03 21:13:56 浏览: 232
### 使用蓝图节点输出深度图
在 Unreal Engine 中,要利用蓝图节点来获取并处理深度图数据,通常涉及使用场景捕捉组件(Scene Capture Component),特别是 `SceneCaptureComponent2D` 或者 `SceneCaptureCube`. 当配置好这些组件之后,可以通过材质图表中的特定表达式访问深度信息。
对于具体的实现方法:
- 创建一个 SceneCaptureActor 并添加 `SceneCaptureComponent2D`.
- 设置该组件的捕获类型为 `SCCT_FinalColorHDR`, 同时启用 `Show Flags` 下面的 Depth Buffer.
- 构建一个用于渲染深度信息的材质,在其中加入 `SceneTexture` 表达式,并指定其参数为 `Depth`. 此操作允许材质读取当前帧缓冲区内的深度值[^2].
```cpp
// C++ 示例代码展示如何初始化 SceneCaptureComponent2D 组件
USceneCaptureComponent2D* MySceneCapture;
MySceneCapture = CreateDefaultSubobject<USceneCaptureComponent2D>(TEXT("MySceneCapture"));
MySceneCapture->SetupAttachment(RootComponent);
MySceneCapture->bCaptureEveryFrame = true; // 每帧都进行捕捉
MySceneCapture->LODGroup = TEXTUREGROUP_ReverbEnv; // LOD组设定
MySceneCapture->FOVAngle = 90.f; // 字段视角角度调整
MySceneCapture->SetVisibility(true); // 显示设置
```
接着,在蓝图编辑器内连接此材质至 `SceneCaptureComponent2D` 的目标纹理属性(Target Texture),从而让每次场景被捕获时都能更新对应的深度图像.
最后一步是在需要的地方调用 `Get Target Texure Size` 和 `Copy Texture To Render Target` 节点组合,以便进一步处理或可视化所获得的深度数据[^5].
阅读全文
相关推荐




















