Hi, I'm making my own camera and I'm using Raycasting to detect walls between the camera and the character.
However, although it does not error, when your camera is blocked by a wall it glitches and goes up and down up and down, very annoying.
if you can relate, its a little similar to making a 3D mouse cursor and not making it "ignore" itself..
heres's the code, how can I prevent that from happening.
local createRayAndFindColliding=function(origin,dest,length)
local ray=Ray.new(origin,(dest-origin).unit * length)
local ignore={ray}
local collidePart, collideCoord=workspace:FindPartOnRayWithIgnoreList(ray,plr.Character:GetChildren());
return ray,collidePart,collideCoord;
end
game:GetService("RunService").RenderStepped:connect(function()
if changing==false then
local ray,collidePart,collideCoord=createRayAndFindColliding(plr.Character.Head.Position,cam.CoordinateFrame.p,50)
print(collideCoord)
print(collidePart)
if not collidePart then
cam.CoordinateFrame=CFrame.new(plr.Character.Torso.CFrame.p+currentCamView,plr.Character.Torso.Position)
elseif collidePart and collidePart:IsA("BasePart") and collidePart.Name~="Terrain" then
cam.CoordinateFrame=CFrame.new(collideCoord,plr.Character.Torso.Position)
else
cam.CoordinateFrame=CFrame.new(plr.Character.Torso.CFrame.p+currentCamView,plr.Character.Torso.Position)
end
end
end)
