After 2 weeks of work, I finally coded my 2D FOV systems using Raycasting and wedge parts for the visual.
Demo:
As you can see from the video, the performance isn’t ideal, mainly caused by the rendering and unrender of the player character, which requires a lot of changes of position when looking rapidly.
I make the render and unrender part by editing the player root motor6D, this method keeps the player’s animations and (so far) my best performance-wise method.
If you have any other better method, please lemme know. Now I’m planning to use UI instead of the part for visuals for better performance.