Log into your account to keep track of your progress. You can work through the lessons without logging in but your progress will be lost when you refresh the page.

総再生時間: 3h 56m 13s

Project Pegasus では、広大な草地、森林地帯、網目状に走る山道を配置した、ディテール豊かなオープンワールドの環境を使用しています。このレッスンでは、Megascans ライブラリのマテリアルを使って地形にリアルなディテールを追加する方法と、プロシージャルの道と森林の木々を配置する方法を学びます。また、Unreal の地形マテリアルの原理についても学んでいきます。

Unreal のマテリアルや、Project Pegasus のために作られたデジタルアセットの一部に関する詳細は、Material と Technical Deep Dive のレッスンをチェックしてください。



Artist with a node addiction.

More from George Hulm


  • kukucck 2 ヶ月, 3 週間 前  | 

    Is that work with Unity?

  • George_Hulm 2 ヶ月, 3 週間 前  | 

    A large part of this series takes place in Unreal Engine but the general tools and approach are game-engine agnostic :)

  • George Rolfe 2 ヶ月, 3 週間 前  | 

    It seems a lot of the files used in these lessons are missing in the download.

    • George_Hulm 2 ヶ月, 2 週間 前  | 

      Hi, sorry for the delaying in responding. Please could you clarify which files are missing? Thanks!

      • nbaadam2021 1 ヶ月, 3 週間 前  | 

        The files are made by unreal engine 5.3, and its not possibile to use them on UE 5, 5.1, 5.2 because Epic Games dosent let you downgrade Uassets. is it possibile to get at least the material in the oldest format soo can be used from all the unreal engine 5 versions?

  • prerrro 2 ヶ月, 3 週間 前  | 

    I had 1 error in one of the hdas in the last houdini 20 version
    opdef:/Sop/PE_heightfield_paths::2.0?ViewerStateInstall (1): Unknown command: __import__

    • tindoynilo 2 ヶ月, 1 週間 前  | 

      what did you do regarding this issue?
      + I can't make [PE_Heightfield layers to ID] to work in the part 6 of the tutorial, it is only black

  • Bojay 2 ヶ月, 3 週間 前  | 

    Really awesome tutorial with very nice optimization in mind. I learned a lot and will definitely utilize the technique in my own open world project.

    It would be great if we can learn more about the Houdini 20 spline feature and what it's capable of in Unreal!

  • i_love_fx 2 ヶ月, 3 週間 前  | 

    Thank you for sharing this project and all the lessons. Looking forward to learn a lot from them.

  • mac3designer 2 ヶ月, 3 週間 前  | 

    For me too opdef:/Sop/PE_heightfield_paths::2.0?ViewerStateInstall (1): Comando desconhecido: __import__

    • prerrro 2 ヶ月, 3 週間 前  | 

      I think we can open the hda and find the problem with that import method.

      But I have another blocker, the color shader in unreal 5.3 is not working at all, it keeps that squares textures and never shows the masks ;<, I will continue checking what is happening here, anybody have the same problem ?

      • mac3designer 2 ヶ月, 3 週間 前  | 

        It's because if you follow the package setup, and change the other project name, some assets will cause this error, after only downloading the project files and using Unreal, and Houdini, this doesn't happen, I believe the good practice is to remove/pegasus in assets and use dynamic paths and save the digital assets for use in any package project, but this is only a lessons to learn about pipeline for create worlds don't for create from scratch, but good idea is share the files per modules, for don't give the user lost in the tutorial :D.

  • mac3designer 2 ヶ月, 3 週間 前  | 

    Why don't share the project files used in the videos?

    • George_Hulm 2 ヶ月, 2 週間 前  | 

      Which project files are missing?

      • jmwalther91 2 ヶ月, 1 週間 前  | 

        the hip files are missing

  • zakkatara 2 ヶ月, 2 週間 前  | 

    Amazing series. I found though that when adding 7 or more id layers they break and some bits are not selectable in the material layers, defaulting to the background material. Anyone else come across this and found a way to fix?

    • jmtcgi 2 ヶ月, 2 週間 前  | 

      @zakkatara To use more than 7 layers you have to switch from Round to Ceil inside the "MLB_PE_Landscape". You can find it at the "correct bit" section

      • asbird2009 2 ヶ月 前  | 

        I needed to switch from round to ceil for 7 layers, but then I added an 8th layer and had to switch back to round.

  • George_Hulm 2 ヶ月, 2 週間 前  | 

    The default settings on the material instance have been updated and the project files have been re-uploaded.

    I'm sorry about the problems everyone!

    A couple of important notes on things poorly explained in the series:

    - The "number of idmap layers" parameter must be set to the number of layers encoded to the idmap.
    -The "bit" must be selected in the blend asset
    -The "texture atlas index" is selected in the layer asset.
    - The material assumes a terrain of resolution 2017, otherwise, users will need to modify the resolution and terrain size parameter to compensate.

    • prerrro 2 ヶ月, 2 週間 前  | 

      Thank you !!! Awesome tutorial indeed, I'v already started to learn material layers :) but this shader is incredible, again, thank you very much!

  • George_Hulm 2 ヶ月, 2 週間 前  | 

    It seems my latest update introduced a new problem. You need to make sure that you change the compression setting of the "TA_Masks" and "TA_Normals", to be "masks" and "normal" respectively.

    • prerrro 2 ヶ月, 2 週間 前  | 

      I have the last files version, just check and both files have the correct compresion.

  • mac3designer 2 ヶ月, 2 週間 前  | 

    Great, now works everything.

  • mac3designer 2 ヶ月, 2 週間 前  | 

    Postprocessing don't works

  • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

    Thank you so much,
    I hope the pegasus team will keep going with such nice tutorials. You are fantastic.

  • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

    Now I come with my own issues sadly aha, I've processed all along and now I found myself a bit stuck as the master material landscape provides a bug that a TextureSample is missing input. Can't figure out alone what should be sourced in. Atm the material seems not usable to me.
    Also tried to reimport files (materials content folder)

    Here is a screen of the issue :


    The only thing that I've changed during the tutorials was the name of the envVar Pegasus projects to fit mine, Overwrited where it was needed ofc.

    Am I doing smthng wrong ?

    Still, great tutorials, thanks for everything !

    • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

      Also, my landscape is not splitting in multiple planes after baking, it keeps being one big stack.

      Yet did it twice can't figure out where I m doing wrong :)
      using houdini 20 + UE 5.3.2

      • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

        Well I've retried everything and as mac3designer said, all issues were coming from the fact that I wasn't using your uproject and all folders as native project.
        My bad :)

  • mac3designer 2 ヶ月, 2 週間 前  | 

    Some trees it's floating, https://i.imgur.com/dBZDhfA.png

    • Bojay 2 ヶ月, 1 週間 前  | 

      I have the same issue, that's because the landscape size issue. I set heightfield in Houdini 4000 x 4000 with resolution 4336 x 4336.

      The resolution 4334 is due to Unreal, it set its Landscape to a specific size.

      And because of this (4000 vs 4336), Houdini Engine has to use the scale in Unreal to match the size. So my scale in the Landscape was not a even number.
      And that's the reason why it causes the position offset (slightly offset from houdini).

      To solve this, just make sure the size is the same as the resolution, or can be evenly scaled. In my case I changed the 4000 size to 4336 and the scale in Unreal become 100 for both x and y. And it works.

    • papamadoo 2 ヶ月, 1 週間 前  | 

      I had the same problem, Since they didnt use it in the video I didnt care at first, but there is different specific value for the landcape optimisation in both unreal/unity.
      I made some test because I had also the 100x 100y on axis, so this bound to the resolution specificly. I try the 256 to 2048 got the offset. But when I switched to the Recommended Landscape size https://docs.unrealengine.com/5.0/en-US/landscape-technical-guide-in-unreal-engine/. I got no more offset and the resolution is the same as houdini.

      • miditato_r 1 ヶ月 前  | 

        I did the correct resolution (2017x2017 ) but the trees are still misaligned... very disappointed (

        • Vic_Mcc 2 週間, 3 日 前  | 

          I'm facing the same problem :/

  • Olivier_f 2 ヶ月, 2 週間 前  | 

    On the video 7 | Material Setup, starting from 2 minutes 29 seconds, you talk about overwriting the cache at 2 minutes 30 seconds, saying "if you remember." However, I don't see which part of the tutorial you are referring to at that moment. As a result, I'm currently stuck, and I don't understand where I missed the part that imports the base heightfield into Unreal.
    Thanks for your help.

    • George_Hulm 2 ヶ月, 2 週間 前  | 

      Why, right at the start! Check out part 2: pipeline

  • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

    Hey, sorry I m back with another issue, the HF path tells me that the roll_across node is kinda empty (not full definition installed)
    But now I'm working inside the demo project package folder, did I miss something ?


    • Agence-premiers-degres 2 ヶ月, 2 週間 前  | 

      For now I've bypass the issue using convert hf + ray nodes

      • chemlancer 2 週間, 1 日 前  | 

        Did you get the reason and how to correct this? I am having similar issue

  • mac3designer 2 ヶ月, 2 週間 前  | 

    I will see the idmap lessons, by who is correct?

    material selection=0


    material selection=1

    because I found in the code in layers for id, and has numberkeys-1 and texture atlas layer return ever 6, but we have 7 now, but never change the number of layers in the field, and I my case, don't works grass inside of moss layer, I try any combinations of bit and material select, remove everything, but don't works.

  • leKryuk 2 ヶ月, 1 週間 前  | 


    I've identified an issue with the PE_Load_Landscape node related to reloading or updating "Pegasus_Landscape_Layer_2_Manual_Edits.bgeo.sc" files. My Houdini version is 20.0.547.

    Here's how it currently functions:

    1. In the parameter interface of the PE_Load_Landscape node, you set the Directory to your landscape files.
    2. You load files from this directory.

    The problem arises when updating existing files with new information. For instance, if you modify your procedural details on the landscape, overwriting the "Pegasus_Landscape_Layer_2_Manual_Edits.bgeo.sc" file, pressing the "Reload" / "Reload Geometry" button in Houdini or Unreal doesn't result in any changes.

    The root cause of this issue lies in the PE_Load_Landscape node, which employs three "File" nodes for loading three landscape files: Source, Manual Edits, and Procedural Details. The problem is that the "Reload" / "Reload Geometry" buttons only work for "file3," which is responsible for reloading the Source landscape file.

    To resolve this, we need to update the functionality of the PE_Load_Landscape node to ensure that the "Reload" / "Reload Geometry" buttons also work for the "file2" and "file4" nodes, responsible for Manual Edits and Procedural Details, respectively. This will ensure that changes made to these files are reflected when reloading in Houdini or Unreal.

    Let me know if you have any questions or if further clarification is needed.

  • SSFranch 2 ヶ月, 1 週間 前  | 


    HD settings for Houdini have appeared in this chapter. Disabling layers and colors. There were no such settings in the video how to create them

  • SSFranch 2 ヶ月, 1 週間 前  | 

    it is also unclear how to make a PE_heightfild_material node

  • tindoynilo 2 ヶ月, 1 週間 前  | 

    PE_heightfield_paths: Post processing doesn't seem to work,

  • 83X5T 2 ヶ月, 1 週間 前  | 

    I know this is a newby question, but how do you set up your vieport lighting like that. Mine looks dull. Thx

    • asbird2009 2 ヶ月, 1 週間 前  | 

      I don't know if this will help what you're referring to, but I was having bad visuals as well. Mine seemed very dark. I saw in one of the videos he went out of the geometry node and had some light nodes labeled sunlight. I couldn't get that to work.
      I ended up changing the lights settings by pressing 'D' and going to the Lights tab. In the Headlight section I increased the Intensity and it seemed to brighten everything up.

      Hope this helps.

      • 83X5T 2 ヶ月, 1 週間 前  | 

        Thank you! I didn't know he had lights set up.
        Will try that, because with D and Light I don't see much of an improvement.

  • sevenfa7 2 ヶ月, 1 週間 前  | 

    I've been trying to fix the geometry displaying on low vertexes. What's the problem? https://prnt.sc/NhfvPXtVg9pH

    Tried to:

    -- Build everything
    -- Disable Nanite
    -- Play with lightning

  • frostwizard4 2 ヶ月, 1 週間 前  | 

    In Lesson 6, the Layers to ID node is broken. It fails on line 8 of the menu parameter node definition for "id_layer", `dict = geo.dictAttribValue("id")`. It cannot find the parameter called "id" even though that parameter exists.

    • frostwizard4 2 ヶ月, 1 週間 前  | 

      Interestingly, this error disappears if I reimport the package. The new problem is it appears black on the landscape instead of showing the mask. The project files do the same.

      • astarte_industries 1 ヶ月, 2 週間 前  | 

        I am having the same issue both with my own copy of the HDAs and the original HDAs. I'm on version 20.0.506

      • TravisFX 1 ヶ月 前  | 

        Yep, same issue. Did anyone figure this out?

  • unreal-universe 2 ヶ月 前  | 

    MI_Landscape_Instance is empty, no parameters.

    • unreal-universe 2 ヶ月 前  | 

      just recreate, it's solved.

      • unreal-universe 2 ヶ月 前  | 

        Well, I think M_Pegasus_Landscape_Master material is not complete, so MI_Landscape_Instance still lack some parameters.

        • unreal-universe 1 ヶ月, 3 週間 前  | 

          Finally, the unreal assets need 'Migrate' instead of Ctrl+C, Ctrl+v...

  • Daniel_Bobrowski 2 ヶ月 前  | 

    Hi, I've completed part 7 and have two questions:

    Is it possible to use ID masks as a base for blend layers in Unreal Landscape? I would like the option to paint my landscape in Unreal on top of a predefined bake from Houdini.

    There is no information about how the manual landscape was created. I assume it is just a flat heightfield? This becomes relevant when I try to flatten my landscape inside Unreal. I find it challenging because the procedural and source layers still contribute to hills. Have I missed something? Should it work this way?

  • Josh Short 1 ヶ月, 2 週間 前  | 

    Did you have any luck packaging the Unreal project with the Nanite landscape? It doesn't work for me - no tessellation and lots of weird scaling triangles with gaps. Working fine in the editor!

  • SarahB 1 ヶ月, 2 週間 前  | 

    if I want to import my file cache files of my terrain into UE like described in section 2 (pipeline overview) it does not find my bgeo.sc file. They show up in my file explorer but not if I search in the >load landscape node inside of neither unreal nor Houdini.

    Does that mean I can only use the Pegasus file cache terrain and not the one I created throughout Ian's previous tutorial (my landscape HDA file cache) or am I missing something? (loading my asset into UE just like Ian did in his last section of landscape creation worked fine)

    I have bypassed this problem with importing my own file cache files inside of Houdini and went on until section 7, but it seems like it is rather important to use >load landscape in terms of communication between UE and Houdini.

    Would love to hear your suggestions, thank you!!

  • Asgyria 1 ヶ月, 2 週間 前  | 

    After I check Nanite landscape (last lesson) - the landscape material stops to work. It visualizes just one layer (for some reason -3rd, the sand) over the whole landscape.
    After unchecking Nanite - everything becomes good.
    I've done everything shown in the video - changer .ini and build data. Any ideas on how to fix it?

  • jaroslav.holy 1 ヶ月, 2 週間 前  | 

    Great tutorial. I've learned a lot.
    You decision was to not feature rivers and water bodies. That's a shame because rivers and lakes make such a big difference in landscape and the erosion tool does amazing job simulating those rivers and lakes. I am trying to figure out how to export those rivers to game engine but I can't figure it out. Could you point me in the right direction please.

    I managed to carve river bed using water mask and some scripting and now I am trying to convert original water layer to mesh but it's difficult to smooth it out and fit it into the riverbed heightfield. I appreciate any advice.

  • miditato_r 1 ヶ月, 1 週間 前  | 

    Thank you very much for the lessons, it was very interesting.
    I got to the material in Unreal and that's it. Breaking down into ID layers doesn't work for me and the material is too complex to understand what's going on (

  • TravisFX 1 ヶ月 前  | 

    I'm going through the Landscape Workflow 6 | IDmap Workflow video, and I'm getting this error with the "PE_heightield_idmap_layers" node.

    Traceback (most recent call last):
    File "Sop/PE_heightield_idmap_layers, PythonModule", line 1, in <module>
    KeyError: 'node'

    Any ideas?

  • kirstrazhnikov 1 ヶ月 前  | 

    Hi friends!
    Huge Thank you for the amazing tutorials! Here is an endless knowledge base on how to work with landscapes

    One issue I found in project files: PE_rolldown_heightfeild is Embedded

    Thank you!

    • chemlancer 2 週間, 1 日 前  | 

      Did you get the reason and how to correct this? I am having similar issue.

  • Chencc 3 週間 前  | 

    Hello, On the video 7 | Material Setup, the steps in 13 minutes, I can't Reload the unreal engine HDA new Layer3 as a result, the log is as follows

    • Chencc 3 週間 前  | 

      Cook Results:
      Cook succeeded.

      Cook State:
      Ready - Evaluating python (press Esc to cancel)

      Node Errors, Warnings, and Messages

      Error: Unable to read file "\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc".
      GeometryIO[hjson]: Unable to open file '\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc'
      GeometryIO[hclassic]: Unable to open file '\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc'

      Warning: Invalid attribute specification: "no match for * ^P".
      Invalid attribute specification: "no match for * ^name".

      Warning: Invalid attribute specification: "no match for * ^P".
      Invalid attribute specification: "no match for * ^name".

    • Chencc 3 週間 前  | 

      Cook Results:
      Cook succeeded.

      Cook State:

      Node Errors, Warnings, and Messages

      Warning: Unable to read file "/SourceContent/Pegasus/Landscape/Landscape Heightfield Layers/Pegasus_Landscape_Layer_3_Procedural_Detail.bgeo.sc".
      GeometryIO[hjson]: Unable to open file '/SourceContent/Pegasus/Landscape/Landscape Heightfield Layers/Pegasus_Landscape_Layer_3_Procedural_Detail.bgeo.sc'
      GeometryIO[hclassic]: Unable to open file '/SourceContent/Pegasus/Landscape/Landscape Heightfield Layers/Pegasus_Landscape_Layer_3_Procedural_Detail.bgeo.sc'

      Error: Unable to read file "\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc".
      GeometryIO[hjson]: Unable to open file '\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc'
      GeometryIO[hclassic]: Unable to open file '\SourceContent\Pegasus\Landscape\Metadata$OS.bgeo.sc'

      Warning: Invalid attribute specification: "no match for * ^P".
      Invalid attribute specification: "no match for * ^name".

  • rcyl4 2 週間, 2 日 前  | 

    Can the houdini version using the project file be 19.605? I can't load the project correctly on this version. The package has been reset

    • rcyl4 3 日, 16 時間 前  | 

      The package file content provided by the project file is different from that referenced in the project, resolved

  • KosITGaming 1 週間 前  | 

    Hello, i believe PE_Rolldown_Heightfield is missing in latest files.

  • andylisk 5 日, 17 時間 前  | 

    Hi, I've been using the pe_advect_heightfield_points in my environment and found that when rolling the points towards the assigned mask the points start to float. After doing some light digging into the subnetwork of the node I noticed the 2 point wrangle notes that does the advecting(attribwrangle1 + attribwrangle3) only modifies @P.x and @P.z, there is no Y component mentioned anywhere in the code. I'm highly suspecting that is the cause of the floating. Just thought I'd let you know.

    For now I have linked a ray node immediately after the pe_advect_heightfield_points with my working heightfield assigned to the second input and that sticks the points back to the ground.

  • wwjdrapper 1 日, 16 時間 前  | 

    I have the same error with the "PE Rolldown Heightfield" node in the "PE_heightfield_paths" node as others.
    I checked the contents and it is empty.
    There is no "PE Rolldown Heightfield" HDA in the downloaded otl folder.

Please log in to leave a comment.