So i have looked up a character customization system it works fine (im using coolcapidog’s customization system) theres one issue that i cant seem to find a fix for
it uses a teleport part which means when the button is pressed it teleports the player and they can edit and once they exit it teleports them back. The problem is that if multiple users are using it , it teleports them to the same spot and they overlap each other which makes it difficult to see your character and i really wanna fix it
Heres the video which i followed
When the UI is opened, you could try to add a few for loops to loop through each part in each player’s characters and then for each BasePart, set the Transparency property to 0.
Then you could do the opposite and set the Transparency of each BasePart back to 1 when the UI is closed.
Make sure to keep the transparency of theHumanoidRootPartat 1 when you change the other transparency values back to 0
Sure! In this example, we will fire a raycast from the position of the grey part, ExamplePart, towards the baseplate while ignoring the green part, BodyPartExample.
Here’s a simple example of how a this raycast could be coded:
local ExamplePart = workspace:WaitForChild("ExamplePart")
local BodyPartExample = workspace:WaitForChild("BodypartExample")
local Params = RaycastParams.new() -- Create the parameters of the raycast
Params.FilterType = Enum.RaycastFilterType.Exclude -- Set it to ignore the parts we don't want the raycast to hit
Params:AddToFilter({BodyPartExample}) -- Add the parts we don't want the raycast to hit
local Direction = Vector3.new(0,-20,0) -- Points the raycast downwards up to 20 studs
local success, Cast = pcall(function() -- Use a pcall function to provent it breaking if an error occurs
return workspace:Raycast(ExamplePart.Position, Vector3.new(0,-20,0), Params) -- Carry out the raycast
end)
if success and Cast then -- Check that the cast was successful and that it hit something
local Part = Cast.Instance -- The object the ray hit
if Part:IsA("BasePart") then -- Check that it hit a BasePart
print(Part.Name)
print(Part.MaterialVariant) -- You can get the material variant of the part by checking the MaterialVariant property
end
end
In this case this is what the code outputted:
The second line printed by the script is empty as the baseplate has no Material Propety applied to it.
Hope this helps
Let me know if you have any other questions about it.