I’m as you know very new to game dev, i imported just a test asset i found, it was an fbx file, after importing it i found it was VERY TINY, i put the build size from 1 to 13 and it made it proper scale but now suddenly the shadows tear and smear on that object when i move it around, i have a feeling its a shadow map issue, i just don’t know what to do, please help!! How do i fix this imported fbx?? Why does this happen??
Its just on this one object everything else is unaffected!! Thank You!!
Hi there! I have been testing VSMs for a long time. Are you using Virtual Shadow Maps, or just regular shadow maps?
Virtual and regular Shadow Maps scale in cost depending on how complex the mesh is.
Shadow maps, are cheaper and I’m pretty sure it doesn’t cast shadows on itself. And they are NOT infinite(move further away, the object wont cast shadow, at least in my experience).
Virtual Shadow maps cast shadow infinitely, cost more in perf, and also HATE non-nanite meshes. They don’t seem stable when the mesh is near or close to the camera nor when a mesh changes LOD.
I’m using virtual shadow maps, thats what its set to in my project, also ya, i noticed the mesh disappears sometimes when i get too close to it and reappears when i move back sometimes! it almost feels as though the mesh is fake because everything about it seems strange!
How many LODs does the mesh have?
Usually with VSM, smearing is from the bounds of the static mesh being smaller than the mesh, you can adjust them in the static mesh editor.
i created 5 i think, i may have to rebuild lightmaps or something
I would look into distance field shadows/+regular shadow map if you will not use nanite on the mesh.
VSM are just too broken on LOD meshes unless the camera in near by.
i enabled nanite, as it was imported, its definitely tripping me out
i just enabled regular shadow maps and those worked but i need virtual shadow maps
Are you sure? I know regular shadow maps disappear from certain distances but you can use distance field shadows to replace the shadow map once it disappears?
Making the mesh Nanite didn’t fix the VSM problem? What did the cache visualizer look like?
VSM caches shadows and uses the bounds of a mesh to determine what to keep and what to update. Bounds are a really quick way for the engine to roughly estimate if a mesh is visible or not. A mesh imported really small and scaled up is likely to have bounds issues. Either fix the bounds in the static mesh editor or fix the scaling before importing the mesh, and import a new copy of it.