I am making a voxel game. This problem has been occurring recently, and I’m trying to see if it’s a problem with the rendering system or merely it’s my GPU. In my game, all the blocks you see are made up of one mesh per 32 x 32 (blocks) chunk. The system is set so that you can remove and add blocks. Unity naturally occludes any faces of the mesh you do not see. However, I have came across a bug in the system.
When I removed a block randomly, this happened:
There is a block there, but the side faces did not render. As a result, the raycasting check for removing blocks, including even collision detection for movement (since you’re suppose to stop against blocks), are ignored, and it acts as an empty space.
So, as soon as I use the remove block raycast on the face of the mesh that I can actually affect:
The block is removed, the rendering updates, and suddenly the row of missing faces update to visibility again. What could be causing this issue?