Lighting geometry regardless of face normal direction, and lighting that wraps around geometry

Hi hi

I want to create a lighting/shader effect where geometry gets lit based on the distance to a light, ignoring face normals, but I’m not entirely sure how I could approach this in Unreal.

I’m undecided still whether I want my project to rely completely on this kind of effect (á-la Kentucky Route Zero), or simply use it as a trick to do some cheap bounce light fakery (INSIDE)

This means there are actually two different effects I’m trying to achieve, and I would love to hear any insights or thoughts about achieving either effect.

#1 (INSIDE):


In this GDC talk (at the timestamp) they explain a “simple” trick on how they do their real-time bounce light fakery. It is a point light that’s able to light faces with normals that are pointing away from the light source. To achieve this, I assume I’d have to create some type of custom light object, however, I have no experience with editing engine code and very limited C++ knowledge, so though this seems like a simple function to apply, I’m not quite sure where to start.

#2 (Kentucky Route Zero):


Here you can see most geometry is actually lit in almost a flat way. Everything you see in these screenshots (Or at least most of it) is 3D geometry that’s lit based off the distance to the light, creating a striking silhouetting effect. On some objects there are still examples of shadow casting, for example: the floor in the first image, where you can see shadows from the pillars:

I’m assuming this is completely possible to achieve with a custom shader, which would mean two master shaders: one that receives shadow, and one that doesn’t.

Any input is greatly appreciated! Thanks :slight_smile:

it easy to use UE realize this,but my English is not good.so I talk it with chinese, 你给出的参考上面给出了相应的公式,我们可以理解为它是一种简易光照模型 Lambert 的变体,使用材质即可以简单完成,如图一。
但是你实际参考的效果,类似于忽略Normal这么写是行不通的,我可以给你一个简单的参考。此处是一种简单的衰减写法I = k / d^2,为了方便你可以替换为其他的衰减公式。如图二和三


QQ录屏20231205133823