Skip to content

joycecheen/final-project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

Joyce Chen and Katherine Li Final Project!

Project planning: Design Doc

Design Doc

https://docs.google.com/document/d/1waQ40CT8vVwmg2EtrsiP1IPtTGzJkQFuOkwuBFhcMmw/edit?usp=sharing

Introduction

  • What motivates your project?

Food 🙂

Goal

  • Develop a procedural generator in Houdini that creates 3D bento boxes with randomized layouts and food items.

Inspiration/reference:

image image

Specification:

A generator that creates randomized layouts for bento boxes, with ability to specify number of compartments, etc. Procedural models of food items such as rice, vegetables, sushi, fruits, and garnishes. Variability in food arrangement and bento box to give each bento box a unique appearance.

Design:

Screenshot 2024-12-04 at 10 16 04 AM

Milestone 1:

We first started by following the box stacking workflow from the buildings homework

Screen.Recording.2024-11-12.at.10.36.30.PM.mov

We then made our procedurally generated partitions using the Lot Subdivision node. We had a lot of issues with getting only the inside edges (partitions) to show up, but we ended up figuring it out by creating a bounding box-ish around the border to group the outside points, converted them into edges, and used group combine to only select the inner edges.

From before it was working fully:

Screen.Recording.2024-11-12.at.11.58.22.PM.mov

Then we started inserting our food assets as basic boxes into the partitions. We sorted the partition areas and placed the rice in the biggest and the salad in the smallest. We are still in the process of placing our sashimi and roll assets, which we plan to do by modifying the building homework.

Screen.Recording.2024-11-13.at.11.51.37.PM.mov

Some things we want to fix in future milestones:

  • Add handles on the sides
  • Bevel the bottom
  • Bigger bento = more partitions
  • Fix divisions visible on sides
  • Height of partitions not scaling with bento height
  • Additional customizations(no rice/no sushi/etc.)

Enjoy us struggling ft. the world's biggest monitor:

IMG_4898.MOV
Screenshot 2024-11-14 at 12 05 31 AM

Milestone 2:

Creating Rice

Used scatter node to create points, and attribute randomize to randomize the normals, and then copy to points to place individual rice grains.

Filling Largest and Smallest Partitions

Filled largest partition with rice, and smallest partition with soup using mountain node. Screen Recording 2024-12-04 at 10 18 13 AM

Placing the sushi rolls and sashimi:

  • Lots of trial and error with trying to place the roll and sashimi, but we ended up using the Lot Subdivision node again to divide each partition, and then we separated these divisions into their own primitives and iterated through them with a for each loop. Within the loop we used a matchSize node to match either the roll or the sashimi to the size of the division. We randomized which roll or sashimi was placed within the switch node

Milestone 3:

Final Models of Sushi and Sashimi

All modeled within Houdini. Reused rice logic and used Vellum Cloth Solver node for the seaweed to wrap around sashimi. Screen Recording 2024-12-04 at 10 08 06 AM

Screenshot 2024-12-04 at 9 53 58 AM Screenshot 2024-12-04 at 9 54 09 AM Screenshot 2024-12-04 at 9 54 15 AM Screenshot 2024-12-04 at 9 54 24 AM Screenshot 2024-12-04 at 9 54 27 AM Screenshot 2024-12-04 at 9 54 31 AM

Random Coloring of Bento

Used attribute wrangle node to write a function defining color set, generating a single random index and setting points to that color index. Screenshot 2024-12-04 at 10 10 01 AM

Additional Random Toppings

Created toppings for soup and rice. For soup toppings, used a grid to scatter five kinds of toppings at random angles. For rice toppings, created three different toppings to place in center of rice randomly. Screenshot 2024-12-04 at 10 10 32 AM Screenshot 2024-12-04 at 10 10 54 AM Screenshot 2024-12-04 at 10 11 09 AM

Optimizations:

  • Thanks to the critique, we realized the inside of our box shape from before didn’t have any faces because of how we were extruding, so we changed the logic so that the box has thickness
  • Added outer box and handles and beveled the bottom to match our reference images better
  • Our previous logic for rice was slowing down our file considerably, so we changed it so that we were only generating rice on the top face of the rice box and created a white box directly under so any gaps between rice pieces would still appear white
  • Changed the logic so that the partitions to get the faces that we put the food geometry on are now made from the boolean of bottom face and the inner partitions so they’re exactly the same
  • The density of the rice scales with the dimensions of the bento box so that it doesn’t become too sparse when the box is larger
  • Rotated each sashimi piece so that its longest edge aligned with the longest edge of the sashimi box

We then prepared for our final output by adding a camera and lighting (area light, ambient light, and sky light) to match our reference images as closely as possible.

Finally, we rendered our final images using Mantra!

References:

Final Renders:

untitled0001 untitled30001 untitled20001 untitled50001

Closing Thoughts:

Overall, we think the project went well! There was a lot of back and forth where we were trying different ways to implement parts, especially like when we were trying to get the inner edges of the lot subdivision to show up for the partitions, but that just meant we got to familiarize ourselves with more of Houdini’s functionalities! Shoutout Simon Houdini.

Did you accomplish your goals? Did you have to pivot?

  • Accomplished our goal of a bento box generator
  • Although we wanted our final product to be an animation originally, we struggled with figuring out what exactly to animate, so we chose to render stills instead, but we're still happy with this output!
  • Things we could add in future: textures, more user control over bento box customization (choose which sushi goes where, etc.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors