How optimalize many actors
Hi, I am working on some Minecraft like project and I need help with my actors. Can you recommend me so cheap way to analyze what block's sides should be loaded? I have 3x3 chunks with 20 blocks height and I get on gtx 1080 ONLY 10-15 FPS. I was looking on real Minecraft in Java and it recognise which block's side have neighbor and render it, but this not help ať all.
I was trying my best hole week And I starter give up. Do you have some help?
asked Jul 18 '17 at 08:57 PM in Using UE4
Thanks you all guys. I really appreciate your help. I think that I am on good way now.
answered Jul 21 '17 at 10:14 PM
Instanced Static Mesh, Culling, LOD, Profiler, couple more things. All in the Docs look it up =)
This channel might also help you out.
answered Jul 18 '17 at 09:14 PM
With only those few actors loaded I feel like there's something else going on to produce that type of FPS...
One idea is to set them to tick every five seconds, and on each tick check an overlap for local actors in their immediate vicinity, and if everything is on a grid check if there is one actor with a block/cube/whatver you want to call these things tag offset by your cube size in each of this things axis. Once its occluded or set like this have a branch that immediatly disables the tick. Then if all of them are blocked adjust LODs to one without textures/mesh/whatever, or even destroy the mesh component if if they are too complex and not just simple 8 vertice cubes. Then to finish this you'd make it so any of these cub items has an on death/moved/whatever event that will alert any cub in its six axis off by the given unit size to update and check that they are visible now and start doing their tick events to check for whenever they become invisible next. Or if cubes moving/being created is the only thing that can cover them then just make this a case of all on beginplay/destroyed events so you don't even bother with ticks.
Otherwise just take advantage of the normal occlusion.
Or another idea, make it so each cube is just a point actor, no mesh or collision or anything, it just sits in a given location knowing its type. Then have a separate blueprint that for that world will filter through all of those point actors and spawn a cube on the ones at the border of their areas. And any changes on a given point updates this thing to alter that points mesh and those of the ones near it appropriately. This way you could possibly get by with a single actor using instanced meshes for all your geometry and collisions.
But again, I think there's something else going on in your game to be producing that type of problem... Are the cubes all simulating physics or something perhaps?
answered Jul 18 '17 at 09:21 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here