You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE 4.27安卓Vulkan首次子通道输入Attachment断言触发问题

UE4.27安卓Vulkan延迟渲染下触发首子通道输入附件断言的材质排查

在UE4.27安卓平台Vulkan的Dev构建中,VulkanPipeline.cpp内的断言会触发(Release构建无此问题):

if (RemappingInfo.InputAttachmentData.Num())
{
    // input attachements can't exist in a first sub-pass
    check(PSOInitializer.SubpassHint != ESubpassHint::None); 
    check(PSOInitializer.SubpassIndex != 0);
}

该断言禁止首子通道(SubpassIndex=0)存在输入附件,结合延迟渲染架构,以下材质设置大概率是问题根源:

  • 基础Pass材质直接采样GBuffer输入附件:延迟渲染的首子通道负责填充GBuffer,若材质在这个阶段通过SceneTextures节点读取GBuffer的Albedo/法线等通道,或是绑定了自定义GBuffer输入附件纹理,会迫使引擎在首子通道中创建输入附件绑定,触发断言。

  • 混合模式或渲染状态错误依赖前序缓冲:如果材质设置了需要读取当前帧渲染缓冲的混合逻辑(比如自定义混合模式引用了当前像素的已有颜色值),或是手动开启了输入附件相关的渲染状态标记,引擎可能错误地将该材质分配到首子通道执行。

  • 深度预通过程中采样深度输入附件:部分自定义材质在Depth Prepass阶段错误使用了需要采样深度缓冲的节点,比如用SceneTextures::Depth来做特殊逻辑,这会导致首子通道(深度预通属于首子通道范畴)绑定深度输入附件,触发断言。

  • 自定义渲染通道/子通道配置错误:若材质指定了自定义Render Pass或Subpass,且将需要输入附件的绘制逻辑放到了首子通道中,会直接触发该断言检查。

  • 基础材质引用后期处理纹理节点:如果非后期处理的基础材质中引用了PostProcessInput0这类后期阶段的纹理,引擎可能误将其纳入首子通道的输入附件列表,引发断言。

内容的提问来源于stack exchange,提问作者DoN1cK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 07:02:40