Zoom camera occlusion does not work as intended

Reproduction Steps
I have the DevCameraOcclusionMode set to Zoom, meaning if I go behind a solid block, it should zoom in, so you can’t see behind the block, right?
image
Repo.rbxl (34.3 KB)

Expected Behavior
The camera to be zoomed in, so you can’t see past

Actual Behavior
ezgif.com-gif-maker (62)
I’m able to zoom right in and out

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly

Have you tried to be “outside” of the block your zooming out?

I’m unsure what you mean by this. What I have set up needs to work though (and should work) as this how I generate mines
ezgif.com-gif-maker (63)

I mean don’t make your character inside the block, if it dosent work the cancollide must’ve been false causing this.

I clearly see your head inside the blocks.

Can you try to make the upper blocks upper by 2 studs?

You can also clearly see me trying to jump and not being able to jump. The blocks are CanCollide true. My characters height allows me to walk through the block (character heads do not have collisions)

What is occurring is easily replicatable with the same setup I have. And what is occurring is wrong and therefore a bug.

And as stated, I cannot change the blocks size/height/characters height. What I have setup needs to work. There’s no working around that.

okay I understand your problem and, Roblox camera system is just buggy now. I guess you wait for a response. Remember the times shift lock allowed you to see through edges of walls?

I think this may be because your avatar’s head is clipping through the block, and because of raycasting not being able to detect whether it’s inside something if it hasn’t intersected a face, it thinks there’s no object in the way.

Code
local Part1 = workspace.Part1
local Part2 = workspace.Part2

local RayInfo = RaycastParams.new()
RayInfo.FilterType = Enum.RaycastFilterType.Blacklist
RayInfo.FilterDescendantsInstances = {Part1, Part2}

local Hit = workspace:Raycast(Part1.Position, Part2.Position - Part1.Position, RayInfo)

if not Hit then
	print("Nothing in the way!")
else
	print("There was something occluding Part2!")
end


Part1 is inside of a yellow block, and the raycast is going from Part1 to Part2. If it were the other way around, this would work fine, but instead, the raycast intersects no face of a part and therefore it says that the raycast hit nothing.
raycast problems output

1 Like

Thanks for the report! We’ll follow up when we have an update for you.

1 Like