It breaks only when compiling the preview shader. Adding a preview weight to the Layer0 on the Layer Blend node fixes the problem.
The source of the bug is in UMaterialExpressionLandscapeLayerBlend::Compile. When there's no preview weight, the generated code is essentially the constant zero (a float). TransformVector can't do much with a float input and errors out.
Related to this bug is a second one. After "fixing" the bug with a preview weight, if you create a material instance from this material and override a property on the material instance to force the generation of a new shader (for example, the opacity mask clip value), you will also get the same error, this time, on the material instance. It seems like the preview shader of the material instance doesn't includes the preview weight set in the base material.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-80698 in the post.
1 |
Component | UE - LD & Modeling - Terrain - Landscape |
---|---|
Affects Versions | 4.21 |
Created | Sep 23, 2019 |
---|---|
Resolved | Aug 27, 2021 |
Updated | Aug 27, 2021 |