Hello! I was making a camera system for my game and i encountered some obstacles, that i don't know how to solve. Basically i made walls turn transparent using :GetPartsObscuringTarget() and if they are transparent - make them un-transparent. What i want it to do is when i reach or approach a corner - both walls turn transparent. I also tried to use two cast points, but it didn't really help, i made the script even more inefficient, in fact. https://www.youtube.com/watch?v=RAcSK40AtfI&feature=youtu.be
Here's the code i have currently - It's not long, but not very efficient either...
local curCamera = workspace.CurrentCamera local base = game.Workspace.Base local player = game.Players.LocalPlayer local center1 = game.Workspace.Center1 local center2 = game.Workspace.Center2 while wait(0.1) do local castPoints = {center1.CFrame.Position,} local parts = curCamera:GetPartsObscuringTarget(castPoints, {}) for i,v in pairs(parts) do wait() if v.Name == "Wall1" then v.Transparency = 1 game.Workspace.Wall2.Transparency = 0 game.Workspace.Wall3.Transparency = 0 game.Workspace.Wall4.Transparency = 0 end if v.Name == "Wall2" then v.Transparency = 1 game.Workspace.Wall1.Transparency = 0 game.Workspace.Wall3.Transparency = 0 game.Workspace.Wall4.Transparency = 0 end if v.Name == "Wall3" then v.Transparency = 1 game.Workspace.Wall2.Transparency = 0 game.Workspace.Wall1.Transparency = 0 game.Workspace.Wall4.Transparency = 0 end if v.Name == "Wall4" then v.Transparency = 1 game.Workspace.Wall2.Transparency = 0 game.Workspace.Wall3.Transparency = 0 game.Workspace.Wall1.Transparency = 0 end end end