With all the great optimizations seen in 3.17, do you have plans to have ship lights cast shadows in the near future, and also helmet lights?
TL;DRShadow-casting ship and helmet lights are hard because the cost is difficult to control, so they are looking at ideas such as a user-adjustable limit on dynamic lights, with nothing committed.
We've gone back and forth a few times internally. It's controlled by the art setup, so I never know for sure what has and hasn't been set up on each spaceship. But the problem with the feature is it's quite difficult to control the cost of this. So one spaceship floating around in space, if you put shadows on its lights, no problem at all. You park 50 of them all together pointing at each other in a really busy location, and you all get out of your spaceships and jump around in front of them, stack up boxes and all the crazy things people do in the PU, it's going to start costing a serious amount of GPU to do that. So we have to figure out how we can add it yet keep it under control in the more difficult scenarios. It's been suggested that we can just fade these shadows out when they're too costly, but that actually becomes much more complicated than you think, because what you don't want to happen is that as you move your camera around and look around the scene, things are popping on and off all the time. You want a stable, consistent visual. But we've got some ideas of how we might handle that to try and avoid the issue. And we might apply the same idea to all types of dynamic lights, from ships, your helmet light, your flashlights, and muzzle flashes on guns, which is another request, to have shadows. All these things; the muzzle flashes especially are something where it'd be great to have shadows. But if 50 people are firing in a room, then maybe you can say, oh, we don't care so much. But it's things we could also mostly provide to the user, to say, do you want these? How many dynamic lights do you want to support? Let them choose if they want to pay that cost. But there are also some internal budgets. We have basically a texture pool where all the shadows go into. Once we've exceeded that, there is just no more space without sacrificing the quality in the rest of the level. So I'm hoping we can come up with some type of system where, how many dynamic lights do you want? Maybe eight might be a default, or four or something like that. And then you can scale up to whatever you want if you want to take that hit when you have a really busy scenario. So hopefully. But the ship ones are particularly problematic because they can cast thousands of meters and cover huge areas, which means if you cover a whole space station, there might be a few thousand draw calls in that space station, which are instructions for the GPU. You've just doubled that by pointing your light at it. And 50 people pointing 50 lights at it, 50 times the cost for that space station. That's a big deal.