Is there a way to get the Camera to ignore collision with specific parts?

https://i.gyazo.com/2958a63679345ef60ed961401bda8627.gif

I think your hope may be just to use :GetLargestCutOffDistance

No, you’ll have to manually code this behaviour yourself. I would’ve suggested the PhysicsService but that would also affect physical collision, not just camera collision.

1 Like

In Poppercam_Classic script on line 79 there is an ignore list. I have forked this straight out of my game and had found this on the forums at the time to prevent players heads from glitching out this same way. There is probably some way for you to add your bricks into this ignore list?

		local ignoreList = {} 
		for _, characterplayer in next, game.Players:GetPlayers() do
			if characterplayer.Character and characterplayer.Character.Parent then
				ignoreList[#ignoreList + 1] = characterplayer.Character
			end
		end
2 Likes

Would this cause the camera to never get blocked off by the parts? Isn’t poppercam just for a short time period?

Correct, I don’t understand your second sentence on if its a short time period?

After looking through Roblox’s poppercam scripts (the part of the camera script that’s in control of what you’re trying to avoid), I noticed there’s no external way of adding parts to an ignore list. So here’s my suggestion:

I’ve modified the popper script in the camera script to accept anything with a “IgnoreCamera” tag from CollectionService to be included in the blacklist. You can find it under
game.StarterPlayer.StarterPlayerScripts.PlayerModule.CameraModule.ZoomController.Popper

Either copy the whole module and put it under starter character, or just replace the popper module since that’s the only module I changed.

Basically you can just do

game:GetService("CollectionService"):AddTag(partForCameraToIgnore,"IgnoreCamera")

and it should ignore being popped by the module.
PopperWithIgnoreList.rbxl (125.5 KB)

EDIT: Fixed an issue where it wasn’t handling removed tags from instances properly.

39 Likes

The place you sent is not working.

It’s working for me even after I redownloaded the place. Try clipping your camera through the Baseplate.

Oh wow i was looking in a hurry, Its working lol.

1 Like

How to remove this tag? I tried game:GetService("CollectionService"):RemoveTag(partForCameraToIgnore,"IgnoreCamera") but it doesn’t seem to work

Do the tags automatically remove whenever the part is destroyed?

Yes, any instance that had a tag that gets destroyed loses its tags. You don’t have to worry about collecting garbage with that since it’s done for you.

I updated the place file in my original reply. The script should handle instances revoked of its tag now.

1 Like

yeah, it works right now, thanks, but can you tell what exacly did you change in player module to achieve this?

I never wrote the part that connected the ignorelist to the event when the collection tag gets removed. It should be right under the connection line where CollectionService:GetInstanceAddedSignal() is being called at.

I tried using that and for some reason it didn’t work, is it outdated?

hey this is 100% broken im trying to make the camera clip with fakeparts that are acting as the worldmodel parts but this script makes it 100% worse!
i cant move my camera around and it still collides and moves the camera:

hello can u reupload this please as it doesnt work

2 Likes

Here you go:
Popper.lua (10.0 KB)
Popper module edited.rbxl (184.7 KB)

Same deal as what Locard did, give a part the IgnoreCamera tag
@EmesOfficial @rickje139 @MSDLF

9 Likes