I was looking to reduce various static mesh actors in my level and discovered the following 2 options at my disposal.
1: Combine Actors to Static Mesh ( Right click on selected actors )
2: Merge Actors ( Window - Dev tools - Merge )
Gave them both a try and from the looks of it, Merging actors is more efficient thanks to landscape culling which removes the hidden vertices.
Can anyone kindly expand on “Combine Actors to Static Mesh Vs Merge Actors” and when to use which.
For the majority of purposes, you’d want to use the Merge Actors tool. It’s got many more robust features that allow you to remove unseen vertices/faces, merging the physics assets of the actors, merging textures into atlases for better optimization, etc. The Convert Actors to Static Mesh is good for quickly grabbing an actor from your level whether it’s a static mesh or skeletal mesh and converting it into a static mesh. This can be a really cool feature for capturing some skeletal meshes in a play state with mid-animation and converting this to a static mesh to capture the action. Before this particular feature to get a static mesh like this you had to use the File > Export Selected and save as an FBX to get this. Now you can simply do it in the editor.
Overall, the Merge Actors tool is the way to go. If you need something quick or need to convert a skeletal mesh to a static mesh the alternative is your option.
hey tim, i just want to ask some quick questions about this merge actors:
What does bake vertex data to mesh ? enabling this increase performance ?
Is Landscape Culling calculated just for once or it changes dynamicly according to vertices that if they can be seen or unseen ? For example you have merged a tall building but bottoms are not visible due to fog. I suppose landscape culling activates at this moment. But if you drag the building upward and bottoms become visible, landscape culling is not working because all vertices are visible ? am i correct ?
This takes any vertex data that have been painted using the paint tool from the modes window or that painted vertex data that was imported with your FBX and merges that with the merge actor tool.
Each landscape component has its own bounds that allow that component to be occlusion culled. Fog, however, since it’s translucent does not get depth checked so if something else like an opaque or masked mesh is not blocking that component it will still be captured in the depth buffer which won’t cull it from view.
You can use the console command FreezeRendering to pause the rendering state from where your camera was and then you can move around the scene. You can easily see what is culled from that view by doing so. Entering the command again will unfreeze and take into account the current camera view.
Hi Tim, thanks for the explanations above since I am also exploring the Merge Actor functionality.
In spite of this, I am having issues merging some of the meshes I’m working with. In some cases, the merging process happens correctly - but other times the resulting mesh will contain 0 triangles.
Has this happened to anyone before? I don’t really understand why the tool works in some of my meshes and not in others. Is there perhaps a poly count restriction that we should know about, or any particular conditions regarding collisions or some other seemingly unrelated settings that might be affecting the tool?
I’d love to solve this issue, since it’s a big part of a project I’m working on.
If you’re having issues that cause zero triangles to be contained in the merged actor, can you post this in the Bug Reports section and we’ll investigate? If it’s only happening with specific meshes please include a sample that makes it reproducible or detailed information to recreate the issue.
Based on reading here or elsewhere, each material slot requires its own draw call, so if you have 9 identical material slots thats 9 draw calls instead of 1
hey, after i merge the actors into a static mesh i see that even if the actors were the same rock for example in the new static mesh i will get 10 same materials. what should i do to have only one material from the same actors?
The problem is I cant find a method to merge multiple meshes with deffered decals. And without merging the materials I get 9 material slots with the same material. Is this a performance problem?