UE4 HDA landscape workflow

   3693   2   0
User Avatar
Member
10 posts
Joined: Oct. 2014
Offline
Hi!

Hope all you are well and creating awesome stuff!.

I would like to post a question to obtain as many insights as i can. Im new to Houdini, so we are probably not understanding the whole picture, and i would to understand as much as possible. I researched the situation i will exposed and havent found an answer.

Our goal is to create a landscape workflow based mostly in HDA's, the idea is to get most of our landscape editing inside Unreal. For scattering stuff and related tasks our HDA's work really great, but when it comes to modify the actual landscape, we have some pesky workflow troubles. Let me expose the situation with the simplest of example:

1- I create a HDA inside Houdini. The only thing that it does is to receive a Landscape input and add noise to it. Thats it.

2- Once in Unreal, I create a new scene and add a landscape to it. Just a simple landscape and hit the Create button. No editing, no nothing, as simple as it gets.

3- I then import and drop the HDA into the scene, assign the landscape to the HDA.

4 - HDA creates a new landscape with the result. The scene ends up having 2 landscapes, the original and the result of the HDA.

I didnt expect that to happen.

In my mind, if im using a landscape as input, the HDA would modify the given asset, not create a new one. I do understand this could create problems down the road, as if you add the HDA multiple times, how do they combine the result? (i would expect them to just overwrite) but for the simple example explained above i would like to understand what im missing.

In this case, what would be the right approach to have a ‘as non destructive as possible’ approach to edit stuff inside Unreal?, is that possible?.

Any suggestion or comment on the matter is welcome.


Thanks!
User Avatar
Staff
534 posts
Joined: Sept. 2016
Offline
Hi,

Thanks for the feedback.
Currently there is no way to “edit in place” landscape inputs, basically overwriting the input data with the one generated by Houdini. But this has been asked several times and is something we're planning to add to the plugin.

The reason for this was to have a non destructive workflow, as landscape are actors placed in the world, in the same way that a world outliner input doesn't modify the selected actors.

In your case, you're using UE to sculpt the basic shape of your terrain, then use H to add noise/erosion etc.. to it.
Keeping both landscapes alive allows you to modify that source shape, or the HDA parameters, even after it has been processed by H.

But from a user perspective, I know that having two landscapes in the world is not an ideal workflow, but you can always delete the source terrain once you're satisfied with the changes.
User Avatar
Member
10 posts
Joined: Oct. 2014
Offline
Thanks!

Thats the answer i received from a lot of people, so we are adjusting our workflow in terms of that.


I would like to ask two more questions, maybe looking at least for suggestions. These are workflow related stuff that i dont picture quite well at the moment.

Because, among other things, we are trying to build a multiplayer experience, it wont be possible to take one big landscape and use it to stream all the time, we need to slice it in smaller chunks. We are doing all our testing in relatively small example of a terrain 8km2 sliced in 1km2 chunks (100% playable area), but we are aiming to quite larger terrains. You probably see the problems that could arise:

1 - How do you update the slices in their supposed position with the Houdini/UE workflow you suggested? without doing it by hand. Im trying to create a BP that keeps track of the general grid based on landscape naming convention, but we are trying to learn ways in which houdini can help us in that regard, tool or workflowise. What would you suggest to explore?

2 - How do we deal with the borders of each chunk?. Let me explain in the following example:

2a- I have two pieces of terrain i created inside unreal. Flat terrains, move one just besides the other to create a larger space.
2b- I created a HDA that carves inside a terrain by using a polywire surface and a editable curve. The carving has the option to add noise to it. Nothing fancy.
2c- Import and drop the HDA, assigned it to both terrains.
2d- Edit the curve such it runs across both terrains, over where they meet.
2e - Recook everything, obtain the new landscapes.

In this example, depending on how steep and how much noise i add, the line in which the landscapes meet could break, which is to expect. If i add no noise and the carving is not to steep, they work fine, but otherwise it will probably break.

I've done another example, following the same steps, but the HDA just add noise. If the noise follows the same seed for each terrain slice, there is no breakup.

In this kind of situations, what workflow or tool inside houdini you would recommend to start exploring to match the borders?


Thanks in advance!
  • Quick Links