I have a top-down game. Because I wanted it to have a rather 2D look, I chose to make the FoV really small - which in turn forces me to zoom out the camera. While this looks fine most of the time, for users with graphic settings on low (1-2), some rendering bugs occur, as seen on this video.
Here is my code to change the Camera, if you wanna try it out yourself.
local function GetBaseCamCFrame() -- this function is bound to render stepped
--with priority Enum.RenderPriority.Character.Value - 1
Camera.FieldOfView = 7.5
local Character = LocalPlayer.Character
if Character == nil then return end
local CamPos = Character.PrimaryPart.CFrame.Position + Vector3.new(0, 350, -150)
return CFrame.lookAt(CamPos, Character.PrimaryPart.CFrame.Position) + Vector3.new(0, 0, -2.5)
end
This isn’t really a render bug, it’s because the camera is actually farther out than it appears. The FOV does not determine the camera’s CFrame. If the FOV was normal, you may see that the part is actually very far away, and these low graphics settings don’t render that far out. You’re using about 1/10 of the normal FOV.
I don’t know. The best I can think of at the moment is check their graphics quality and tell them to put it to at least 3 if they have it below that amount.
local userSettings = UserSettings():GetService("UserGameSettings")
local qualityLevel = userSettings.SavedQualityLevel
--check their quality (qualityLevel is an Enum i believe)
while task.wait(0.3) do
local userSettings = UserSettings():GetService("UserGameSettings")
local qualityLevel = userSettings.SavedQualityLevel
print(qualityLevel)
end
And this is the output (when toggling between Automatic and Manual at graphics level 1)
Turned out there is really not much I can do about it… I just put a warning on screen when the graphics quality is under 2. In your situation, does putting the graphics up also aid?
I see, I’ll make a feature request for this. Also yes, putting the graphics up fixes the issue and in auto graphics the issue resolves on its own in about 1 minute or so.