Hey,
It is time to start a new project
. 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
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.
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.
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.
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!
But for this project I will try to do as much as I can with nodes. And it is quite interesting
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
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.
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
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
@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 . 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.
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
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
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.
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!
have a look https://emicomstudio.com/job/technical-artist/
@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.
https://www.artstation.com/siver/store/39zW/house-generator-tutorial-file