Scaling for Shadows

“Solve at least one thing each day” – I’m back to this mantra, now that I’ve had a bit of time to absorb the basics of Unity3D development. Today’s minutiae:

I’ve been struggling with real-time shadows in Unity. Even the highest settings look blocky to me. I want sharp and clear. I tried each and every trick I could find and went through a host of examples until I read this advice “try scaling your objects up and move your camera back”.

One person’s “duh” moment is another’s “eureka!”

Shadows in Unity are pixelated. They just are. AFAIK, backing the camera up is the only real solution to sharpen them. I feel like Kryten and someone just told me how to zoom my eyes by moving objects closer or further away.

Scaling will affect physics. Unity uses Nvidia PhysX and they recommend 2 meters for characters to make everything to fall into place. Game physics isn’t real physics and things can go out of whack easily, so that 2 meter mark is kind of a magic number. I’m hoping a bit of variance, with some adjustment to gravity settings won’t be so bad. As it was, at first we had chosen a more real-world measurement for Char (our main character) of 5’6″ (or ~1.67 meters).

So now instead of 1.6 meters, Char may be something more like 2.5 meters (scale of 1.5). Of course with everything else scaled up, players won’t know the difference. =)

These things probably seem so trivial to the uninitiated, or the initiated for that matter. If you’ve already solved it, it’s easy. If you have no need to solve it, you have no reference.