Home Featured Artwork

[WIP][UE4] House generation with Houdini

greentooth
Offline / Send Message
siver greentooth
Hey,

It is time to start a new project :smile: . For a while I'm interested in procedural house generation and with this project going to make one.
I already have the base structure of the house generator and some base modular models.
If you are also interested in make a house generator I can really recommend following this video.

Feel free to give feedback or your thoughts on it.

Gif of the tool in action.


screenshot of Houdini


With the plugin the generator can be opened in UE4.


All the modular models at the moment. The idea is that you can change the models in game engine so the generator can be used in different projects.

Replies

  • chriszuko
    Offline / Send Message
    chriszuko polycounter lvl 12
    Nice setup! What is the cost of the final building? Is it all baked into a mesh? Is it instanced? 
  • siver
    Offline / Send Message
    siver greentooth
    The house will be made out of meshes that are instanced. The last photo shows the modular kit that I'm using so far. So in UE4 you just drag and drop the models in the Houdini asset and it makes the house.
    The idea is that by creating variations on those models the house will look differently. The tool itself is mainly placing the modular models on the right place.
  • chriszuko
    Offline / Send Message
    chriszuko polycounter lvl 12
    Very neat, good luck with the instanced part there are quite a few challenges with that I'm interested to see how you solve. :)
  • MeshModeler
    Offline / Send Message
    MeshModeler polycounter lvl 11
    Would love a tutorial of this if possible :) 
  • siver
    Offline / Send Message
    siver greentooth
    Thanks guys! :)  When the project is done, I will look in to a full breakdown of it ( maybe a video).

    Made some progress on the House. Fixed some bugs and added a few more features.
    Also tested out the plugin more for UE4. There was about 4 seconds to generate the houses in UE4. Out of curiosity I tried the house generator in Unity and it is faster (see gif). 
    Recently I'm playing Spiderman and it is quite inspiring. The parallax shader looks interesting to do, for faking the inside.

    The tool in Unity.


    shot of House in Unity


    Breakdown of the structure.



  • KristinMays
    Offline / Send Message
    KristinMays polycounter lvl 4
    This is amazing! I would also love to see a breakdown or tutorial on how this can be done! Fantastic work!!
  • siver
    Offline / Send Message
    siver greentooth
    Back with another update. This week I have added more features and bug fixes.
    Features added are
    -Wall width: Before the modular walls where size 1x1 and now the width can be changed.
    -Height variation: This is adding extra floors on top of the building but it is adding it on a few areas.
    -Floor separation: There is the option to separate floors and put different models in that layer. So you can select floor 1 and add models for a shop.

    Gif of the features


    Some more features I'm going to add are (emergency) stairs, Chimney and adding something to place random props.
    There are also some issues I been having. The issue is that in game engine the pivot point of the house is random and too far of.
  • pming
    Offline / Send Message
    pming polycounter lvl 6
    Nice work! 
    If anyone wants to spend some...ok, a 'fair amount'... of money to learn how to do all this sort of thing in Houdini, there is a REALLY good tutorial series on Gumroad: https://gumroad.com/l/qaEZ  Expensive, but she really goes in-depth to the hows and whys and how/what she had to think about to tackle the problem.

    Nice to see someone sharing their learning info freely! :) Keep it up!
  • siver
    Offline / Send Message
    siver greentooth
    @pming Thanks! She is doing some very cool work and I have seen it before. I actually have the first volume. It is good but it is more code then what I expected. Can definitely recommend it.
    But for this project I will try to do as much as I can with nodes. And it is quite interesting :smile:
  • chriszuko
    Offline / Send Message
    chriszuko polycounter lvl 12
    Keep going! This stuff looks fun!
  • siver
    Offline / Send Message
    siver greentooth
    New update :D , I have added the option to add a stairs to the building. Then placed a door on the balcony so people can walk there.
    Further I did some clean up and reworked a part of the graph and it is less nodes now.

    Gif stairs, wall models are replaced by window model if the stairs is placed there.


    Door automatically placed on top

  • Doxturtle
    Offline / Send Message
    Doxturtle polycounter lvl 8
    Great work, this seems really useful! :)
  • Yoji
    Offline / Send Message
    Yoji polycounter lvl 9
    This looks great. Can't wait to see more versions on the architectural elements!
  • Mark Dygert
  • Emomilol1213
    Offline / Send Message
    Emomilol1213 polycounter lvl 6
  • siver
    Offline / Send Message
    siver greentooth
    Thanks guys! Feel free to share thoughts or ideas.
    This update I have made a few changes.
    Explored a bit more the instancing. Made the switch from the Instance node to the object merge node with instance enabled.
    They both have pros and cons. (These pros and cons are what I have experienced and may be different for you, and let me know if I missed something)
    -Instance Node
      pros
      > can bring structure to the network
      > keeps your prefabs in Unity!
      
     cons
     >when used in the game engine, if the tool is not using the roof models the reference to those roof models are broken and has to be re   assigned if roof models are used.
     > can be a little bit more work to set up

    -Object merge 
     pros
     >keeps the reference when assigning models in the game engine.
     >more structure in the UI

     cons
     >breaks the prefab in Unity
     >having some issue in UE4 where models are sometimes switched. Will later tell more about it when I have found more about it.


    Then I made the switch back to Unreal engine 4. I was using Unity with the HDRP, the Houdini Engine feels a bit faster on Unity. But I kept breaking materials with Unity and with UE4 I can use the shader graph and have the parallax in the windows.

    Also made the models better and put a base materials on it. Still need to make more modular models.

    Here is a picture of a few variations but will need more models to show the tool better.


    a quick walk a round a house (you can also see the fake interior material)


    Interesting PDF for procedural buildings: http://research.michael-schwarz.com/publ/files/procmodcourse-siga15.pdf 
    Special thanks to https://twitter.com/Colonthreee for the PDF.
  • siver
    Offline / Send Message
    siver greentooth
    Here is a new update. Found some time to work on it.
    I have made and added smaller props for the house. It is all procedural placed and still needs a few tweaks.

    The gif is form the viewport of Houdini. Using the current frame and putting this is the parameters of the tool. This creates makes that every frame a different variation of a house. In the gif there are 180 frame, so that means 180 variations.


    Example for using the frames in the seed

  • siver
    Offline / Send Message
    siver greentooth
    Update on the project. 
    I did some testing with the tool in Unreal Engine 4. All the small props that are added, are working in game engine. But some of them need to be tweaked to have a better position.
    Further I'm updating the models and adding quickly a texture on it.

    Next is updating all the models and give them a texture. After that I will start polishing the tool.

    gif on the tool in UE4 (Just realized that I forgot to enable instancing on the new small props, as you can see updating the house takes a few seconds)


    some quick houses in UE4


  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Awesome stuff.
  • Lechooga
    Offline / Send Message
    Lechooga null
    Wow, wonderfully complex results. How much time did you put into this?
  • MeshModeler
    Offline / Send Message
    MeshModeler polycounter lvl 11
    hope you're able to make a tutorial :)
  • siver
    Offline / Send Message
    siver greentooth
    @cptSwing Thanks man!
    @Lechooga ,Glad to see you liked it :) This project is made in my free time and each week I think I spend an average of 17 hours on it. So I'm 9 weeks working on this, so in total now around 153 hours. (That's nice to know)
    @MeshModeler , I haven't forgot about it at all :smiley: . Have the idea to simplify the tool a bit so, the video is less then 30min and people will get the general idea of how it is made. I think next week I'll start preparing for it.
  • Lurcisia
    Offline / Send Message
    Lurcisia greentooth
    Incredible work, have been following this thread for a bit. I am most definitely looking forward to a tutorial on this. Would be extremely helpful for a project I plan on starting in a few months! Once again, great work.
  • Sage
    Offline / Send Message
    Sage polycounter lvl 19
    awesome work. it be nreat if you made a tutorial on how to set it up in houdini
  • Sajeet
    Offline / Send Message
    Sajeet polycounter lvl 7
    oooooh! Really nice :) If you feel up for it a tutorial would be awesome
  • siver
    Offline / Send Message
    siver greentooth
    Thank you all guys! :smile: 
    Here is an update on the project: 
    I  quickly updated all models and textured them, this took most of my time.
    After that I fixed some smaller bugs and miss placements of models.
    Further did some testing in UE4 and made a small city under 1hour.  Also update time of the tool is around 4 sec.

    For the Tutorial I have been starting making a simplified version in Houdini. (will share more about it in the next post)


    Unleashing the tool in UE4 :D


    A quick city made under 1 hour. (trees are not mine) (also not that happy with the lighting, will rework later)


    While making the models in Houdini I found this quiet interesting. This was the base for the fire hydrant. By using a ray node you can push shape out of another shape. Hope you find it interesting :)

  • Lurcisia
    Offline / Send Message
    Lurcisia greentooth
    Very interesting, thank you for sharing! Look forward to seeing more!
  • siver
    Offline / Send Message
    siver greentooth
    New Update :smiley:
    In UE4 I did more testing and made a small scene and figured out how to bake light on it. Bake is in low resolution and some models have bad uv for lightmap.
    Feel free to give feedback.


    Further made the simplified version for the tutorial and start polishing that system. Also started using more VEX code in the tool. (don't worry if you are not good with coding it is very basic and it is only a few lines of code in tutorial)
    Here is the full tool that I will show in a tutorial. 

  • jStins
    Offline / Send Message
    jStins interpolator
    Looking great and really looking forward to the tutorial. Cheers!
  • THEONLYraider
    Offline / Send Message
    THEONLYraider polycounter lvl 6
    Can't wait for the tutorial!  :)
  • siver
    Offline / Send Message
    siver greentooth
    The Tutorial is here! :smile:
    On artstation

    https://www.youtube.com/watch?v=lX2avHp-zY0  

    I hope you enjoy the video and learned something new out of it.
    If you have any feedback or thoughts on it let me know.

    IMPORTANT NEWS

    I made a difficult decision to put the project here on hold. 
    A reason for it is that I want to focus more on VEX (coding Houdini). I recently received some feedback from the industry and they mention how important it is to have a good knowledge about VEX. Currently my VEX knowledge is very basic and I want to do something about it.
    So for the next weeks I will be focusing on VEX and looking in to it in how it can improve my workflow and tools (like this house generator).
    In the future I hope I can improve and optimize this house generator or create some other crazy tools with Houdini.

    Thanks to all people for commenting and following on the process of the house generator!
    You guys are all amazing people!
  • Sajeet
    Offline / Send Message
    Sajeet polycounter lvl 7
    Thank you very much for the tut m8! I will disect it :)
  • Lurcisia
    Offline / Send Message
    Lurcisia greentooth
    Thank you for the tut!!
  • THEONLYraider
    Offline / Send Message
    THEONLYraider polycounter lvl 6
    Yesss!! Thank you! :)
  • griffitii
    Offline / Send Message
    griffitii greentooth
    This might be the thread that makes me learn Houdini! Thanks for sharing your progress!
  • Emicom_Recruitment
    @siver Thats some great work you got there. If you are looking for a job, we have an opening on our Technical Artist position. 
    have a look   https://emicomstudio.com/job/technical-artist/
  • Ryno
    Offline / Send Message
    Ryno polycounter lvl 18
    Super slick.  Was just visiting a studio that was doing something very similar with Houdini.  This can really make things easier on the artists!
  • wojtekfedunik
    Offline / Send Message
    wojtekfedunik triangle
    Wow that's great
  • BeatMe
    Hey dude, great work on that project, some techniques helped me with my own generator. I have a question tho. Do you setup up the textures for every modular part or is there one texture for the whole wall system for example?
  • siver
    Offline / Send Message
    siver greentooth
    Thanks everyone, didn't expect that so many of you would liked this! :smiley:

    @BeatMe Thanks! All the models are modular and for the wall I have 1 tiling brick texture. With 2 Material ID's I apply a unique texture and a tilling texture. The unique texture will include multiple windows and doors. Unique texturing done in Substance painter and brick made in Designer.

    Small side note, all models were made in about a week so I rushed it a bit with smart materials. There might be better ways but I wanted fast results. Also by using the material ID's you can easily switch out the brick materials and scale them for more or less bricks.
  • BeatMe
    Hey another question :D How do you get the shape for the height variations? Cant get it to work on my system
  • siver
    Offline / Send Message
    siver greentooth
    Hey @BeatMe , the simplest way to get a shape for height variation is with the group by range. From the base floor shape you place a group by range and you make a new floor with that.

  • siver
    Offline / Send Message
    siver greentooth
    The file of the tutorial on the house generator is available on my Artstation for anyone who wants to get a closer look or wants a base setup for house generation.
    https://www.artstation.com/siver/store/39zW/house-generator-tutorial-file


Sign In or Register to comment.