Workflow scattering / modifiying existing UE4 Terrain

   2963   4   0
User Avatar
Member
8 posts
Joined: Oct. 2020
Offline
When working with Houdini Engine and an existing tiled terrain from UE4 I have two main questions that I would really appreciate help with! For both questions, I'm using an HDA that uses tiles of a UE4 terrain as input (corresponding LandscapeStreamingProxy).

1. How can I access the existing LandscapeLayers (from UE4) in Houdini? From the docs I only find this sentence "If the landscape is exported as a heightfield, all the landscape layers will be available as masks on the heightfield node." I would really appreciate an example or any hints that for instance shows how an object is scattered only on a specific ue4 layer using an HDA and Landscape input.

2. (More of a conceptual question) Maybe I get something wrong here but as I see it if I use the Landscape input in the HDA why does the landscape from UE4 not show up in Houdini (e.g as a heightfield when that output is used)? This would be very helpful when working with existing landscapes that not have been originally created in Houdini! (I also know of that option "open scene in Houdini" but that this seems very inconvenient and creates a new scene every time you change something).

Thanks a lot in advance, hope there's somebody out there that may help with these questions!!
Edited by Hamster3001 - March 11, 2021 17:18:59
User Avatar
Member
8 posts
Joined: Sept. 2019
Offline
Hi! I'm gonna try to answer your first question.
Within Houdini you can create for the same terrain different layers (heightfield_copylayer). Unreal allows you the option to make multi-materials, e.g. for a terrain you can create two layers: grass and rock, these layers will be contained in a single Unreal material (the main thing you must learn for this is Unreal's Layer Blend). Here are a couple of videos with which I learned this workflow.
https://vimeo.com/436170532 [vimeo.com] -> Minute 20, creating the layers in Houdini.
https://www.youtube.com/watch?v=NAJhppttJgI&ab_channel=LukasK%C3%B6lz [www.youtube.com] -> Creating the material in Unreal.

Cheers
Edited by ularrarte - March 11, 2021 16:03:41
User Avatar
Member
8 posts
Joined: Oct. 2020
Offline
Thanks for the answer, yes I know how to work with a multilayered landscape material in UE4 and also the possibility to create and export this from Houdini to UE4 with an HDA, but my question is:

how can I access the layers of an already existing terrain when I send it from UE4 to Houdini (without copying or recreating this terrain)? I think it is somehow possible due to the sentence from the docs...
User Avatar
Member
8 posts
Joined: Oct. 2020
Offline
Ok, found it. It's actually quite easy. One can reference UE4 Terrain Layers by just using the same name as in the UE4 Landscape Material. For example, if the desired layer is called "Rock" Houdini-Engine generates a Mask Layer called "Rock" in Houdini that then can be referenced (e.g. by a heightfield-scatter) by just using this name (not with @name="Rock" but just Rock (no quotes)).

Edit: for access, the desired layer needs to be copied to the mask (in Example: Source: Rock, Destination: mask).

As I guess the second question there is no solution, but definitely would be a great addition to Houdini Engine in my opinion.

Maybe this helps somebody, cheers,
Edited by Hamster3001 - March 15, 2021 16:45:12
User Avatar
Staff
553 posts
Joined: Sept. 2016
Offline
Hi,

I'm not sure I understand your 2nd question, if you use a landscape (or world) input , then the selected landscape will be available in Houdini as a Height field...

You can open Session Sync, and you'll see that your input landscape is created on the houdini side as a HF...
  • Quick Links