Page 1 of 2

Terrain from Heightfield map

Unread postPosted: Thu May 06, 2021 4:17 pm
by peirof
Hi,

i d like to know if Isotropix Clarisse fit in my workflow....

I work as civil enginier, an a part of my work its model terrain for present for client.... something like this:

- Model terrais from (Mdt, or Asc....)
- Model forests, buildings and streets...

Make still images and small videos....

Can Clarisse do this work?

Thanks

Re: Terrain from Heightfield map

Unread postPosted: Thu May 06, 2021 7:14 pm
by sam
Hello,

You can't model in Clarisse. It's a asset assembly package. You need to bring models like buildings, trees etc... from standard packages and then set dress/layout/animated/lookdev/light/render in Clarisse. Did you see our what is Clarisse video? https://youtu.be/oCQhnVl-xrI

Re: Terrain from Heightfield map

Unread postPosted: Thu May 06, 2021 8:19 pm
by peirof
I will see, thanks

Re: Terrain from Heightfield map

Unread postPosted: Thu May 06, 2021 8:21 pm
by peirof
Hi,

To me, link don't work

Re: Terrain from Heightfield map

Unread postPosted: Fri May 07, 2021 8:09 am
by sam
Hi I updated the link sorry

Re: Terrain from Heightfield map

Unread postPosted: Fri May 07, 2021 9:26 am
by bvz
We use Clarisse with height field data all the time.

The methodology is very simple and quite flexible. I’ll give a brief explanation here and you may ask questions if you want.

We convert our height data to a 16 bit exr where each full integer step in value equals one distance unit (usually meters). So, for example, a value of 10.5 would equate to an elevation of 10.5 units (usually meters).

We then create a grid of Clarisse polygrids (you can have just one or as many rows and columns as you like). The reasoning behind this is that it allows you to dial up or dial down the resolution of any particular portion of the terrain resolution as needed. (Note: this resolution is independent from the resolution of the height field.)

We then project the height field using a planar projection in Y, and apply that texture as a displacement deformer on each of the polygrids.

Then adjust each of the polygrids number of spans in x and y to have the necessary number of vertices to achieve the resolution you need.

The nice thing is that you can dial these spans up or down dynamically based on your needs. You can also export the polygrids as geometry which will bake the height field into actual geometry.


If you need more info let me know. I can even throw together a quick sample if you need (but probably not for about a week since I’m super busy for the next 10 days or so)

Re: Terrain from Heightfield map

Unread postPosted: Tue May 11, 2021 1:19 pm
by atnreg
Hi!
I am familiar with the procedure but I would like to know, how you manage the edges of those 'subgrids'? I like the splitted idea a lot but I would think it generates a lot of sharp corners there and there. In short, how do you spread the terrain over multiple parts but keep seams invisible?

Do you have some trick for that?
A simple example would be absolute great but some explanation/tip is nice too as you are busy :)

Thank you very much!

Re: Terrain from Heightfield map

Unread postPosted: Wed May 12, 2021 8:30 am
by Akam
Hello bvz :)
That sounds great, I will give it a try.
But like Antti said a little example would be great

Re: Terrain from Heightfield map

Unread postPosted: Tue May 18, 2021 4:45 am
by bvz
Sorry for the delay in getting back to you.

I threw this together quickly. It shows a single heightfield tiled across multiple geo tiles.

You should be able to access it here:

https://www.dropbox.com/sh/fb5hbgl5zydu ... 78t2a?dl=0

What I did was download some random DEM heightfield, project it as a planar projection (in world space) on to some polygrid tiles. These tiles are laid out in a grid pattern with no spaces between them. Each tile can have its own number of spans, and you can see that I set the center tiles to be a higher res than the outer tiles.

There will be a discontinuity between tiles of different resolutions, but we usually structure our scenes such that those are not visible because they are further away. If that is an issue for you, you will have to have all of the tiles be of the same resolution, or you will have to model the tiles in a modeling package and then use triangles to step up the resolutions as needed (in that case you have the advantage that you can choose exactly where you need higher res vs. lower res, but you have the disadvantage that that is baked into your geometry and cannot be changed on the fly). You could use something like Blender's sculpt mode with dynotopo, for example, to add tessellation where you need it in a fashion that does not create any edges. Just make sure that your final model is still flat in Y.

Note that the displacement deformers have "local deformation" turned off. That is critical if you want to project a single image across multiple tiles.

Also note that the image being projected (the heightfield) is set to project in world space and has its projection scale set to match the total landmass size (7 km in this case - each tile is a 1 km square).

If you set your tile spans to be higher than the image resolution, you will start to get banding. This makes sense because now multiple vertices will have the same Y value. So make sure you tune the max resolution of your spans is at or below your image resolution (keeping in mind that the image is being spread across multiple tiles).

Alternatively, you can also project tiled source images. I was going to set that up as an example as well, but I don't have ready access to some tiled DEM's to use so I gave up. The only difference is that instead of a single DEM, you will have multiple DEM's (one for each polygrid). Each of these heightfields should still be projected in Y, but they should be set to use object space, and not local space. You will still have to make sure that their projection scales match up to the geometry tiles you created. For example, since the tiles I set up are 1 km square, you would want each tiled image to have a projection scale of 1000x1000.

Finally, if you wanted to project tiled height fields onto a single mesh, you would make sure each of the images was being projected in world space (like the original example) but their projection coordinates would be offset to match their scale and location in the grid. (i.e. the offsets of the image being projected would be a multiple of the size of each tile).

Let me know if this works for you.

Re: Terrain from Heightfield map

Unread postPosted: Tue May 18, 2021 5:12 am
by atnreg
Thank you VERY much for the example and thorough explanation!
I will check the project later (I'm working now) but I read the story and so there will be some issues with the borders, that makes sense but the idea is very interesting and I will study it properly :)

I have had long time idea of making 'terrain assembly' by creating terrain pieces in Houdini (heightfield->exr) and then assembling them in Clarisse but there were big problems with that idea and I think you have keys to those, I'll see :mrgreen:

Thank you very much again and have a nice day!