Why is CameraMinDistance capped at 0.5?

Why is it capped at 0.5? Was this ever explained??

How can I uncap it? Ive tried changing some values around in the CameraModule but I couldnt get it to work. In my game you can scale down your character, which means that if you have a part right above your head, you can look through it.

EDIT: Already tried changing this function in ZoomController:

local function updateBounds()
		cameraMinZoomDistance = Player.CameraMinZoomDistance
		cameraMaxZoomDistance = Player.CameraMaxZoomDistance
	end

to this:

local function updateBounds()
        local distance = Player.CameraMinZoomDistance

        if Player.CameraMinZoomDistance == 0.5 then
            distance = 0
        end

        cameraMinZoomDistance = distance
        cameraMaxZoomDistance = Player.CameraMaxZoomDistance
    end

But it still doesnt work properly. It only works if I set the max zoom also to 0, but then you cant zoom out

It’s because 0.5 is considered First Person, so anything under that would just be infront of your character.

Well I mean, why is 0.5 considered first person and not 0?


As you can see in the video above, thats me in first person. However when I rotate my camera, it still orbits around a point, 0.5 studs away, instead of rotating in place (which is what I would expect from a first person camera)

Alright, I found it. Turns out setting it to 0 freaks out the rotation of your character in first person. A low value like 0.01 works though.

Changes made:
ZoomController: local MIN_FOCUS_DIST = 0.01
BaseCamera:
Line 42 local FIRST_PERSON_DISTANCE_MIN = 0.01
Line 647 self.currentSubjectDistance = 0.01
Line 654 self.currentSubjectDistance = 0.01

2 Likes