How can I fix this render bug?

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

All help is appreciated!

1 Like

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.

1 Like

Can I somehow force them to render correctly, though? Higher FoVs do not really give this camera effect, which I really wanted.

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)
1 Like

What if the quality is Automatic?

Haven’t tested. I’ll try it and see what happens.

I tested with this script.

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)
output

2 Likes

Hey there, how did you counteract this problem? I have had the same issue too with my game.
Post: Make an asset stay fully loaded regardless of graphics settings?

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.