When rendering a Light Function into the Translucency Lighting Volume, the World Position Material Expression returns the position relative to the Camera (unrotated), not the World.
This can be more easily observed by using the XY component of the Absolute Position as UVs to sample a texture. On opaque surfaces, the texture is stationary - it does not move with respect to the world. On Volumetric Translucent surfaces, it moves with respect to the camera. (Not shown in the Licensee's test project)
In UE 5.3, the World Position Material Expression returned the true World Position of the pixel when rendering a Light Function into the Translucency Lighting Volume.
Also observed in UE 5.5, CL: 37672850
1. Download the Licensee's test project and open in Unreal Engine 5.4 or 5.5 (see addl info URL)
2. Open the map "/Game/NewMap"
3. Observe the dark circle in the center of the map. In the Light Function Material "/Game/M_LightFunc", observe that this dark circle is created by the Light Function
4. Observe that, at a distance ("BugItGo -2608.189301 -38.132248 758.846436 -12.199900 -719.564477 0.000009"), it has no effect on the translucent red cube "Cube".
5. Observe that, as you move the camera closer to the translucent red cube, it starts affecting the cube.
6. Scale the translucent red cube "Cube" to have a large top surface, similar to the ground box.
7. Observe that the Light Function makes a circle on the Red plane, in the same XY column as the camera.
8. By moving the camera up and down, observe that the radius of the Translucency Volume Lighting is much further than the radius of the dark circle.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-229585 in the post.
0 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 5.5, 5.4.4 |
Target Fix | 5.6 |
Created | Nov 4, 2024 |
---|---|
Updated | Nov 6, 2024 |