I used multiply quads that stick to the group, costs one raycast down per, not too bad.
I always saw projectors as adding drawcalls so avoided them for such purpose.
What’s the cheapest way to do blobby shadows, these days? (a la mario)
For mobile what i do is render shadow camera inside a very small texture with trilinear filtering and blurry using mimap. (128 x 128 R8).
I sample the texture on the terrain.
Is kinda fast… even faster than raycast down.
Only one draw call and you can use GL.draw to go even faster.
Good
Look soft
Can draw multiple shadow with one draw
Small texture
Dont need to raycast or calculate normal in slopes
Can blend with lightmap
Use Draw.GL is even faster
Can play with capsule shadows.
OpenGL2 ok
Bad
You must create a shader that accept the shadow texture
If theres a wall in front, the shadow will draw on it ( one solution, wall with no shadow shader, or do zdepth test, i go with the firt so i can have faster shader)
It work screen space, if u zoom out the shadow quality is awful (i saw some mobile companies that create shadow cascades in RGB channels)
Cutscenes can get messy if you want to get always good quality (calculate bonds and stuff…)
and a GIF, more than 60fps Snapdragon 820. This scene have 10 characters with shadows.
1 draw call per shadow projector you mean?
no, all shadows one draw.
they are quad so unity dynamic batch them. If you can not batch them (previous game we had 100 characters) you can pre bake 100 quads and move the vertex inside the shader.
so basically you have one more camera that only render the quads, as the quads are 6 vertices using the same material, unity batch them.
render the shadow camera to a texture, and use the texture as shadow map inside the shader.