Should I use a light for every object to cast high quality shadow

I have several object in a scene. And I want them moving on a wide plane, which will receive shadows. If I use only one point light or a very large directional light the shadow of a object when it moved to the corner will become very rough (rough shadow edge) . So I’m wondering should I use a light for every object above them and follow them in order to cast a high quality shadow edge? And in some case I can not set the shadow.mapsize higher .


Should I use a light for every object to cast high quality shadow

No. In most cases you have some kind of focus area in your application where it makes sense to provide high quality shadows. In your periphery you typically want to provide low quality shadows or no shadows at all. So in some sense, you are using a form of LOD mechanism in order to improve shadow casting performance.

BTW: A low quality shadow can look like this (copied from the Unity docs):

The most important task of shadows is to improve spatial perception of 3D objects. Even a simple shadow like in this example can provide this benefit.


Yes, you are right. We don’t need high quality shadow everywhere. The point is to figure out where and when to cast a clear shape of shadow. And the ‘LOD mechanism’ you mentioned is helpful.