The world position offset input of the result node does not behave consistently. There is an obvious visual difference between the setting it by connecting a float3 color constant, versus setting the default values on the result node itself.
Using the HLSL shader code view, there is a difference in the line where WPO is set, in GetMaterialWorldPositionOffsetRaw() the MaterialFloat3 does not have a ".rgb" extension when compared to the material connected to the constant, which may be a potential cause.
1. Create a new material.
2. Set its WPO on the result node to (20, 20, 0), compile and save.
3. Create another material, this time use a float3 constant (color) node with (20, 20, 0) and connect it to the WPO input.
4. Apply each material to its own static mesh cube in the level.
5. Note the visual difference between them.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-219232 in the post.
1 |
Component | UE - Rendering Architecture - Materials |
---|---|
Affects Versions | 5.4.2 |
Target Fix | 5.6 |
Created | Jul 8, 2024 |
---|---|
Resolved | Jul 30, 2024 |
Updated | Nov 6, 2024 |