Hello, I would like to know if there is a way to make parts invisible for players from a certain point of view, but that the parts are still “visible” in the properties? As if there was an invisible wall in front of the parts that prevents from seeing what is behind it. Thanks
What exactly do you mean by
Chars
You could make it client based. Only certain peoples clients can see it.
I know that, however I don’t understand what he means by from certain pov’s
If they are mesh parts i have a very simple solution that works. Are they mesh parts or can you convert them to mesh parts?
There is a plugin which converts parts to mesh by the way.
Once you convert that obby or whatever that is to mesh parts…set their transparency to 0.01. Then create a giant wall between the structure and the map, make it in Glass material. You know wont be able to see the mesh parts anymore if you are behind the Glass wall… and you can set the glass wall to transparency of 1 if you dont want to see that either.
I try a new solution. Let the parts be invisible when the player enters the game, and as soon as he touches a specific part, then everything becomes visible, and when he goes to touch another part, everything will become invisible again. So that he can never see it. Unfortunately my script doesn’t work, do you have any idea why?
plr = game.Players.LocalPlayer
function visible(hit)
if hit.Parent.Name == plr.Name then
for i,v in pairs(workspace.Course:GetChildren()) do
if v:IsA("BasePart") then
v.Transparency = 0
end
end
end
end
game.Workspace.Disparait.Touched:Connect(visible)
No i can’t transform all parts into mesh
Move the map to replicated storage then back
There is a plugin that does it…in one click.
Excellent resource… well done.
yes but transforming the parts into mesh adds latency and data to the game? I think so
I see, only the problem is that I have over 1000 parts to make invisible. That would be way too many lines for me.
But i’m trying this :
I try a new solution. Let the parts be invisible when the player enters the game, and as soon as he touches a specific part, then everything becomes visible, and when he goes to touch another part, everything will become invisible again. So that he can never see it. Unfortunately my script doesn’t work, do you have any idea why?
plr = game.Players.LocalPlayer
function visible(hit)
if hit.Parent.Name == plr.Name then
for i,v in pairs(workspace.Course:GetChildren()) do
if v:IsA("BasePart") then
v.Transparency = 0
end
end
end
end
game.Workspace.Disparait.Touched:Connect(visible)
Unfortunatly the script doesn’t work for the moment, but i try to fix the problem
Try to define the folder Course up top instead… and are you using server script? And when you define it up top capitalize Workspace, and then just reference this variable in the pairs()
And you can use this same method to define all parts in Course with the localmodifier that @ABK2017 linked. You dont need to add a line for every part.
You can make it all a model, put it in ReplicatedStorage, and then put this script in StarterGui.
local model = game.ReplicatedStorage:WaitForChild('YourModel')
local part = game.Workspace:WaitForChild('TriggerPart')
part.Touched:connect(function(p)
if p.Parent == game.Players.LocalPlayer.Character then
model:Clone().Parent = game.Workspace
end
end)
Put a part in workspace called ‘TriggerPart’ or whatever you want and whenever it is touched your model, here called, ‘YourModel’ will become visible.
Thank you, but i find perfect solution for me :
plr = game.Players.LocalPlayer
function visible(hit)
if hit.Parent.Name == plr.Name then
for i,v in pairs(game.workspace.Course:GetChildren()) do
if v:IsA("BasePart") then
v.Transparency = 0
end
end
end
end
game.Workspace.Disparait.Touched:Connect(visible)
Why not set the other courses far distances from one another and use the atmosphere instance to hide them entirely as they are far enough out you wont see them
You talk about the density in athmosphere ?