Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LG house #31

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added HouseDemo_V2.mp4
Binary file not shown.
84 changes: 30 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,30 @@
# CIS 5660 HW03 Procedural Buildings

## Project Overview
In this homework you’ll gain more experience with tool creation and loops. The core of this homework will be following a Procedural House tutorial to create a multi-floor building generator. The tutorial is linked here:
https://www.youtube.com/watch?v=uIe97023sDk&t=979s&ab_channel=SimonHoudini

## Part 0: Setup and Planning
### SideFX Labs
The tutorial requires some nodes from SideFX Labs. If you haven’t already installed it, you can do so at the “Labs/Packages” tab of the Houdini Launcher.

### Project Planning
Before you begin on this project, skim through the tutorial and then pick a building type/style you’d like to emulate (either from photos or concept art). You should watch the entirety of the tutorial before committing to a style so you can pick something that is manageable and will be achievable using the techniques in the tutorial.
Of course, you’re welcome to adapt the setup to support additional logic/features to match your style, and particularly complex additions could merit extra credit :) On the other hand, if you’re newer to Houdini and want to stick relatively close to the tutorial, that’s okay too. Just be sure to think through what changes your chosen buildings will require (additional assets? different placement logic?) before diving into the project so you don’t bite off more than you can chew.
Make sure the include the reference you select in your README, and don’t forget to credit your sources.
Here are a few examples of possible building styles that could be a decent fit for inspiration:
CIS 5660 HW03 Procedural Building 1
https://www.behance.net/gallery/23773965/ISOBuilding-concept-art

https://polycount.com/discussio
low-poly-building
https://www.artstation.com/artwork/m6xYy

## Part 1: Box Stacking HDA
First, start by following the tutorial to make a simple HDA that stacks boxes on each other. Important note about HDA creation:
Creating an HDA saves a .hda file at the location you specify with the definition of your HDA. Be sure to submit this .hda file along with your .hip file so we can see the contents of your tool.
Alternatively, when you save your HDA you can choose the “Embedded in HIP File” option (rather than specifying the path), and the hda definition will be automatically embedded in your hip file (and no additional files will be needed with submission).

## Part 2: Add Details
Next, Simon adds details to the boxes to create floors by refiing the shape and adding details like windows, doors, and balconies.
Create your own models for windows, doors, and balconies based on your chosen style using Houdini. For each of the three types, create a Null “control” node with parameters that affect your window/door/balcony output (similar to how we made a control node for the jellyfish).
You should have parameters to drive the width and height of the doors, windows, and balconies, as well as at least one other parameter of your choosing on each one (ex: double vs single doors, windows with and without shutters, and type of balcony railing). Apart from that, you can go as simple or complex as you like!
Then follow Simon’s setup to integrate your windows, doors, and balconies into your buildings.
CIS 5660 HW03 Procedural Building 2

## Part 3: Pillars and Border
Continue following the tutorial to add pillars and borders to each floor.

## Part 4: Supports
Continue following the tutorial to add supports to floors that overhang other floors.
(Optional) Extra Credit
Throughout the tutorial, Simon mentions ways you could extend his project setup. Implement any of his suggestions:
More complex logic for creating supports (handle different length supports differently) Add more parameters to the user interface (for example, x and z offset options) UV and shade your models
Add a “manual node” where users can control detail placement manually
Add additional types of feature models (like fire escapes or chimneys). Note that, depending on what you choose, you might need to add new logic to integrate them into your building (ex: chimneys go on top instead of being chained on the side, fire escapes should be on one side of the building and go all the way down). We’ll award more extra credit accordingly.
Add some flair to your scene by dressing together multiple buildings or additional procedural props or background elements
Render your scene

## Submission
Update your README with
A description of your project
A video of your building tool in action
Create a pull request to this repository
Submit your Houdini file to Canvas along with a link to your pull request
IMPORTANT NOTE: make sure your HDA is either embedded in the HIP file or included with your submission (see the instructions under “Part 1: Box Stacking HDA” for additional details).
# CIS 5660 HW03 Procedural Buildings : Lewis Ghrist

# Images
![City1](SwampHouseRen_2.png)
![City2](SwampHouseRen_3.png)

Demo vid: [Vid](https://youtu.be/p0PV_0bE47U)

# Reference Images / Inspiration
![House1](REFimg1house.png)
![House2](REFimg2house.png)

Generated with Midjourney

![DC](Stilt_Village.webp)

Dead Cells

# Breakdown
Overall I wanted a slightly different type of generator than what the tutorial was going for. Rather than having a tool the lets you completely customize each part of a single building, I wanted a system that allowed for a more scallable tool for larger scale scattering. This lead me to have my tool take in a base grid which the house would be generated on. Additionally, my sytem is more random based with parameters to limit and control that random valus. This makes getting a large variety of completely unique building much easier. The images above were made by simply feeding in a series of planes from a voronoi fracture and changing the master seed for each prim.

## Base Structure
The base scattering of the box was done a bit differently from the intructed tutorial. Since the look I was going for was more chaotic than just base blocks stacked ontop of eachother, I had my inital blocks be placed randomly above an inputted plane. This allowed for both position and orientation of the blocks to randomized while also also allowing me to specify the number of bases I wanted. To generate the upper blocks, I scattered a point ontop of each block and randomized that point's normal and pscale to get a random orientation and size of the next floor I copy onto that point. These base blocks were then split up into a few different systems for the details and rooves.

## Wall Details
To get the corigated mattel panneling on the sides I started by dividing each side with a Lbas Lot Subdivision node. For each resulting prim, a series of lines was coppied to its surface with every other line beight slightly offset. These lines were then connected to for the mesh. Some optimization with point grouping and blasting was used to avoid using a boolean to cut holes for the windows and doors. An undelying structure of poly wired lines was added to give another level of detail in the places where the mettel pannels have gaps.




Binary file added REFimg1house.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added REFimg2house.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Stilt_Village.webp
Binary file not shown.
Binary file added SwampHouseRen_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added SwampHouseRen_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.