Ghost Recon Wildlands TERRAIN

Hi All

Is it possible to achive this quality level of terrain with either scriptable render pipeline or built in renderer with unity? I have tried so many things but no luck. You can see in the video that every details on terrain can be seen even from far away.
When I try:

  • I see so many tilings:(
  • Although I set basemap distance to highest, I see blury basemap which is looking so bad.
  • And others

So my question, Is it possible? If yes How? Some video tutorials maybe to guide us?

I want to invite unity guys as well… @wyatttt

2 Likes

They made it in Houdini. Procedural Technology in Ghost Recon: Wildlands

Hi @konsic
Thanks for this great article. Very first thing I see is they use relatively low resolution height map 1 pixel 50 cm, but they use hardware tessellation on top.

Second, they use houdini to fill in the contents. Procedurally of course. But as u can see there are no probs in the video yet:)

First you need a tool that can produce height maps, then naturally ‘erode’ that terrain map.
Collecting the “:Flow, Wear, Deposition, Talus, path/road, ocean/lake”& create vegetation/rock maps"…
Use those to seamlessly blend with your chosen splat textures, all the while keeping your end 8-15 splat maps clean.
Oh yeah, render high resolution color maps, of that same map, to blend with the splat shader at far distances…

I am using World Machine…to do…all that!

(want to know more?)

p-

1 Like

Hi @
I am using World machine as well. But I dont think it is enough as alone to achieve this quality. Unity should give us some terrain shading as well that supports tessalation etc. Also I dont think unity implementation of base map is enough.

imho it is not possible to achieve such quality in unity at the moment as ghost recon uses virtual texturing.
it has been announced for the terrain ( https://discussions.unity.com/t/724177/6 ) but has not landed yet.
you can come quite close tho using the microsplat, cts or the colormap ultra shaders.
regarding tiling: there are solutions for this being solved within the shader. however these may be rather expensive, as expensive a triplanar mapping.

1 Like

Well, I’ll just have to prove you wrong…with CTS, Vegetation Studio & my custom macro’s (I’ll give you a copy!)

Can I re-create that scene…today?..I’ll try!!.
Some examples:





Its a work in progress, I’ll make a quick video run through , using it for unity.

p-

2 Likes

@ I really wonder to see your work:)

My Steps

Ok…step 1)…some terrain.


Had to fix an erosion problem, and realized…proportion!..its way off…that map is 25 Km, compressed into like, 5 km…time to go…to the "real world’ Afghanistan mountains…back soon.

Found some problems in how I was laying down erosion, fixed and got an actual 25 KM map , for size…and, started over…new map, should have it unity…today.

1 Like

Can you please elaborate on what exactly you’re demonstrating? I might join in and contribute as well, sounds like fun :slight_smile:

1 Like

Rebuilding that type of scene for unity, step by step?..almost ready for splat map & textures for CTS, then comes placement of rocks , grass through color maps and vegetation studio. ( a little tougher than I thought)…I am setting this up for a quick rundown/how to video.

p-

2 Likes

Any screenshots from unity window? It starts to look amazing man:)

You rang?

You might be able to get something closer to this after our next Terrain Tool package release. This will have procedural-based painting and you can use that for materials.

We are working on some other things that will make this feasible in the future but that stuff won’t be ready for a while.

If I have time, I’ll try to recreate something like the scene you shared with our package.

For the tiling, what do your Terrain Layer textures look like?
And if you’re basemap is blurry even at max distance, you might want to also increase the resolution of that texture in the Terrain Settings

5 Likes

This is the kind of fidelity we are aiming for though!

4 Likes

@wyatttt Maybe I should share more videos that you guys can draw inspiration:)

2 Likes

Just to answer the first 2 questions:

Regarding blurryness you might want to lower the Pixel Error in the terrain settings.
Regarding tiling you could try MicroSplat Texture Clusters

Just for show I quickly created a terrain in World Creator 2

4775015--455081--wc2.jpg

Imported it into Unity

4775015--455084--gr5 nrm.jpg

And applied MicroSplat Texture Clusters (Texture Cluster Mode: Stochastic)

4775015--455078--gr5 sto.jpg

Creating that and importing took 30 minutes, it’s really only a quick draft to show you options. Oh, and I added Enviro and Lux Water :slight_smile:

1 Like

pixel error officially describes “The accuracy of the mapping between Terrain maps (such as heightmaps and Textures) and generated Terrain.” but actually it is the accuracy of the generated terrain chunck or the level of subdivision of the terrain chunk mesh used (if instancing is enabled).
blurry basemaps should totally depend on the base texture resolution :slight_smile:

exactly the expensive method i was thinking of. so i am looking forward what the graphine team might come up with regarding virtual texturing.
and of course this project from hackweek 2019:
https://twitter.com/g_truc/status/1145632588389920768

1 Like

I’m not sure virtual texture streaming/virtual texture cache will be a win in every case. A lot of Unity projects I see and get called in to optimize are not pixel shader bound at all, but rather CPU bound. Moving to a streaming based solution is only going to make that worse, as it adds a lot of IO, and the texture cache Unity is doing is basically a memory for shading rate trade much like the basemap solution.

In MicroSplat, I use the basemap as a way to reduce shading cost of expensive features (tessellation, etc) rather than using the traditional basemap solution where you have a single texture for the terrain. I have found that the sampling/blending cost becomes extremely negligible in the distance, because most textures are deep into their mip maps and thus fit into the cache making sampling them close to free, so even when doing triplanar and stochastic, each of which require 3x samples, the difference is negligible.

1 Like

hey jason,

quite interesting aspect, i never really thought about the cache.
i usually try to make the basemap kick in as soon as possible.

me neither. but doing e.g. 48 texture lookups per pixel (and several per vertex) each frame where you also could do it once and get away with maybe 4–6 does not sound ideal.
and as we re discussing ghost recon’s terrain: this is what their solution is based on. just like far cry and frostbite.

@Rowlan thanks for screenshots. They look amazing and proofs that it can be achieved:) Also, I discovered cababilities of World Creator 2.Amazing…
I believe that with some custom terrain shaders(cts, megasplat, etc) and using pbr photo scan materials will make my terrain stunning:)

1 Like