Is there a way to make player models glossy when they join my game? I’ve spent the past couple hours trying to research ways to give physical players a glossy tint / texture on their rig when they join my game but I can’t figure out how. I’ve seen it done in other games to make them look more appealing.
Examples of what I mean (yes I know these are shaders - but it’s the same sort of effect I’ve seen other developers implement into their games without using shaders.)
I don’t know if this is too complicated but you could make each separate body part as an accessory and size it up just a tiny bit and remove its texture and set the reflection and transparency high and change the material to smooth plastic or glass. you would probably have to either set everyone to the same package or spend a few hours making it for each package.
also there is probably an less manual way to do this with a script by having each rig be duplicated then set to glass and untextured and resized slightly over the original, but i would not know how it would work out. i wish you good luck with this
If the avatar consists of MeshParts, you can drop in a SurfaceAppearance with only the roughness node filled in. If the image is solid black, the avatar will be maximum shiny!
I think for most players, this would be possible, when a character is added, cycle through all the parts looking for MeshParts and dump in the surface appearance! I accidentally did this to a custom rig a couple hours ago. lol
I believe what @GolgiToad will work.
To cycle through all the body parts, do a CharacterAdded fuction and a loop for BaseParts. If you need help with that script reply.
I think so. something like a playeradded event that drops a characteradded event on each player, then not only when the load in, but also when they die, the avatar is shiny! And all the craziness that follows!
OK, this method does not work, unfortunately! The SurfaceAppearance cannot be modified in the middle of the game (limitation of the object), and it overwrites TextureID. The only reason my test worked is because I dumped the black image into a pre-existing SA.
So, for a MeshPart with a SurfaceAppearance, you cannot splice together a new SurfaceAppearance that is shiny. And you can’t use it with someone with a TextureID.
But you CAN make players gold/silver/etc, at the cost of the original colors. Maybe this would work? It doesn’t feel like a proper solution.
This is the code to make it work with normal player avatars:
local shinySA = script.Shiny -- the location of the gold texture
game.Players.PlayerAdded:Connect(function (player)
player.CharacterAppearanceLoaded:Connect(function (char)
for i,part in pairs (char:GetDescendants()) do
if part:IsA("MeshPart") then
local currentSA = part:FindFirstChildWhichIsA("SurfaceAppearance")
if currentSA then
currentSA:Destroy()
end
local newShiny = shinySA:Clone()
newShiny.Parent = part
end
end
end)
end)
And if you replace CharacterAppearanceLoaded with CharacterAdded, it works for custom “StarterCharacters”
Not sure if this is a gloss kind of look but you can defently tell the difference between a normal roblox avatar wouldnt shine like this but if it is what you want let me know
If so this is the code that was provided in the video Make a normal Script in ServerScriptService And then paste the following code
game.Players.PlayerAdded:Connect(function (player)
player.CharacterAppearanceLoaded:Connect(function (char)
for i,part in pairs (char:GetDescendants()) do
if part:IsA("MeshPart") then
part.Material = "Glass"
end
end
end)
end)
This will cause the players body parts to look like they have metal scratches on them due to the nature of the Glass material. I personally recommend using SmoothPlastic for effectively the same thing, but with no scratches.
I’m referring to those who don’t wear shirts/pants(?) on their avatar.
local Lighting = game.Lighting
game.Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
for _, Part in pairs(Character:GetDescendants()) do
if Part:IsA("BasePart") then
Part.Material = Enum.Material.SmoothPlastic
Part.Reflectance = 0.15
end
end
end)
end)
Lighting.EnvironmentSpecularScale = 1
Instance.new("ColorCorrectionEffect", Lighting).Contrast = 0.15
it really depends in the sky and the player graphics on
Non-glossy hay, not modified. Clone of hay, slightly larger, with a low roughness, high metallic, high alpha texture over the top. I can make it glossier, but now to see if I can do this to an avatar and weld it all together!
Doesn’t have to be gold! For a silver hue, I would just switch to a grey colormap.
One thing I do not like is that CharacterAppearanceLoaded triggers before the scaling occurs. I put a 1 second wait into the macro to get this to work.