In my continued pursuit of learning Substance Designer, I decided to bake up some festive Christmas cookies for the holiday season! Done 100% in Designer, and inspired in part by these Halloween Pumpkin Cookies I saw by Ishan Verma. 
Rendered in Marmoset Toolbag 5.
I wanted to practice building more dynamic components in Substance Designer, so the heart of this material is a Christmas Cookie Generator with exposed parameters that lets you create a whole bunch of variations of four basic cookie shapes. There are certainly still some "hard-coded" aspects, like the cookie shapes and how each shape is specifically decorated, but I really enjoyed trying to abstract pieces out into reusable, parameterized chunks!
Here are just some of the possible cookies this generator can bake up!
Part of my Christmas Cookie Generator lets you swap between a sugar cookie base and a gingerbread base. I also introduced a "doneness" parameter that affects how long the cookie was in the oven, ranging from paler and round to a flatter, golden-edge, cracked cookie.
Additionally, the Candy Cane and Tree shapes have different mask options for the sprinkles, so if you don't want sprinkles everywhere, they can only be in some of the sections.
Here's a closer look at what options are available for users to edit for each cookie shape. 
And finally, a quick overview of the main Christmas Cookie Generator subgraph. Essentially, I create my four shape masks and feed the currently selected one into my Sugar Cookie and Gingerbread Generators, using a material switch node to get the correct one. Then I feed the base cookie material attributes into four different "Decorator" subgraphs, which adds the shape-specific frosting and details to each cookie. These Decorators also include a Sprinkle Generator that can switch between the jimmies or the sugar sprinkles. The same Sprinkle Generator is used in all four Decorators. 
To get the final material with all four cookies, I used Tile Generators to lay out a bunch of instances of this generator and created the wood material underneath it.
This was such a fun, festive little project! As I continue to explore new nodes and methods in Designer, I love how it create opportunities to problem solve and think more like a programmer. I plan to keep growing, learning, and progressing in this material medium!
Back to Top