I don’t want highlights, decals or surfaceguis to be visible behind smoke. I already tried using a spherical part inside the smoke, but it makes the smoke look awkward, and players are still visible on the edges of the smoke.
Are there any more solutions? I also want to avoid raycasts because I would guess they would be very laggy.
Raycast’s won’t be necessarily laggy on the client, if for example instead of raycasting between you and every other player, you take a directional vector to the center of the Smoke Particle Emitter and compare it to every other directional vector using Vector3:Angle() and only computing the ones that have a small enough angle in comparison to the center part.
Could you mind explaining how Vector3:Angle() works? I can’t find anything about how it works except the roblox documentation which I can’t wrap my head around. I haven’t tested it out in roblox studio yet because I can’t right now, so I would appreciate it a lot if you were able to explain it!