Asking about large terrain environments....

Hey there, I asked over on the C# forums earlier about creating large terrains, as I was getting slow performance. Since I’m such a noob, I’m just learning now about draw calls and how to reduce them, as @Eric5h5 had suggested that’s what the problem is.

The program I’m using to create basic geometries is Blender, I’m using a low-end computer (an AMD A8 laptop with shared Radeon R5 graphics), and I’m creating a game that is low poly, using 2.5D pixel characters.

Here’s a screenshot of what I’m working with:

I see now how the SetPass calls are up to 1012…

Here’s the thing, even though the screenshot below has slow performance, if I’m to turn off the trees like in this next screenshot the fps still drops, even though there are now shadows, no image effects, etc…:

So, after reading up on combining geometries and using LOD techniques to speed it all up, I had another idea/question…

That is, since the game is so simple in the graphic department, can I just simply map in Blender and then create one giant UV Map that’s then exported (or multiple, like forests would be in clumps like in Warcraft 3)?

I’m alright with the terrain being fairly low res, as it actually works better with the pixel characters, but since it’s all in pixel, even if I have a slow computer I’d like to have it display a bigger terrain than what’s displayed above.

You should really use the terrain engine, at least to start with. It will probably work well enough. There’s not much point investing more time on other techniques unless the terrain engine turns out to be unsuitable. It will also be 1000X times faster and easier to create/edit the world using the terrain engine compared to hand-editing a huge area in Blender.

–Eric

1 Like

Thanks as always Eric. I bought this at the asset store:

https://www.assetstore.unity3d.com/en/#!/content/8748


Awesome plugin, my fps went from 10 to 50 with tons of pine trees drawn after I just grouped them all and combined them into a single mesh. Now I can display very far with only some hiccups (because my computers low-end).

As far as placing trees on the terrain goes, it’s not working due to me having children within the prefab, and even when I combine it into one mesh using this script it still has the same error, maybe because there doesn’t seem to be anything in the mesh filter. What I need to get that working, is to export properly from blender [as a single geometry] which I have no clue how to do.

I think you should try unity terrain like Eric said. If you still want to make it in blender, try smaller pieces and occlusion culling: Unity - Manual: Occlusion culling

Currently your empty terrain tri count seems to be 1.2M, and that is a lot given that you can only see part of that anyway.

1 Like

You could also decimate it in blender before exporting

1 Like

@chelnok

I do have occlusion culling turned on but I don’t know that it’s doing anything. I’m gonna run some more tests. The reason I would want to create terrain in Blender is that I thought it would be a lot faster and you could make terrain that’s a lot larger and lower poly (for example by using what neoshaman suggested and using the decimate modifier).

The next thing I’m trying tomorrow (don’t have any time today) is a free asset from the store called Pre-Layer Camera Culling. I can have lots of grass that way display while it’s closer, less trees when farther away, and allow the terrain to just always display really really far. Terrain that represents a plateau that might be very far away I’m gonna test out creating in blender as a geometry and having it be a dim light blue fading into the sky. Will post some results when I get the chance.