Description

The interpolator in each function call does correctly compile it's input to a temporary, but as there's only one actual expression node, each call stomps the temporary data so the final CompileInput call "wins". All compile calls on the interpolator's output end up using the last value only. The node should store the associated function-stack when the input is compiled so each instance can be routed correctly.

Steps to Reproduce
  • Create a Material Function and connect an input to Vertex Interpolator then that to the output.
  • Create a material and add two function call nodes looking at the previous function.
  • Hook a separate vector parameter to each.
  • Hook the outputs to base color and emissive color.
  • Note the final material only respects one of the values (Also viewable in the generated HLSL).

 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-56496 in the post.

1
Login to Vote

Won't Fix
ComponentUE - Graphics Features
Affects Versions4.19
CreatedMar 26, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021