Large Terrain Landscapes

I am expecting large amount of criticism but it can’t be helped. I am going to create a large open environment game, I.e. Shadow of the Colossus, Journey. Where you see the large landscapes around you. This is where its going to get biased but I want you to all think with an open mind. Since terrain in Unity will not be redone till at earliest 4.0 and not sure when this will happen.

A. Create the environments using every trick in the book in Unity
B. Use udk for its environment features
C. wait for 4.0 or later (which doesn’t seem like a very feasible option)

How big of terrain area we talking? I’ve never used Unity’s terrain, but I think there are multiple plugins that let you stitch terrain together (getting past the hard coded limits).

You could also make your own solution to unity’s terrain. Make the terrain in an outside program.
Another idea is to scale down the actual players - 0.25 or 0.1 shouldn’t effect physics to a noticeable amount.

I guess I will just play around with it some more to reach those compromises.

You kinda really given yourself limited options there. Unity’s terrain is not really well optimized. You’d still be able to get excellent results using meshes’s - so don’t discount that, especially if your target aim is pc. If you take the time to learn how to use your 3d package, and properly batch together your meshes, materials, etc, you wont have any performance hits that the terrain would likely give. Sure, terrain offers some advantages, but most of these can be negated doing it right the first time in your 3d package first.

The issue I have with that is, I have used Maya for quite some time but I plan to sell my game. The copy of Maya I use is a student edition that I have had throughout university. So I either need to learn something like milkshape or blender. Or somehow earn 3,000 to buy Maya which isn’t very feasible.

After trying to do the same I recommend you to choose different engine. Unity is not suitable for large worlds. Even if you write your own terrain engine and that can be easily over 10k lines of code, there is lots of hidden problems you dont know about until you try. Btw, UDK is not suitable too.

This is the kind of post I was looking for. I have not dealt with the landscape tools extensively in Unity but I had a feeling. Do you know an engine that would be more suited. I have looked into C4, Ledwerks, and a multitude of other engines. Closest thing I know would be Hero engine. I guess I can just work on distance lod programming to control in unity? May work or may not…

There are plugins which make you able to stitch terrains, use that.

Why don’t you just model the terrain in chunks and write a LOD&SuperLOD system like SotC does?

I can agree with Demostenes on this. If you just want a terrain for basic features, that is you just want to look at it, you should be all right. But if you want to do anything more with it, get ready for some pain. Terrains also do not support some basic features out of the box, such as bump mapping.

So the question is…are the terrains static and unchangeable, like skyrim, or can the terrains be modified by the players?

Definitely static. Although I want a dynamic sky system. Not sure how its going to work but I guess I will see and make compromises when I get there.

For example you will have to drastically limit vegetation (trees), because there is bug (reported and ignored) with tree colliders. Unity crashes after reaching critical ammount of trees with collider. Without collider you can have as many trees in the scene as you want, visibility or any settings have no influence on this.
For seamless world like Skyrim it is very big problem. You can fit to that limit with one terrain, but not with 4. And with terrain streaming you will have typically up to 4 terrains loaded.
You can probably do workaround, but it will cost you lots of CPU power and lots of work. And you will encounter dozens of problems like this.
And after 1/2 year of workarounding everything you can you will find out, that it is impossible to do lagless streaming for game with good visuals.

Well, if your going to have a lot of trees, its better to model them and combine them as a single object anyway. This gives you excellent performance. This is where planning out what you want first is important, you can sculpt your terrain and then build a high res height map if your dead set on using unity’s terrain system, but you can still get solid performance by batching a few large chunks of static terrain, and batching large sections of static trees, which will still look great, but wont run into those collider issues Demostenes seems to hit.

Sure, this is reason why I was speaking about custom terrain engine. Problem is, that you are limited by Unity. It will work, but you will still have some bottlenecks there.

Are you interested in how to go about creating your landscape or rather what the performance costs are?

Your always limited by bottlenecks, with every piece of software. Why not scream at the moon for making the night less dark.

This sounds like fanboy answer. Point is, that on Unity you cant make lagless seamless terrain, on for example Trinigy you can (it is in core). Such systems must be in core. Once you have everything important in core (and done well), bottlenecks are not big issue.

@Demostenes, It’s clear you want your opinion to be established here, but let’s not insult people just because their’s differs. Let’s be cool.

I’m the first person to say that Unity’s Terrain tech is lacking, but, in my opinion, it’s just wrong to say Unity doesn’t allow you to create large outdoor scenes.

This is off the top of my head, however imagine streaming stitched copies of the Bootcamp Demo. Perfectly doable.
If you run into bottlenecks then you find tricks to get around them, or adapt your design to accommodate them.
But anyway, you may not even need to stream Terrains, how big you need your world to be?

I never told, that Unity does not allow this. I only told, that you will have to script a lot and it will lag anyway. And usually if you are doing professional graphics, you want to have professional game too. If you are doing something with 1998 graphics, it does not matter.

@Demostenes, fair enough.
Let’s just hope Unity finally get around to doing something about their Terrain tech… next update.
There’s so much they could do to make the tools more effective with just a little bit of effort.