If you override the Popper script's canOcclude
function, you can tell it to occlude (have the camera not pass through) whatever you want. For instance, you could remove the part where it checks if the part's transparency is less than .25 or .95
See https://developer.roblox.com/articles/Movement-and-camera-controls for the basic idea of overriding scripts.
The Popper script is in PlayerScripts.PlayerModule.CameraModule.ZoomController.Popper
- Go into play solo
- Copy the PlayerModule script (in StarterPlayer.StarterPlayerScripts)
- End play solo
- Paste the PlayerModule script (with all its descendants) back into the StarterPlayerScripts folder
- Make the changes to the Popper script (remove
part.Transparency < 0.25 and
and part.Transparency < 0.95 and
in the function that starts on line 124) OR have it check to see if it's the special door you're interested in, like:
01 | local specialDoor = workspace.SpecialDoor |
02 | local function canOcclude(part) |
08 | if part = = specialDoor then return true end |
09 | if FFlagUserPoppercamLooseOpacityThreshold then |
11 | part.Transparency < 0.25 and |
13 | subjectRoot ~ = (part:GetRootPart() or part) and |
14 | not part:IsA( 'TrussPart' ) |
17 | part.Transparency < 0.95 and |
19 | subjectRoot ~ = (part:GetRootPart() or part) |
(In the above script, that's the default canOcclude
function, but I added the 2 lines that have 'specialDoor' in them.)