I am making a low graphics mode into my game which changes every part’s material to plastic. I need help figuring out a way to remember the parts material before it was switched to plastic so there was a way to change the low graphics back into normal graphics.
The performance impact of a Part’s material should be negligible; those images are already stored on their computer and wouldn’t even take up that much when in memory. I don’t think this would be worth doing at all.
I still wanna do it just because it also adds a different style to the game.
I guess you could just use CollectionService to tag the parts with whatever material they used to be, and loop back through using GetTagged to set it back to normal.
For a low graphics mode I’d recommend doing this except with CastShadow, because that actually helps performance.
I’m going to do it, and big games like Arsenal do it too
I’m not only doing it for low graphics I’m also doing it for style.
Collection Service is very confusing to me and I have trouble understanding it. Do you know any good video tutorials?
I made this quick script for ya
--// LocalScript
local StoredMaterials = {}
for i, part in pairs(workspace:GetDescendants()) do
if part:IsA("BasePart") then
table.insert(StoredMaterials, i, part.Material)
end
end
print(game:GetService("HttpService"):JSONEncode(StoredMaterials))
local enable = script.Parent.yes
local disable = script.Parent.nop
enable.MouseButton1Click:Connect(function()
for _, part in pairs(workspace:GetDescendants()) do
if part:IsA("BasePart") then
part.Material = Enum.Material.Plastic
end
end
end)
disable.MouseButton1Click:Connect(function()
for i, part in pairs(workspace:GetDescendants()) do
if part:IsA("BasePart") then
part.Material = StoredMaterials[i]
end
end
end)
You just need a table to store the materials also it drops a error it stills works but you got the idea.
I’m not going to be using this script exactly but I’m going to be taking ideas from it, thank you!
So what I did was I used a dictionary the key being the part name and the value was the part’s material. It worked out exactly how I wanted it to!