#Houdini

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ส.ค. 2024
  • How to place #UE4 foliage on an existing landscape using Houdini.
    CORRECTIONS
    At [19:30] both Attribute Randomize nodes should be placed after the scatter node in order to provide per point variation.
    CONTENT
    [0:11] Overview
    [1:02] Scatter to #UE4 Landscape
    [11:47] Scatter Packed Primitives
    [13:25] Bake foliage
    [17:00] Attributes to Control Scatter
    REFERENCES
    Houdini Engine for Unreal
    www.sidefx.com/docs/unreal/
    Houdini Packed Primitives:
    www.sidefx.com/docs/houdini/m...
    Houdini Geometry Attributes:
    www.sidefx.com/docs/houdini/m...
    Houdini Copy to Points Node:
    www.sidefx.com/docs/houdini/n...
    Houdini Scatter Node:
    www.sidefx.com/docs/houdini/n...
    UE4 Instanced Mesh Example Project
    github.com/drichardson/UE4Exa...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 45

  • @Moctop
    @Moctop 4 ปีที่แล้ว +3

    You don't need to create the attribute randomize before the scatter. In fact you are not really getting per point variation if you do so as the scatter just inherits the less dense attribute from the grid.
    It does make for some nice patterning though...so a good idea is to put an attrib-rand before the scatter for general pattern variation, and one after set to multiply for per point variation.

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว +1

      You're totally right. I meant to place it after the scatter and just didn't pay attention. I'll make a correction in the video description.

  • @drunkenant7319
    @drunkenant7319 4 ปีที่แล้ว +1

    easy to understand and straight to the point! thanks for an awesome tutorial

  • @orangebananaaaa
    @orangebananaaaa 4 ปีที่แล้ว +1

    Wow, thanks for the awesome tutorial! This is exactly what I was looking for.

  • @johnbinary5989
    @johnbinary5989 4 ปีที่แล้ว +4

    Really really informative and helpful! Hope you can do another tutorial scattering real foliage assets on a real game map, in which we can learn where to scatter the foliage. I mean, artistically, where the foliage are scattered (eg: more on the mountains and less on the plateau) to make the map more realistic.

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว

      Oh man, I'm the wrong guy to ask about anything artistic ;)
      As an aside, I've actually found the foliage tool in UE4 to be better suited for my own project, so I'm using that now instead.

  • @guilhermerambelli7089
    @guilhermerambelli7089 3 ปีที่แล้ว +1

    That's great, man!
    Thanks for sharing!

  • @user-qs1fi4ej8d
    @user-qs1fi4ej8d 5 ปีที่แล้ว +1

    Your teaching is easy to understand and very good, I like it very much and have subscribed.

    • @doug_richardson
      @doug_richardson  5 ปีที่แล้ว

      You're welcome. Thanks for the kind words.

  • @mdsanima
    @mdsanima 5 ปีที่แล้ว +1

    very nice stuff here! Now I following you and like this. Keep going!

  • @leonming6243
    @leonming6243 4 ปีที่แล้ว +1

    Thanks a lot.

  • @dj_multiple_one
    @dj_multiple_one 3 หลายเดือนก่อน

    do you have houdini engine in UE?

  • @sams_3d_stuff
    @sams_3d_stuff 3 ปีที่แล้ว +1

    Thank you

  • @declanhart7869
    @declanhart7869 4 ปีที่แล้ว +1

    Hey Doug, Great tutorial, thanks for putting this together.
    I am having some issues when creating the input node. I seem to be able to add it into Houdini all well and good, as shown in the tutorial. But when I try to rebuild/ re-import the HDA in UE4, it will not update and include a manual input. What could be causing this do you think? All is well until this step. Any help would be greatly appreciated! Thanks

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว

      Did you make sure you saved the HDA, and not the Houdini project file (HIP), after you added the input? It's kind of confusing because you are generally editing an HDA inside a HIP.

  • @rman197
    @rman197 4 ปีที่แล้ว +1

    Big thanks for the interesting topic. I'm testing Houdini - UE4 pipeline and I got into trouble from the start. I built simple scatter .hda based on heightfield scatter. It works but with some problems - geometry instances (picked inside UE) lost their materials. Second - looks like LODs dont work at all (all instances have LODs) - scatter uses only lod0 and perfomance is too low.

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว +1

      1. "Geometry Instances lost materials." Are you saying that you imported an HDA into UE4, set the materials, and then lost the materials when you tried to reimport the asset? If so, you may want to take a look at the unreal_material attribute (www.sidefx.com/docs/unreal/_attributes.html) that you can set in Houdini to choose which UE4 material to apply. I have an example of this in my Houdini Heightfield video here (th-cam.com/video/iUGRAbTHynE/w-d-xo.html). I *think* this works with geometry instances but have not tried. Let me know.
      2. "LODs don't work at all." I'd need more information to know for sure, but my guess is that what you are seeing in UE4 is simply how instancing in UE4 works. If you are using the Instanced Static Mesh Component, then the same LOD is used for every instance displayed in the screen. This is how it's able to draw all the instances in a single draw call. If you need LODs you should look at the Hierarchical Instanced Static Mesh Component. There is a nice overview of it here th-cam.com/video/oMIbV2rQO4k/w-d-xo.html.

  • @felipeseixascoelho8910
    @felipeseixascoelho8910 3 ปีที่แล้ว +1

    Nice Tut! Will help me a lot!
    Do you know if there´s some way to mask where the instances will appear? Like if I want the cones just in the regular ground and not in the mountains?
    Can I import a HF mask from Houdini? Or even draw a new one on UE4?

    • @doug_richardson
      @doug_richardson  3 ปีที่แล้ว

      You can definitely scatter based on a texture (doesn't have to be a heightfield) in Houdini. In the Scatter node, try using the "In Texture Space" for the "Generate" parameter. www.sidefx.com/docs/houdini/nodes/sop/scatter.html. As for using a mask/HF drawn in UE4, you can use the Landscape Input to send landscape data to Houdini (as a heightfield or mesh), like I do in the video. I believe (but have not tried myself) you can also send landscape material info into Houdini, which you could then use as a mask when placing the cones. www.sidefx.com/docs/unreal/_inputs.html#InputsLandscape
      Like I said, I haven't tried this myself, but it looks like all the data is there.

    • @felipeseixascoelho8910
      @felipeseixascoelho8910 3 ปีที่แล้ว +1

      @@doug_richardson Awesome Doug! Thank you for your kind and quick response! I'll try over here!

  • @jiaqibai1652
    @jiaqibai1652 4 ปีที่แล้ว +1

    Very uesful!! And I want to know how to scatter in a specific layer of landscape(I have created a layer in my hda and import it into UE4)THANKS!!

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว

      Scattering via layers (i.e. painting) is quite different. The Houdini side of that is pretty easy, it's really just creating a new mask layer which will show up in UE4 when you import the heightfield. On the UE4 side, you have to setup your landscape layer material to place objects (i.e grass) where you've painted the layer. It isn't difficult, but there are a few moving parts.
      For now, you can learn about the Houdini part here: th-cam.com/video/iUGRAbTHynE/w-d-xo.html
      For the UE4 part, you need to setup a material that uses the Grass node, which you can read about here: docs.unrealengine.com/en-US/Engine/OpenWorldTools/Grass/QuickStart/3/index.html
      I also have an example of this in my Landscape example project. See the GrassLandscape and WorldMachineLandscape levels: github.com/drichardson/UE4Examples/tree/master/Landscape

  • @KevRyanCG
    @KevRyanCG 3 ปีที่แล้ว +1

    Hey Doug, I'm a Houdini artist having a curious look at Unreal 5 at the moment and assessing if it'd work for a short project.
    I just wanted to know what the benefit is of this scatter system over the Procedural Foliage Spawner, or was that only added in a later version of Unreal? Or is this more so a means to comfotably do the procedural scattering with Houdini and Houdini Engine and then have those scattered primitives converted into the foliage assets.
    Either way I'm eager to try it all, also I'm following along with this tutorial regardless since there's plenty of info here about HDAs in general. I more or less have my project made in Houdini and I wish to port it to unreal to render it.

    • @doug_richardson
      @doug_richardson  3 ปีที่แล้ว

      The procedural foliage spawner is not new... I believe it has been around since the UE4 Open World Demo from GDC 2015.
      If the procedural foliage system is sufficient for you, it's probably easier and more efficient time wise to do everything in Unreal instead of setting up Houdini Engine and an HDA.
      If, however, you want more customized logic about how things are placed, then you may want to do it in Houdini since you have access to all their nodes and are not just limited to the scattering parameters the foliage spawner uses.
      Also, if you already have a scene in Houdini and you want to be able to adjust it and automatically re-scatter foliage, keeping it Houdini might make more sense. I don't think the procedural foliage spawner automatically updates (but I could be wrong, I haven't used it in a long time).

    • @KevRyanCG
      @KevRyanCG 3 ปีที่แล้ว +1

      This worked out great, had a bit of trouble getting the Houdini Engine for UE5 but they have a plugin up on Github.
      Some things have changed and I can't find the landscape in 5, but I got the asset working regardless so thank you!

  • @Kurosaki8552
    @Kurosaki8552 4 ปีที่แล้ว +1

    Great video. Thanks for uploading. Thought my GPU died at 16:23 o_0

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว +1

      LOL, editing video is hard. You're welcome

    • @Kurosaki8552
      @Kurosaki8552 4 ปีที่แล้ว

      Doug Richardson ugh tell me about it. I make 3hr vids per project and the editing is insane.

  • @stepanshnder1850
    @stepanshnder1850 7 หลายเดือนก่อน

    But how can I make it so that when importing into ue4 I can then separately select and delete a certain object, for example a tree?? This is a big problem, it can stand where a wooden house should stand, for example

    • @kiarakoval7069
      @kiarakoval7069 5 หลายเดือนก่อน

      If you bake to foliage in the foliage tool you can select individual instances and also paint areas where it will not spawn

  • @user-po3eq5ju1y
    @user-po3eq5ju1y 4 ปีที่แล้ว +1

    I really enjoyed the video.
    I want to ask you a question, so I'm leaving a message.
    Is there any way to automatically recognize the z-axis of the Landscape with an area designated as an alpha-tex?

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว +1

      Yes. Use the Heightfield File geometry node (www.sidefx.com/docs/houdini/nodes/sop/heightfield_file.html). You can use the input file as either heightfield data or a mask.

    • @user-po3eq5ju1y
      @user-po3eq5ju1y 4 ปีที่แล้ว

      @@doug_richardson Thank you.
      But I don't think I realize it yet.
      Can you just show me the node structure? Help me!

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว +1

      @@user-po3eq5ju1y To make sure I understand your question, will you show me what you have and what you are trying to achieve?

    • @user-po3eq5ju1y
      @user-po3eq5ju1y 4 ปีที่แล้ว

      @@doug_richardson Thank you very much for your interest
      I already know from Houdini that I've used a scatter node on the terrain to move the grass that I've placed on the terrain and on it into an ue4 at one
      But this is much easier because it automatically recognizes the z-axis rather than the traditional one
      However, from the moment the foliage is connected to the landscape in the ue4, I can do it in the wide area, but I can't find a way to control the area, so I asked

    • @doug_richardson
      @doug_richardson  4 ปีที่แล้ว

      @@user-po3eq5ju1y Sorry, but I'm still having trouble understanding your question. Could you post a video of what you are trying to do so I could see what the problem is?

  • @stepanshnder1850
    @stepanshnder1850 7 หลายเดือนก่อน

    In unreal, using the Houdini engine, they are considered as instance objects??? In my opinion, even if they were all unique, it would be terrible for productivity

    • @doug_richardson
      @doug_richardson  7 หลายเดือนก่อน

      If it's a static mesh like this then yes. From the unreal docs: docs.unrealengine.com/4.27/en-US/BuildingWorlds/Foliage/
      > Static Meshes placed with Foliage Edit Mode are automatically grouped together into batches that are rendered using hardware instancing where many instances can be rendered with only a single draw call, while Actor Foliage comes at the same rendering cost as placing normal Actors into a scene.

    • @stepanshnder1850
      @stepanshnder1850 7 หลายเดือนก่อน

      @@doug_richardson You explained exactly what I needed so precisely and clearly, thank you. But how can I make it so that when importing into ue4 I can then separately select and delete a certain object, for example a tree?? This is a big problem, it can stand where a wooden house should stand, for example