top of page
Search
kpradley

VSFX 319-03 Project 03: Isometric Houses

Project Description

For this project, we were tasked with creating a full neighborhood of houses by duplicating a single house that we modeled, using Python. Additionally, these houses have to have controllable attributes by using an OSL shader node.


Reference Images

Since modeling is not my strong suit, I chose a simple white house to recreate. This house has a few trees in its yard, a chimney, a foundation, and steps. Since we had to choose a color theme as well, I went with a limited palette to start, that I found through Adobe.






Modeling the House

Before I started writing duplication code, I had to model the house. The most time consuming part of this step was creating the holes for the windows, and creating the windows themselves. I initially shaded the walls of the house to be the lighter shade of red, and the roof the darker shade. However, using advice from Professor Steele, I pushed the walls to a dark yellow shade. I created the trees by drawing a NURBS curve, revolving it, then converting it to polygons.



Writing the Duplication Code

Before converting my beginning shaders to OSL, I wrote the code to duplicate the house into a neighborhood. Luckily, we had written a similar bit of code in an earlier class, which duplicated a single cube into a grid. Transferring the logic behind this to the house was straightforward. I simply broke the house down into pieces, and duplicated each piece 1 unit size in a direction, based on the amount of rows and columns. The unit size is also the size of the lawn, and how far each house is from one another.


Look Development & OSL

For this assignment, we had to add OSL shaders to our house using Python code. This would keep the amount of generated shaders down, and also allow us to change the color of individual pieces with an easy slider. Alongside this step, I changed the color scheme to be more cohesive instead of completely random- with only subtle tweaks to the colors of the houses.



Final Result & Challenges

After scripting out the attributes and OSL shaders, it was only a matter of improving my house model and the final look of my render. For this, I added a sidewalk in front of the house which changed with the unit size. Additionally, I slightly randomized the placement of the trees, creating a less artificial look.

The largest challenge for me during this project was actually assigning OSL shader nodes to an object. It had been something I couldn't wrap my head around, until I spent an entire day attempting it. The class notes I took definitely helped.



Demo

Here is a demonstration of how my code works:


27 views0 comments

Comments


bottom of page