Download

mesh instancing to lower draw calls - looking for tutorial

I have been looking for a few days for some kind of mesh instancing tutorials. I have had little luck finding anything that explains the process. For as much info about UE4 avaialbe, I am shocked about the lack of info on static mesh instances to save on draw calls. The few snippits of info I have found do not explain the process…

If anyone can help me find the proper info I would be eternally grateful.
Cheers!
Gary

I’m pretty sure that if you place more than one of any object into a scene in UE4 it is automatically an instance. That would be why there are no tutorials.

It instances the meshes automatically, in that it only loads one in memory. What it doesn’t do is batch them which merges copies into a single object so that it uses less draw calls at the expense of memory. Some parts do it, like particles, but to do it with meshes you have to do it manually using Instanced Static Mesh Blueprints.

“…but to do it with meshes you have to do it manually using Instanced Static Mesh Blueprints.”
I totally understand, that’s what I meant to ask for… a understandable tutorial for “Instanced Static Mesh Blueprints”… what I have found so far does not explain the process enough for me to get it.
From what I have read there are two ways to effectively reduce draw calls:

  1. instance static meshes
  2. merge meshes into a single mesh

I have a scene will 1500 rocks… which means my drawcalls are out of control.
I have used merge actors to combine all the rocks into a single mesh [this reduced my drawcalls drastically] but limits my ability to move an individual rock once the objects are merged.

I figured instance static meshes would be more useful since i can still manipulate a single rock [as its not merged] at any time, but draw calls will be reduced. Maybe i am just not understanding the purpose of “instance static meshes” in ue4…

if anyone can point me to a understandable Instanced Static Mesh Blueprint tutorial I will be stoked :slight_smile:
Cheers!
g

problem solved…
I was adding an add instanced static mesh component to each instance i created. That was my issue.

solution:
create a single ‘add static mesh component’ to the first object in my array, then add ALL instances to this component :slight_smile:

I hope this can help others with similar issues…

ca64c4d7185c6698e02f9335b57685e12c2a3712.jpeg