Jump to content

Handling Massive Height Fields


cgpetey

Recommended Posts

I created a heightfield from a depth map source that I downloaded. The chunk of terrain to get the detail I want is 8129 x 8129. 
It takes 30 minutes to open this file even though I have the erosion frozen and cached to disk. 
Then when I get it open finaly, and I make any change to it like a mask adjustment, it takes 15 minutes to calculate. Its just super unwieldy. 
Is there a better way to cache this out so its faster to load and work with?
Is 8K height map size too big?
Is there a way to use PDG to speed things up?
Just looking for a way to do this without losing my mind.

thanks all!

Link to comment
Share on other sites

hm, heightfields can be slowish in high resolutions but waiting 30 mins for your scene to load sounds like a complete nonsense for any houdini scene. even with heavy terrain scenes i can get it loaded pretty fast if i cache things on disk properly (lets say a couple of minutes in case you use rather slow and older workstation - anything longer than that means you should think of optimization :)

not sure what exactly is your workflow but here are a few tips to make things move faster:

- if starting from HF map, it's not really a texture resolution that makes it slow, but the voxel count it is sampled into. maybe you oversampling your stuff a lot? try to double the voxel size and see if it actually makes a lot of visual difference 

- speaking about resolutions - experiment with how dense your HF truly needs to be. consider from how far you will look at it. proper texturing and normal maps are your friends here.

- if possible, start really low res and gradually build up details in multiple stages. don't try to generate the final result using one erode sim.

- after each erode sim or other time consuming operation, do a "checkpoint" cache to disk. don't rely on freezing the sim. it doesn't really work as it seems bcs each time you open the scene it wants to recompute the result. which actually makes sense - storing multiple hires erode sims in the hip file would make it huuuuuuuuge! (i suspect this also might be a reason for you having everything so incredibly slow)

- be aware of paint nodes. with default setting the paint cache is actually saved with the hip file, making the process of saving very slow, and hip files  BIG (like gigabytes). you don't want that. masks typically don't need to be too detailed so make the HF lowres before painting and then use it to mask the hires one. also, paint node can be made "live" all the time but that again can slow things down. i think in the latest Houdini release there is something called heightfield draw mask SOP (instead of paint mask). this seems to be much faster and lightweight alternative.

- if heightfield is too big, do an init lowres sim on the whole thing first to get the larger scale features in place, and then split it into multiple tiles and work fines details on those separately. then you can merge and blend them back together ( must admit thou, blending is sort of meh, you need a generous overlaps to avoid visible seams where two tiles meet) 

hope that helps.

cheers.

Edited by davpe
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...