-
What are you attempting to achieve? (Keep it simple and clear)
Optimizing SurfaceGuis -
What is the issue? (Keep it simple and clear - Include screenshots/videos/GIFs if possible)
I have made a Minecraft map for my game and i used surface Guis and it is so unoptimized i get 10 fps max
-
What solutions have you tried so far? (Have you searched for solutions through the Roblox Wiki yet?)
I tried to use meshparts but i have no idea how to use textures correctly, checked if decals/textures are better but it’s the same
Show an image of the map?
I’m guessing you’re using loads of individual parts with surfaceGUIs on them - is the map actually going to be able to be changed, like blocks being placed and destroyed?
Oh my god you have like 5261 blocks with SurfaceGui
Find out about Textures. Just set some options. And go with stable FPS
I think another thing you should do for extra optimization is preload assets of your map on the client using ContentProvider.
I assume since you put this in #help-and-feedback:building-support You’re not a scripter, but even if you are I’ll give you an example code to illustrate how you would do this:
local ContentProvider = game:GetService("ContentProvider") -- This is a service wrapped in a variable, variables store information kind of like boxes with things in them.
local LOGO_ID = "rbxassetid://658743164"
local PAGE_TURN_ID = "rbxassetid://12222076"
local decal = Instance.new("Decal")
decal.Texture = LOGO_ID
local sound = Instance.new("Sound")
sound.SoundId = PAGE_TURN_ID
local assets = { decal, sound } -- This is just a table (array), kind of like a list
ContentProvider:PreloadAsync(assets) -- Anything below this function occurs AFTER the assets have been loaded, hence the print statement at the end
print("All assets loaded.") -- Prints a message in the output
I think the best thing to do here is to map the minecraft block textures onto a block mesh in Blender or something. You can use surface appearances with that so it will be by far less laggy. Also use the ContentProvider service to load in all the textures when the game starts.
have you tried hiding the blocks that are not exposed to air? You could also try greedy meshing for more optimization
yes there is absolutely no blocks that are not exposed to air, what lags the most are the grass blocks
just use greedy meshing on them
Maybe use a grass texture and convert only free blocks to image drivens ? (to show the dirt
)
if i use greedy meshing the textures will just be stretched
Do it in blender, and then play in RBS with the texture setting until the UV fits ?
use the actual texture instance in roblox and make sure it’s set to the correct size
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.