Just a quick question. I’m getting mixed messages with Meshes. Do Meshes cause more Lag if you only use Meshes with unions for building?
Firstly, how many polygons are there?
idk I got a weathered Brick mesh from someone, I’ll assume not many
It would definitely affect performance based on how many polygons are present (basically the amount of edges or sides to the mesh if your not familiar with modeling)
You should post a screenshot of the mesh your using in your post so we can get a better grasp of what the issue is
Top three things to keep an eye out for:
- Tri/Poly count. The lower the less performance-heavy. In your case, I would suggest finding out this information by asking the creator of that mesh, or by importing the mesh file into your chosen 3D software.
- Collisions. Turn them off when you can.
- Textures. Just like the tri/poly count, the lower resolution the textures are, the better off you’ll be.
Try to recycle the same mesh, since that mesh object is saved in the same spot (if it’s the same file), therefore saving space. For example, if you have 5 different meshes, each a different file/upload, it will take up more space compared to using the same mesh (the same file) 5 different times.
Edit: To answer your question, I usually avoid unions at all costs. They used to take up a lot more space than necessary (memory-wise), which I believe is now not the case. However, learning how to create 3D models in a software is much quicker than union making in Studio.
is there a way to count the total tri/poly count ?
a plugin perhaps ?
also, i was told that unions were much simpler than meshes
Edit, i just got a heart,
I made this a long time ago, when i did not know the adverse affects of unions.
Please be aware that unions can cause many, many headaches.
I suppose it depends on what you prefer in your approach (when it comes to ease).
It depends on what you’re using for your 3d modeling software. If you are using blender, you can select the object in the workspace, go into edit mode, and look at the bottom right corner. That’s where the triangle/poly count is.
Thank you, this really help
I avoid using meshes and unions if possible to reduce the number of assets that a client needs to fetch when joining the game. Also, I reuse meshes and unions when possible for the same reason.
It’s not that I remove meshes and unions. I just make sure that their use is necessary.
This! Bit of a late add-on to this comment but, this is essential. USE MESHES/UNIONS when necessary! Do they repeat often? Can you reuse them in different ways? How often can you recycle them?
For example, can you make a tree mesh a bush if you lower the trunk into the ground? Or how about a rock! You can re-use the same mesh file if each side of the rock has different shapes/divots. Resizing and rotating your rocks will make it seems like they are many different kinds, when in all actuality there is only one mesh file for it.
all tho this is a bit of a late post, as u said. but it does make sense and helps others that will stumble upon this post. Thanks!
Be Careful With Textures
In addition to @xJennyBeanx post, I’d like to add a few things. Scattering meshes is definitely something you want to do. Fetching multiple meshes is going to slow things down a lot, especially if you overuse PBR textures. Sorry to let you know, PBR textures probably can’t be used like they are in other game engines on Roblox. Fetching texture data like that would take up a lot of resources. However, they can be used well for characters! If you are a character sculptor, PBR is probably great news for you. I am a character sculptor with some ability to make complex facial rigs, panels, IK, shape key blends, and photorealistic humans, so this is a nice update for me. However, using PBR textures everywhere will just result in an unreasonable download time.
Reuse Textures
Similar to what was recommended for meshes, reuse textures when you can.
Engine Related Problems
Having too many meshes in one area could also slow down performance as it has to get the mesh and calculate it along with its collision boundaries, lighting interactions, etc.
Avoid Physics For 3D Models
Using physics on 3D Models or meshes could hurt performance.
Use The Developer Console
Yes! You must use your power! Hehe. Look at the Developer Console to measure your 3D model’s performance.
Hide Parts Of Mesh That Won’t Be Visible
Another helpful tip is to not use a whole mesh. For example, let’s say you were using a mesh of a rock. @xJennyBeanx mentioned that with rocks, you can resize, rotate, etc., and scatter them. It may also help to cut off the bottom half of the rock. If you plan to not show the bottom half (for example, it may be put on a ground plane and the bottom won’t be shown), you can reduce the number of triangles and not lose too much quality. It’s a generally common technique.
Use LODs
Whenever Roblox releases the feature, use LODs. If you can, use imposters. I don’t know how possible this is on Roblox, but this is something you may want to look into.
Don’t Always Go For The Limit
For both the mesh and the image texture, there is a size limit. You don’t have to hit that limit, and you should avoid it. Using smaller mesh sizes like 150-200 is better than always hitting the triangle limit. Also, for image textures, try to use lower resolution textures that are 512x512 or less.
Be Careful With Double Sided Meshes
Double-Sided Meshes was a feature request I made a while back, and I was fully aware of its performance-related issues. I requested it regardless because it makes prototyping easier, but be careful when using it in your final game project. Disabling Backface Culling could hurt performance.
Reduce Number of UV Mapping Seams
Sorry! I know! It’s another thing 3D game artists have to watch out for. However, using more seams in your UV maps could hurt performance.
Fake Far Distance Geometry
If your geometry is far away, you can try to use decals or skyboxes instead of meshes.
Hope this helps!