Hi,
Artists like to have access to min/max attenuation but this attenuation using lerp or smoothstep is not physically correct.
The physically correct method is to do 1/d² but this formula never reach to 0, so here the tweak used by unreal :
saturate(1-(distance/radius)^4)^2/(distance^2+1)
In other words it's to compute the 1/d² and apply a mask :
DistanceAttenuation = 1 / ( DistanceSq + 1 );
DistanceAttenuation *= Square( saturate( 1 - Square( DistanceSq * Square( LightInvRadius ) ) );
That gives a very similar result but with a falloff to 0 at the radius.
What is the feeling with artist about that ? Does they still want the min/max attenuation ?
To me, it's always better to be more physically correct but does it break the possibilities ?
In other words, any experience about that with artists ?
Thanks