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.

TOTAL DURATION: 51m 6s

Learn how to export from Houdini to Unreal PCG. This workflow is ideal for technical artists and environment artists to create large worlds procedurally and collaboratively. Unreal PCG is a procedural system that can spawn points in space and instance meshes onto the points. Learn how to use Houdini for the procedural generation of point clouds then export them with attributes to PCG using either CSV or Alembic. From there you can spawn a list of meshes, override their materials, spawn blueprint actors and prefabs too.

COMMENTS

  • Joshkorah 11 months, 1 week ago  | 

    This is for beginners? It's like Chinese to me as I just installed Side FX

    • mohamads@sidefx.com 11 months, 1 week ago  | 

      It's not for beginners, once you are comfortable with managing attributes in Houdini and Unreal PCG, this tutorial will become useful for bridging both software.

  • art3mis 9 months, 2 weeks ago  | 

    Thanks for sharing Mohamad.
    When ever I place a HoudiniImportDataTable node in a new PCG graph I get a Missing Blueprint error. Any idea why?

    • mohamads@sidefx.com 9 months, 2 weeks ago  | 

      Make sure you have the correct unreal version of the SideFX Labs Plugin.

    • mohamads@sidefx.com 9 months, 2 weeks ago  | 

      Try searching for it in the template in the details panel of the blueprint if it says “missing Blueprint”.

  • AHYCKun 9 months, 1 week ago  | 

    When I open "Houdini_Import_DataTable", it always prompts "Blueprint could not be loaded because it derives from an invalid class. Check to makesure the parent class for this blueprint hasn't been removed! Do you want to continue (itcan crash the editor)?". What could be the reason for this?

    • AHYCKun 9 months, 1 week ago  | 

      Resolved

  • A-kun 7 months, 1 week ago  | 

    Hi I also got thie error message in 5.4.4. How can I fix this problem?
    Houdini_Import_DataTable", "Blueprint could not be loaded because it derives from an invalid class. Check to makesure the parent class for this blueprint hasn't been removed! Do you want to continue (itcan crash the editor)?"

    • mohamads@sidefx.com 7 months, 1 week ago  | 

      First make sure the PCG plugin is on and PCG Interop plugin in case you use the Alembic workflow.
      Also search for HoudiniImportDataTable in the template in the details panel of the blueprint if it says “missing Blueprint”.

  • Pakle 6 months, 2 weeks ago  | 

    How do you get the mesh_id into unreal? Also in the downloaded files the attribute is not in the csv file

    • mohamads@sidefx.com 6 months ago  | 

      The mesh_id is stored inside the CSV Mesh file under the pscale attribute, I know the names do not match but I had to store the relevant attributes using an existent csv file Epic provided.

      CSV Mesh = Row_Name, P[0], P[1], P[2], orient[0], orient[1], orient[2], scale[0], scale[1], scale[2], mesh_id
      CSV Data = Row_Name, material, material_1, material_2, material_3, material_4, material_5, custom, custom_1, custom_2, custom_3

      These are the values stored inside the 2 csv files, the custom ones can be used for whatever.

  • Aten 6 months ago  | 

    Unreal 5.4 doesn't show anything in the PCG debug, and if i drag it into the scene it just crashes

    • Aten 6 months ago  | 

      Ok I got the debug view working (forgot how PCG works) now to see why it crashes

      • mohamads@sidefx.com 6 months ago  | 

        Could you please share the reason for the crash, that would help others reading the comments debug too

  • mlj19990524 5 months, 3 weeks ago  | 

    where is PCG EXPORT?
    Warning
    This node is using an incomplete asset definition. It will not
    function properly until the asset library containing the full
    definition is installed.

    • mlj19990524 5 months, 3 weeks ago  | 

      sorry i found it

  • fluxmedia 5 months ago  | 

    Hi Mohamad , great tutorial! Just wondering. Is it possible to use this with animated point cloud?
    I have a case where I have these dangling curves with instanced beads/spheres on the points of these curves. They are simulated as vellum hair, so are just dangling and colliding. I've managed to export as alembics with packed primitives, but I wonder if this approach might be better in terms of efficiency or performance (PCG is a more native way of instancing from within UE5). Do you know if this is possible? If so, should I export the point cloud as alembic or something else? Thanks

    • mohamads@sidefx.com 5 months ago  | 

      I tested PCG current performance with a csv flipbook to animate meshes, it works but the PCG graph have to cook every frame, even if you turn off the collision on meshes, the frame rate drops significantly, I'll revisit this once PCG has matured. For the time being, you can use the Niagara ROP output from Houdini into Unreal Niagara for particles and if you have deforming geometry you can use Vertex Animation Textures, usually these two are combined together for animated crowds kinda effect.

  • stinzen 4 months, 1 week ago  | 

    Hi, thanks for a great tutorial. Is it possible to spawn dynamic meshes on the points instead to be able to edit them with geometry script later? Add a bevel for example. I tried the Dynamic Mesh spawner but it won't take the input from the match and set attributes. Thanks!

  • thomasfrank 1 week, 5 days ago  | 

    How can I dynamically update or stream PCG data exported from Houdini in Unreal Engine at runtime, for example, to support large open worlds with changing terrain or assets? https://retrobowl.college/online

    • mohamads@sidefx.com 1 week, 4 days ago  | 

      You would have to bake your results and randomly pick from them at runtime, you cannot export logic from Houdini to be used at runtime.
      For a random dungeon generator for example, you only need about 50 different baked layouts then mix and match them at runtime and scatter tertiary detail purely in PCG to get the sense of runtime procedural system without having to pay for the calculation cost for each generation.

Please log in to leave a comment.