Hey! I’ve been attempting to narrow down a bug in my WIP game where the new camera script punches through every single Part without fail. It almost works but, as you can see, it pushes through everything when you get close enough to walls, move the camera through parts or the floor, etc.
Maelstronomer found the root of the bug, if the CameraMinZoomDistance in StarterPlayer isn’t the default value, this glitch occurs:
The place included is mostly untouched except for CollisionGroups. I have no idea what else might be causing this issue, which is what the repro is for. Check it out and you’ll see what’s going on, but here’s a video of it happening:
Until recently, CameraMinZoomDistance wasn’t really respected as an absolute minimum; it was more like the minimum distance the user could zoom manually without poppercam, and poppercam could bring it all the way down to practically first person.
The recent Poppercam update changed the behavior so that it works as a actual minimum–zoom distance is now clamped to [CameraMinZoomDistance, CameraMaxZoomDistance] regardless of poppercam. This seems a little more reasonable to me and is how CameraMinZoomDistance is documented to work.
Question, what were you using CameraMinZoomDistance for? I’d like to understand the use cases of this property better before we do anything about its behavior.
I was using it to… set the camera’s minimum zoom distance. I don’t want players to enter first-person in my game because it’s a platformer. If this is intended behavior, that’s a bad choice in my opinion- I’m having trouble thinking of a use case for the new way it works. It feels awful to have your camera snap through walls just because you want players to not zoom in past a certain point.
Maybe I’d understand it if it punched through objects thin enough to reach the minimum only (it will go through literally anything in its current state, including super thick parts), but even then I’d prefer the PopperCam to remain functional over this weird new behavior.
Strongly agree with Polyhex on this, this was expected behavior for me too in a couple of projects. It’s in the name: CameraMinZoomDistance, it’s not CameraMinDistance, so this doesn’t seem right.