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
